twinfield
twinfield copied to clipboard
[WIP] Rewrite/Extend all resources
Supersedes all earlier PR's by me. Implements all requested changes in those PR's. Also fixes some other open issues.
Unfortunately, mainly because everything is moved to traits, it is now impossible to separate the changes into different PR's for each resource.
Changes (non exhaustive list, applies to alle resources)
- All fields (including fields that are only used once) moved to traits in the Fields namespace. Re-use traits whenever possible (same exact element name and type in Twinfield API).
- Created Enums for every field with an exhaustive list
- Make a PhpTwinfield object of elements whenever possible (in the same way the office code field is turned into an Office object)
- Implement all DOM attributes from element fields (name, shortname, dimensiontype, locked, inherit etc,)
- Rewrote all ApiConnectors, Mappers and Documents to mimic Transactions
- Added resources (see below)
Component | get() | listAll() | send() | delete() | Mapper |
---|---|---|---|---|---|
Activities | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Articles | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Asset Methods | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Browse Data | :white_check_mark: | :white_check_mark: | |||
Cash and Bank Books | :white_check_mark: | :white_check_mark: | |||
Cost Centers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Countries | :white_check_mark: | :white_check_mark: | |||
Currencies | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Customers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Dimension Groups | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Dimension Types | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Electronic Bank Statements | :white_check_mark: | ||||
Fixed Assets | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
General Ledger Accounts | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Matching | :white_check_mark: | :white_check_mark: | |||
Offices | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||
Paycodes | :white_check_mark: | :white_check_mark: | |||
Projects | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Rates | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Sales Invoices | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Sales Invoice Types | :white_check_mark: | :white_check_mark: | |||
Suppliers | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Transactions | |||||
Bank Transactions | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Cash Transactions | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Journal Transactions | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Purchase Transactions | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Sale Transactions | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | |
Users | :white_check_mark: | :white_check_mark: | :white_check_mark: | ||
User Roles | :white_check_mark: | :white_check_mark: | |||
VAT | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
VAT Groups | :white_check_mark: | :white_check_mark: | |||
VAT Group Countries | :white_check_mark: | :white_check_mark: |
Breaking Changes
- Basically breaks everything because instead of strings in a lot of cases PhpTwinfield Objects or Enums are now expected instead.
To Do
- Document breaking changes