@limetech/n8n-nodes-lime 0.5.0 → 2.5.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/lint.yml +4 -2
- package/.github/workflows/release.yml +8 -41
- package/.github/workflows/test-and-build.yml +1 -16
- package/.releaserc.json +2 -1
- package/CHANGELOG.md +155 -0
- package/Dockerfile +0 -21
- package/README.md +1 -1
- package/credentials/LimeCrmApi.credentials.ts +38 -1
- package/credentials/index.ts +2 -0
- package/eslint.config.mjs +2 -1
- package/knip.json +9 -0
- package/nodes/errorHandling.ts +60 -0
- package/nodes/fortnox/index.ts +6 -0
- package/nodes/fortnox/resources/customers/index.ts +18 -22
- package/nodes/fortnox/resources/customers/operations/create.operation.ts +12 -8
- package/nodes/fortnox/resources/customers/operations/delete.operation.ts +10 -15
- package/nodes/fortnox/resources/customers/operations/get.operation.ts +10 -15
- package/nodes/fortnox/resources/customers/operations/getAll.operation.ts +1 -2
- package/nodes/fortnox/resources/customers/operations/index.ts +5 -0
- package/nodes/fortnox/resources/customers/operations/update.operation.ts +30 -30
- package/nodes/fortnox/resources/invoice/index.ts +16 -18
- package/nodes/fortnox/resources/invoice/model.ts +0 -4
- package/nodes/fortnox/resources/invoice/operations/create.operation.ts +1 -2
- package/nodes/fortnox/resources/invoice/operations/get.operation.ts +10 -15
- package/nodes/fortnox/resources/invoice/operations/getAll.operation.ts +1 -2
- package/nodes/fortnox/resources/invoice/operations/index.ts +4 -0
- package/nodes/fortnox/resources/invoice/operations/update.operation.ts +11 -16
- package/nodes/fortnox/transport/index.ts +14 -11
- package/nodes/index.ts +4 -0
- package/nodes/lime-crm/LimeCrmNode.node.ts +89 -11
- package/nodes/lime-crm/LimeCrmTrigger.node.ts +75 -21
- package/nodes/lime-crm/index.ts +9 -0
- package/nodes/lime-crm/methods/getLimetypeProperties.ts +53 -8
- package/nodes/lime-crm/methods/getLimetypes.ts +15 -9
- package/nodes/lime-crm/methods/index.ts +6 -1
- package/nodes/lime-crm/methods/resourceMapping.ts +141 -0
- package/nodes/lime-crm/models/constants.ts +73 -0
- package/nodes/lime-crm/models/index.ts +21 -0
- package/nodes/lime-crm/models/limeobject.ts +13 -0
- package/nodes/lime-crm/models/limetype.ts +65 -0
- package/nodes/lime-crm/models/propertyTypes.ts +13 -0
- package/nodes/lime-crm/models/users.ts +46 -0
- package/nodes/lime-crm/models/webhook.ts +61 -0
- package/nodes/lime-crm/resources/admin/index.ts +94 -0
- package/nodes/lime-crm/resources/admin/operations/getManyUsers.operation.ts +174 -0
- package/nodes/lime-crm/resources/admin/operations/getSingleUser.operation.ts +112 -0
- package/nodes/lime-crm/resources/admin/operations/index.ts +8 -0
- package/nodes/lime-crm/resources/data/index.ts +77 -31
- package/nodes/lime-crm/resources/data/operations/{createSingleObject.ts → createSingleObject.operation.ts} +64 -54
- package/nodes/lime-crm/resources/data/operations/{deleteSingleObject.ts → deleteSingleObject.operation.ts} +39 -6
- package/nodes/lime-crm/resources/data/operations/{getManyObjects.ts → getManyObjects.operation.ts} +195 -48
- package/nodes/lime-crm/resources/data/operations/{getSingleFile.ts → getSingleFile.operation.ts} +47 -11
- package/nodes/lime-crm/resources/data/operations/{getSingleObject.ts → getSingleObject.operation.ts} +50 -8
- package/nodes/lime-crm/resources/data/operations/index.ts +24 -0
- package/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.ts +83 -61
- package/nodes/lime-crm/resources/metadata/index.ts +60 -16
- package/nodes/lime-crm/resources/metadata/operations/getAllLimetypes.operation.ts +18 -4
- package/nodes/lime-crm/resources/metadata/operations/{getSingleFileMetadata.ts → getSingleFileMetadata.operation.ts} +46 -26
- package/nodes/lime-crm/resources/metadata/operations/{getSingleLimetype.ts → getSingleLimetype.operation.ts} +30 -3
- package/nodes/lime-crm/resources/metadata/operations/index.ts +12 -0
- package/nodes/lime-crm/transport/commons.ts +90 -18
- package/nodes/lime-crm/transport/files.ts +161 -71
- package/nodes/lime-crm/transport/index.ts +35 -17
- package/nodes/lime-crm/transport/limeQuery.ts +43 -7
- package/nodes/lime-crm/transport/limeobjects.ts +113 -178
- package/nodes/lime-crm/transport/limetypes.ts +125 -48
- package/nodes/lime-crm/transport/users.ts +300 -0
- package/nodes/lime-crm/transport/webhooks.ts +97 -37
- package/nodes/lime-crm/{commons → utils}/files.ts +79 -26
- package/nodes/lime-crm/utils/hmac.ts +35 -0
- package/nodes/lime-crm/utils/index.ts +10 -0
- package/nodes/lime-crm/utils/webhook.ts +81 -0
- package/nodes/modules.ts +44 -0
- package/nodes/response.ts +54 -0
- package/package.json +21 -28
- package/tests/nodes/lime-crm/methods.spec.ts +91 -0
- package/tests/nodes/lime-crm/utils.spec.ts +273 -0
- package/typedoc.css +9 -0
- package/typedoc.json +19 -0
- package/.dockerignore +0 -1
- package/dist/credentials/FortnoxApi.credentials.d.ts +0 -9
- package/dist/credentials/FortnoxApi.credentials.js +0 -57
- package/dist/credentials/FortnoxApi.credentials.js.map +0 -1
- package/dist/credentials/LimeCrmApi.credentials.d.ts +0 -9
- package/dist/credentials/LimeCrmApi.credentials.js +0 -66
- package/dist/credentials/LimeCrmApi.credentials.js.map +0 -1
- package/dist/nodes/fortnox/Fortnox.node.d.ts +0 -5
- package/dist/nodes/fortnox/Fortnox.node.js +0 -95
- package/dist/nodes/fortnox/Fortnox.node.js.map +0 -1
- package/dist/nodes/fortnox/Fortnox.node.json +0 -18
- package/dist/nodes/fortnox/FortnoxTrigger.node.d.ts +0 -5
- package/dist/nodes/fortnox/FortnoxTrigger.node.js +0 -155
- package/dist/nodes/fortnox/FortnoxTrigger.node.js.map +0 -1
- package/dist/nodes/fortnox/FortnoxTrigger.node.json +0 -18
- package/dist/nodes/fortnox/commons.d.ts +0 -25
- package/dist/nodes/fortnox/commons.js +0 -44
- package/dist/nodes/fortnox/commons.js.map +0 -1
- package/dist/nodes/fortnox/fortnoxLogo.svg +0 -15
- package/dist/nodes/fortnox/model.d.ts +0 -20
- package/dist/nodes/fortnox/model.js +0 -3
- package/dist/nodes/fortnox/model.js.map +0 -1
- package/dist/nodes/fortnox/resources/customers/filterParameters.d.ts +0 -2
- package/dist/nodes/fortnox/resources/customers/filterParameters.js +0 -31
- package/dist/nodes/fortnox/resources/customers/filterParameters.js.map +0 -1
- package/dist/nodes/fortnox/resources/customers/index.d.ts +0 -20
- package/dist/nodes/fortnox/resources/customers/index.js +0 -87
- package/dist/nodes/fortnox/resources/customers/index.js.map +0 -1
- package/dist/nodes/fortnox/resources/customers/model.d.ts +0 -99
- package/dist/nodes/fortnox/resources/customers/model.js +0 -3
- package/dist/nodes/fortnox/resources/customers/model.js.map +0 -1
- package/dist/nodes/fortnox/resources/customers/operations/create.operation.d.ts +0 -12
- package/dist/nodes/fortnox/resources/customers/operations/create.operation.js +0 -283
- package/dist/nodes/fortnox/resources/customers/operations/create.operation.js.map +0 -1
- package/dist/nodes/fortnox/resources/customers/operations/delete.operation.d.ts +0 -10
- package/dist/nodes/fortnox/resources/customers/operations/delete.operation.js +0 -45
- package/dist/nodes/fortnox/resources/customers/operations/delete.operation.js.map +0 -1
- package/dist/nodes/fortnox/resources/customers/operations/get.operation.d.ts +0 -11
- package/dist/nodes/fortnox/resources/customers/operations/get.operation.js +0 -45
- package/dist/nodes/fortnox/resources/customers/operations/get.operation.js.map +0 -1
- package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.d.ts +0 -11
- package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.js +0 -68
- package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.js.map +0 -1
- package/dist/nodes/fortnox/resources/customers/operations/update.operation.d.ts +0 -12
- package/dist/nodes/fortnox/resources/customers/operations/update.operation.js +0 -276
- package/dist/nodes/fortnox/resources/customers/operations/update.operation.js.map +0 -1
- package/dist/nodes/fortnox/resources/customers/sortParameters.d.ts +0 -2
- package/dist/nodes/fortnox/resources/customers/sortParameters.js +0 -30
- package/dist/nodes/fortnox/resources/customers/sortParameters.js.map +0 -1
- package/dist/nodes/fortnox/resources/invoice/filterParameters.d.ts +0 -2
- package/dist/nodes/fortnox/resources/invoice/filterParameters.js +0 -72
- package/dist/nodes/fortnox/resources/invoice/filterParameters.js.map +0 -1
- package/dist/nodes/fortnox/resources/invoice/index.d.ts +0 -20
- package/dist/nodes/fortnox/resources/invoice/index.js +0 -81
- package/dist/nodes/fortnox/resources/invoice/index.js.map +0 -1
- package/dist/nodes/fortnox/resources/invoice/invoiceParameters.d.ts +0 -2
- package/dist/nodes/fortnox/resources/invoice/invoiceParameters.js +0 -193
- package/dist/nodes/fortnox/resources/invoice/invoiceParameters.js.map +0 -1
- package/dist/nodes/fortnox/resources/invoice/model.d.ts +0 -150
- package/dist/nodes/fortnox/resources/invoice/model.js +0 -3
- package/dist/nodes/fortnox/resources/invoice/model.js.map +0 -1
- package/dist/nodes/fortnox/resources/invoice/operations/create.operation.d.ts +0 -11
- package/dist/nodes/fortnox/resources/invoice/operations/create.operation.js +0 -64
- package/dist/nodes/fortnox/resources/invoice/operations/create.operation.js.map +0 -1
- package/dist/nodes/fortnox/resources/invoice/operations/get.operation.d.ts +0 -11
- package/dist/nodes/fortnox/resources/invoice/operations/get.operation.js +0 -44
- package/dist/nodes/fortnox/resources/invoice/operations/get.operation.js.map +0 -1
- package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.d.ts +0 -11
- package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.js +0 -92
- package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.js.map +0 -1
- package/dist/nodes/fortnox/resources/invoice/operations/update.operation.d.ts +0 -11
- package/dist/nodes/fortnox/resources/invoice/operations/update.operation.js +0 -71
- package/dist/nodes/fortnox/resources/invoice/operations/update.operation.js.map +0 -1
- package/dist/nodes/fortnox/transport/errorCodes.d.ts +0 -1
- package/dist/nodes/fortnox/transport/errorCodes.js +0 -50
- package/dist/nodes/fortnox/transport/errorCodes.js.map +0 -1
- package/dist/nodes/fortnox/transport/index.d.ts +0 -4
- package/dist/nodes/fortnox/transport/index.js +0 -77
- package/dist/nodes/fortnox/transport/index.js.map +0 -1
- package/dist/nodes/lime-crm/LimeCrm.node.json +0 -18
- package/dist/nodes/lime-crm/LimeCrmNode.node.d.ts +0 -14
- package/dist/nodes/lime-crm/LimeCrmNode.node.js +0 -126
- package/dist/nodes/lime-crm/LimeCrmNode.node.js.map +0 -1
- package/dist/nodes/lime-crm/LimeCrmTrigger.node.d.ts +0 -18
- package/dist/nodes/lime-crm/LimeCrmTrigger.node.js +0 -215
- package/dist/nodes/lime-crm/LimeCrmTrigger.node.js.map +0 -1
- package/dist/nodes/lime-crm/assets/lime-crm.svg +0 -1
- package/dist/nodes/lime-crm/commons/constants.d.ts +0 -5
- package/dist/nodes/lime-crm/commons/constants.js +0 -9
- package/dist/nodes/lime-crm/commons/constants.js.map +0 -1
- package/dist/nodes/lime-crm/commons/hmac.d.ts +0 -1
- package/dist/nodes/lime-crm/commons/hmac.js +0 -11
- package/dist/nodes/lime-crm/commons/hmac.js.map +0 -1
- package/dist/nodes/lime-crm/commons/index.d.ts +0 -3
- package/dist/nodes/lime-crm/commons/index.js +0 -12
- package/dist/nodes/lime-crm/commons/index.js.map +0 -1
- package/dist/nodes/lime-crm/commons/limetype.d.ts +0 -10
- package/dist/nodes/lime-crm/commons/limetype.js +0 -3
- package/dist/nodes/lime-crm/commons/limetype.js.map +0 -1
- package/dist/nodes/lime-crm/commons/task.d.ts +0 -14
- package/dist/nodes/lime-crm/commons/task.js +0 -48
- package/dist/nodes/lime-crm/commons/task.js.map +0 -1
- package/dist/nodes/lime-crm/commons/webhook.d.ts +0 -20
- package/dist/nodes/lime-crm/commons/webhook.js +0 -30
- package/dist/nodes/lime-crm/commons/webhook.js.map +0 -1
- package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.d.ts +0 -5
- package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.js +0 -11
- package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.js.map +0 -1
- package/dist/nodes/lime-crm/methods/getLimeTypeProperties.d.ts +0 -2
- package/dist/nodes/lime-crm/methods/getLimeTypeProperties.js +0 -20
- package/dist/nodes/lime-crm/methods/getLimeTypeProperties.js.map +0 -1
- package/dist/nodes/lime-crm/methods/getLimeTypes.d.ts +0 -2
- package/dist/nodes/lime-crm/methods/getLimeTypes.js +0 -20
- package/dist/nodes/lime-crm/methods/getLimeTypes.js.map +0 -1
- package/dist/nodes/lime-crm/methods/index.d.ts +0 -3
- package/dist/nodes/lime-crm/methods/index.js +0 -10
- package/dist/nodes/lime-crm/methods/index.js.map +0 -1
- package/dist/nodes/lime-crm/resources/erpConnector/index.d.ts +0 -23
- package/dist/nodes/lime-crm/resources/erpConnector/index.js +0 -67
- package/dist/nodes/lime-crm/resources/erpConnector/index.js.map +0 -1
- package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.d.ts +0 -26
- package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.js +0 -65
- package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.js.map +0 -1
- package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.d.ts +0 -9
- package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.js +0 -220
- package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.js.map +0 -1
- package/dist/nodes/lime-crm/resources/erpConnector/transform.d.ts +0 -15
- package/dist/nodes/lime-crm/resources/erpConnector/transform.js +0 -11
- package/dist/nodes/lime-crm/resources/erpConnector/transform.js.map +0 -1
- package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.d.ts +0 -4
- package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.js +0 -7
- package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.js.map +0 -1
- package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.d.ts +0 -37
- package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.js +0 -124
- package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.js.map +0 -1
- package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.d.ts +0 -1
- package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.js +0 -6
- package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeObject/index.d.ts +0 -14
- package/dist/nodes/lime-crm/resources/limeObject/index.js +0 -88
- package/dist/nodes/lime-crm/resources/limeObject/index.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.d.ts +0 -9
- package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.js +0 -139
- package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.d.ts +0 -9
- package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.js +0 -51
- package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.d.ts +0 -9
- package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.js +0 -103
- package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.d.ts +0 -9
- package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.js +0 -51
- package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.d.ts +0 -9
- package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.js +0 -103
- package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.d.ts +0 -9
- package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.js +0 -149
- package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeQuery/index.d.ts +0 -6
- package/dist/nodes/lime-crm/resources/limeQuery/index.js +0 -66
- package/dist/nodes/lime-crm/resources/limeQuery/index.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.d.ts +0 -9
- package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.js +0 -191
- package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeType/index.d.ts +0 -20
- package/dist/nodes/lime-crm/resources/limeType/index.js +0 -81
- package/dist/nodes/lime-crm/resources/limeType/index.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.d.ts +0 -11
- package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.js +0 -36
- package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.d.ts +0 -9
- package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.js +0 -36
- package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.js.map +0 -1
- package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.d.ts +0 -10
- package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.js +0 -15
- package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.js.map +0 -1
- package/dist/nodes/lime-crm/transport/commons.d.ts +0 -5
- package/dist/nodes/lime-crm/transport/commons.js +0 -33
- package/dist/nodes/lime-crm/transport/commons.js.map +0 -1
- package/dist/nodes/lime-crm/transport/erpConnector.d.ts +0 -9
- package/dist/nodes/lime-crm/transport/erpConnector.js +0 -11
- package/dist/nodes/lime-crm/transport/erpConnector.js.map +0 -1
- package/dist/nodes/lime-crm/transport/index.d.ts +0 -6
- package/dist/nodes/lime-crm/transport/index.js +0 -24
- package/dist/nodes/lime-crm/transport/index.js.map +0 -1
- package/dist/nodes/lime-crm/transport/limeQuery.d.ts +0 -10
- package/dist/nodes/lime-crm/transport/limeQuery.js +0 -15
- package/dist/nodes/lime-crm/transport/limeQuery.js.map +0 -1
- package/dist/nodes/lime-crm/transport/limeobjects.d.ts +0 -7
- package/dist/nodes/lime-crm/transport/limeobjects.js +0 -134
- package/dist/nodes/lime-crm/transport/limeobjects.js.map +0 -1
- package/dist/nodes/lime-crm/transport/limetypes.d.ts +0 -6
- package/dist/nodes/lime-crm/transport/limetypes.js +0 -54
- package/dist/nodes/lime-crm/transport/limetypes.js.map +0 -1
- package/dist/nodes/lime-crm/transport/task.d.ts +0 -13
- package/dist/nodes/lime-crm/transport/task.js +0 -13
- package/dist/nodes/lime-crm/transport/task.js.map +0 -1
- package/dist/nodes/lime-crm/transport/webhooks.d.ts +0 -16
- package/dist/nodes/lime-crm/transport/webhooks.js +0 -43
- package/dist/nodes/lime-crm/transport/webhooks.js.map +0 -1
- package/dist/nodes/nodeResponse.d.ts +0 -12
- package/dist/nodes/nodeResponse.js +0 -3
- package/dist/nodes/nodeResponse.js.map +0 -1
- package/dist/package.json +0 -75
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/docker-compose.yml +0 -52
- package/nodes/lime-crm/commons/constants.ts +0 -9
- package/nodes/lime-crm/commons/hmac.ts +0 -13
- package/nodes/lime-crm/commons/index.ts +0 -10
- package/nodes/lime-crm/commons/task.ts +0 -55
- package/nodes/lime-crm/commons/webhook.ts +0 -68
- package/nodes/lime-crm/methods/getEntitiesForErpSystem.ts +0 -11
- package/nodes/lime-crm/model.ts +0 -22
- package/nodes/lime-crm/resources/erpConnector/index.ts +0 -43
- package/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.ts +0 -69
- package/nodes/lime-crm/resources/erpConnector/operations/transform.operation.ts +0 -274
- package/nodes/lime-crm/resources/erpConnector/transform.ts +0 -49
- package/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.ts +0 -18
- package/nodes/lime-crm/resources/erpConnector/transformers/fortnox.ts +0 -201
- package/nodes/lime-crm/resources/erpConnector/transformers/index.ts +0 -1
- package/nodes/lime-crm/transport/erpConnector.ts +0 -21
- package/nodes/lime-crm/transport/task.ts +0 -32
- package/nodes/nodeResponse.ts +0 -13
- package/restore_script/README +0 -42
- package/restore_script/api_key_download.txt +0 -0
- package/restore_script/api_key_upload.txt +0 -0
- package/restore_script/cli.py +0 -73
- package/restore_script/download.py +0 -73
- package/restore_script/main.py +0 -19
- package/restore_script/poetry.lock +0 -162
- package/restore_script/pyproject.toml +0 -15
- package/restore_script/transfer.py +0 -41
- package/restore_script/upload.py +0 -66
- package/restore_script/utils.py +0 -42
- package/tests/fixtures/fortnox.ts +0 -182
- package/tests/transform.spec.ts +0 -187
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { APIResponseValue } from './constants';
|
|
2
|
+
import { IncludedProperties } from '../transport';
|
|
3
|
+
import { Limeobject } from './limeobject';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Available user login types in Lime CRM
|
|
7
|
+
* @public
|
|
8
|
+
* @group Models
|
|
9
|
+
*/
|
|
10
|
+
type UserLoginType = 'DEFAULT' | 'LIME' | 'LIME_AND_WINDOWS';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Available user types in Lime CRM
|
|
14
|
+
* @public
|
|
15
|
+
* @group Models
|
|
16
|
+
*/
|
|
17
|
+
type UserType =
|
|
18
|
+
| 'STANDARD'
|
|
19
|
+
| 'ADMINISTRATION'
|
|
20
|
+
| 'SERVICE'
|
|
21
|
+
| 'INTEGRATION'
|
|
22
|
+
| 'SYNCHRONIZATION'
|
|
23
|
+
| 'TEST'
|
|
24
|
+
| 'API';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Representation of a user returned by the Lime CRM API.
|
|
28
|
+
*
|
|
29
|
+
* @property id - The unique ID of the user
|
|
30
|
+
* @property username - username, most often email address
|
|
31
|
+
* @property active - flag determining whether user is active
|
|
32
|
+
* @property loginType - user login type from Lime CRM
|
|
33
|
+
* @property userType - user type from Lime CRM
|
|
34
|
+
*
|
|
35
|
+
* @public
|
|
36
|
+
* @group Models
|
|
37
|
+
*/
|
|
38
|
+
type User = {
|
|
39
|
+
id: number;
|
|
40
|
+
username: string;
|
|
41
|
+
active: boolean;
|
|
42
|
+
loginType: UserLoginType;
|
|
43
|
+
userType: UserType;
|
|
44
|
+
} & Record<string, APIResponseValue | IncludedProperties | Limeobject>;
|
|
45
|
+
|
|
46
|
+
export { User, UserType, UserLoginType };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { IDataObject, IHookFunctions, IWebhookFunctions } from 'n8n-workflow';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Available webhook execution contexts in n8n.
|
|
5
|
+
*
|
|
6
|
+
* It can be either IHookFunctions or IWebhookFunctions,
|
|
7
|
+
* depending on the lifecycle stage of the node.
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
* @group Models
|
|
11
|
+
*/
|
|
12
|
+
export type WebhookFunctions = IHookFunctions | IWebhookFunctions;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Contextual information about a webhook, including its node and workflow details.
|
|
16
|
+
*
|
|
17
|
+
* @property nodeId - The unique identifier of the node
|
|
18
|
+
* @property nodeName - The name of the node (optional)
|
|
19
|
+
* @property workflowId - The unique identifier of the workflow (optional)
|
|
20
|
+
* @property workflowName - The name of the workflow (optional)
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
* @group Models
|
|
24
|
+
*/
|
|
25
|
+
export interface WebhookContext {
|
|
26
|
+
nodeId: string;
|
|
27
|
+
nodeName?: string;
|
|
28
|
+
workflowId?: string;
|
|
29
|
+
workflowName?: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Represent a webhook object.
|
|
34
|
+
*
|
|
35
|
+
* @property data - Arbitrary workflow data associated with this webhook
|
|
36
|
+
* @property events - List of events that this webhook is subscribed to
|
|
37
|
+
* @property url - Optional URL of the webhook
|
|
38
|
+
* @property context - Context about the node and workflow that owns the webhook
|
|
39
|
+
* @property name - Name of the webhook
|
|
40
|
+
*
|
|
41
|
+
* @public
|
|
42
|
+
* @group Models
|
|
43
|
+
*/
|
|
44
|
+
export interface Webhook {
|
|
45
|
+
data: IDataObject;
|
|
46
|
+
events: string[];
|
|
47
|
+
url?: string;
|
|
48
|
+
context: WebhookContext;
|
|
49
|
+
name: string;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Extend {@link Webhook} with an optional secret for secure webhooks.
|
|
54
|
+
*
|
|
55
|
+
* @property secret - Optional secret used to verify webhook requests
|
|
56
|
+
* @public
|
|
57
|
+
* @group Models
|
|
58
|
+
*/
|
|
59
|
+
export interface CreateWebhook extends Webhook {
|
|
60
|
+
secret?: string;
|
|
61
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import {
|
|
2
|
+
INodeExecutionData,
|
|
3
|
+
IExecuteFunctions,
|
|
4
|
+
INodeProperties,
|
|
5
|
+
NodePropertyTypes,
|
|
6
|
+
NodeOperationError,
|
|
7
|
+
} from 'n8n-workflow';
|
|
8
|
+
|
|
9
|
+
import * as operations from './operations';
|
|
10
|
+
|
|
11
|
+
import { ADMIN_RESOURCE, User } from '../../models';
|
|
12
|
+
import { N8NOperationModuleHandler } from '../../../modules';
|
|
13
|
+
|
|
14
|
+
const moduleHandler = new N8NOperationModuleHandler([
|
|
15
|
+
operations.getManyUsers,
|
|
16
|
+
operations.getSingleUser,
|
|
17
|
+
]);
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Fields and operations for the **Admin** resource in Lime CRM.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* - These fields are displayed in the n8n node UI when the resource is set to `Admin`.
|
|
24
|
+
* - Each operation corresponds to a CRUD action.
|
|
25
|
+
*
|
|
26
|
+
* @group Resources
|
|
27
|
+
* @public
|
|
28
|
+
*
|
|
29
|
+
* @see {@link getManyUsers} - Operation to retrieve many Lime CRM users' data
|
|
30
|
+
* @see {@link getSingleUser} - Operation to retrieve a single user from Lime CRM
|
|
31
|
+
*/
|
|
32
|
+
export const adminFields: INodeProperties[] = [
|
|
33
|
+
{
|
|
34
|
+
displayName: 'Operation',
|
|
35
|
+
name: 'operation',
|
|
36
|
+
type: 'options' as NodePropertyTypes,
|
|
37
|
+
noDataExpression: true,
|
|
38
|
+
displayOptions: {
|
|
39
|
+
show: {
|
|
40
|
+
resource: [ADMIN_RESOURCE],
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
options: moduleHandler.getDescriptions(),
|
|
44
|
+
default: 'getSingleUser',
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
...moduleHandler.getProperties(),
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Execute a specific **Admin** operation on Lime CRM objects.
|
|
52
|
+
*
|
|
53
|
+
* @param args - Contextual parameters for the operation being executed
|
|
54
|
+
* @param args.operation - The operation to perform (e.g., `getSingleUser`, `getManyUsers`)
|
|
55
|
+
* @param args.i - The index of the input item to process
|
|
56
|
+
*
|
|
57
|
+
* @returns A promise resolving to the n8n object containing the result of the operation.
|
|
58
|
+
*
|
|
59
|
+
* @throws NodeOperationError if the operation is unsupported or fails.
|
|
60
|
+
*
|
|
61
|
+
* @public
|
|
62
|
+
* @group Resources
|
|
63
|
+
*/
|
|
64
|
+
export async function adminOperations(
|
|
65
|
+
this: IExecuteFunctions,
|
|
66
|
+
{ operation, i }: { operation: string; i: number }
|
|
67
|
+
): Promise<INodeExecutionData | INodeExecutionData[]> {
|
|
68
|
+
switch (operation) {
|
|
69
|
+
case 'getManyUsers': {
|
|
70
|
+
const result = await operations.getManyUsers.execute.call(this, i);
|
|
71
|
+
if (Array.isArray(result)) {
|
|
72
|
+
return result.map((item: User) => ({
|
|
73
|
+
json: item,
|
|
74
|
+
}));
|
|
75
|
+
} else {
|
|
76
|
+
return {
|
|
77
|
+
json: result,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
case 'getSingleUser': {
|
|
82
|
+
return {
|
|
83
|
+
json: await operations.getSingleUser.execute.call(this, i),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
throw new NodeOperationError(
|
|
89
|
+
this.getNode(),
|
|
90
|
+
`The operation "${operation}" is not supported!`
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export * from './operations';
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { IExecuteFunctions, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
User,
|
|
5
|
+
UserType,
|
|
6
|
+
ADMIN_RESOURCE,
|
|
7
|
+
NullOptionType,
|
|
8
|
+
DEFAULT_API_OBJECT_LIMIT,
|
|
9
|
+
} from '../../../models';
|
|
10
|
+
import { fetchManyUsers } from '../../../transport';
|
|
11
|
+
import { WorkflowResponse } from '../../../../response';
|
|
12
|
+
|
|
13
|
+
export const description = {
|
|
14
|
+
name: 'Get many users',
|
|
15
|
+
value: 'getManyUsers',
|
|
16
|
+
description: 'Get a list of users in the system',
|
|
17
|
+
action: 'Get many users',
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Node properties for the "Get Many Users" operation.
|
|
22
|
+
*
|
|
23
|
+
* @param {boolean | null} id - Filter only active or inactive users
|
|
24
|
+
* @param {UserType} userType - Filter by User Type
|
|
25
|
+
* @param {number} limit - Set a limit for how many users should the API return
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export const properties: INodeProperties[] = [
|
|
30
|
+
{
|
|
31
|
+
displayName: 'Active',
|
|
32
|
+
name: 'active',
|
|
33
|
+
type: 'options',
|
|
34
|
+
description: 'Filter only active or inactive users',
|
|
35
|
+
default: '',
|
|
36
|
+
displayOptions: {
|
|
37
|
+
show: {
|
|
38
|
+
resource: [ADMIN_RESOURCE],
|
|
39
|
+
operation: ['getManyUsers'],
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
options: [
|
|
43
|
+
{
|
|
44
|
+
name: '',
|
|
45
|
+
value: '',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Active',
|
|
49
|
+
value: true,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'Inactive',
|
|
53
|
+
value: false,
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
displayName: 'User Type',
|
|
59
|
+
name: 'userType',
|
|
60
|
+
type: 'options',
|
|
61
|
+
description: 'Get only selected user types',
|
|
62
|
+
displayOptions: {
|
|
63
|
+
show: {
|
|
64
|
+
resource: [ADMIN_RESOURCE],
|
|
65
|
+
operation: ['getManyUsers'],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
default: '',
|
|
69
|
+
options: [
|
|
70
|
+
{
|
|
71
|
+
name: '',
|
|
72
|
+
value: '',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Standard',
|
|
76
|
+
value: 'STANDARD',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'Administration',
|
|
80
|
+
value: 'ADMINISTRATION',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: 'Service',
|
|
84
|
+
value: 'SERVICE',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'Integration',
|
|
88
|
+
value: 'INTEGRATION',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: 'Synchronization',
|
|
92
|
+
value: 'SYNCHRONIZATION',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: 'Test',
|
|
96
|
+
value: 'TEST',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'API',
|
|
100
|
+
value: 'API',
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
displayName: 'Limit',
|
|
106
|
+
name: 'limit',
|
|
107
|
+
type: 'number',
|
|
108
|
+
default: DEFAULT_API_OBJECT_LIMIT,
|
|
109
|
+
description: 'The maximum number of records to return',
|
|
110
|
+
displayOptions: {
|
|
111
|
+
show: {
|
|
112
|
+
resource: [ADMIN_RESOURCE],
|
|
113
|
+
operation: ['getManyUsers'],
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
displayName: 'Include Coworker',
|
|
119
|
+
name: 'withCoworker',
|
|
120
|
+
type: 'boolean',
|
|
121
|
+
default: '',
|
|
122
|
+
description: 'Whether to include coworker data in the response',
|
|
123
|
+
displayOptions: {
|
|
124
|
+
show: {
|
|
125
|
+
resource: [ADMIN_RESOURCE],
|
|
126
|
+
operation: ['getManyUsers'],
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
];
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Execute the "Get Many Users" operation for Lime CRM.
|
|
134
|
+
*
|
|
135
|
+
* @remarks
|
|
136
|
+
* This method retrieves many Lime CRM users with properties, if provided.
|
|
137
|
+
*
|
|
138
|
+
* @param i - The index of the current item in the workflow execution
|
|
139
|
+
*
|
|
140
|
+
* @returns User data.
|
|
141
|
+
*
|
|
142
|
+
* @public
|
|
143
|
+
*/
|
|
144
|
+
|
|
145
|
+
export async function execute(
|
|
146
|
+
this: IExecuteFunctions,
|
|
147
|
+
i: number
|
|
148
|
+
): Promise<WorkflowResponse<User[]>> {
|
|
149
|
+
const active = this.getNodeParameter('active', i) as
|
|
150
|
+
| boolean
|
|
151
|
+
| NullOptionType;
|
|
152
|
+
const userType = this.getNodeParameter('userType', i) as
|
|
153
|
+
| UserType
|
|
154
|
+
| NullOptionType;
|
|
155
|
+
const limit =
|
|
156
|
+
(this.getNodeParameter(
|
|
157
|
+
'limit',
|
|
158
|
+
i,
|
|
159
|
+
DEFAULT_API_OBJECT_LIMIT
|
|
160
|
+
) as number) || DEFAULT_API_OBJECT_LIMIT;
|
|
161
|
+
const withCoworker = this.getNodeParameter(
|
|
162
|
+
'withCoworker',
|
|
163
|
+
i,
|
|
164
|
+
false
|
|
165
|
+
) as boolean;
|
|
166
|
+
const response = await fetchManyUsers(
|
|
167
|
+
this,
|
|
168
|
+
active,
|
|
169
|
+
userType,
|
|
170
|
+
limit,
|
|
171
|
+
withCoworker
|
|
172
|
+
);
|
|
173
|
+
return response.data;
|
|
174
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { IExecuteFunctions, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
import { User, ADMIN_RESOURCE } from '../../../models';
|
|
3
|
+
import {
|
|
4
|
+
fetchSingleUserById,
|
|
5
|
+
fetchSingleUserByLimeobjectId,
|
|
6
|
+
} from '../../../transport';
|
|
7
|
+
import { WorkflowResponse, APIResponse } from '../../../../response';
|
|
8
|
+
import { handleWorkflowError } from '../../../../errorHandling';
|
|
9
|
+
|
|
10
|
+
export const description = {
|
|
11
|
+
name: 'Get single user',
|
|
12
|
+
value: 'getSingleUser',
|
|
13
|
+
description: 'Get a single user data',
|
|
14
|
+
action: 'Get single user',
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Node properties for the "Get Single User" operation.
|
|
19
|
+
*
|
|
20
|
+
* @param {string} id - The ID of the user to retrieve
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export const properties: INodeProperties[] = [
|
|
25
|
+
{
|
|
26
|
+
displayName: 'Get by',
|
|
27
|
+
name: 'source',
|
|
28
|
+
type: 'options',
|
|
29
|
+
required: true,
|
|
30
|
+
placeholder: 'Add Source',
|
|
31
|
+
displayOptions: {
|
|
32
|
+
show: {
|
|
33
|
+
resource: [ADMIN_RESOURCE],
|
|
34
|
+
operation: ['getSingleUser'],
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
options: [
|
|
38
|
+
{
|
|
39
|
+
name: 'User ID',
|
|
40
|
+
value: 'byUser',
|
|
41
|
+
description: 'Get user by its ID',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'Limeobject ID',
|
|
45
|
+
value: 'byLimeobject',
|
|
46
|
+
description: "Get user by it's related Limeobject ID",
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
default: 'byUser',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
displayName: 'Identifier',
|
|
53
|
+
name: 'identifier',
|
|
54
|
+
type: 'string',
|
|
55
|
+
required: true,
|
|
56
|
+
default: '',
|
|
57
|
+
description: 'The ID of the user or Limeobject to retrieve',
|
|
58
|
+
displayOptions: {
|
|
59
|
+
show: {
|
|
60
|
+
resource: [ADMIN_RESOURCE],
|
|
61
|
+
operation: ['getSingleUser'],
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
displayName: 'Include Coworker',
|
|
67
|
+
name: 'withCoworker',
|
|
68
|
+
type: 'boolean',
|
|
69
|
+
default: '',
|
|
70
|
+
description: 'Whether to include coworker data in the response',
|
|
71
|
+
displayOptions: {
|
|
72
|
+
show: {
|
|
73
|
+
resource: [ADMIN_RESOURCE],
|
|
74
|
+
operation: ['getSingleUser'],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
/**
|
|
80
|
+
* Execute the "Get Single Object" operation for Lime CRM.
|
|
81
|
+
*
|
|
82
|
+
* @remarks
|
|
83
|
+
* This method retrieves a single Lime CRM user identified by its ID.
|
|
84
|
+
*
|
|
85
|
+
* @param i - The index of the current item in the workflow execution
|
|
86
|
+
*
|
|
87
|
+
* @returns User data.
|
|
88
|
+
*
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
export async function execute(
|
|
92
|
+
this: IExecuteFunctions,
|
|
93
|
+
i: number
|
|
94
|
+
): Promise<WorkflowResponse<User>> {
|
|
95
|
+
const source = this.getNodeParameter('source', i) as string;
|
|
96
|
+
const id = this.getNodeParameter('identifier', i) as string;
|
|
97
|
+
const withCoworker = this.getNodeParameter('withCoworker', i) as boolean;
|
|
98
|
+
|
|
99
|
+
let response: APIResponse<User>;
|
|
100
|
+
|
|
101
|
+
if (source == 'byUser') {
|
|
102
|
+
response = await fetchSingleUserById(this, id, withCoworker);
|
|
103
|
+
} else if (source == 'byLimeobject') {
|
|
104
|
+
response = await fetchSingleUserByLimeobjectId(this, id, withCoworker);
|
|
105
|
+
} else {
|
|
106
|
+
response = handleWorkflowError(this, {
|
|
107
|
+
message: `The source ${source} is not supported!`,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return response.data;
|
|
112
|
+
}
|
|
@@ -6,15 +6,40 @@ import {
|
|
|
6
6
|
NodeOperationError,
|
|
7
7
|
} from 'n8n-workflow';
|
|
8
8
|
|
|
9
|
-
import * as
|
|
10
|
-
import * as getSingleObject from './operations/getSingleObject';
|
|
11
|
-
import * as updateSingleObject from './operations/updateSingleObject.operation';
|
|
12
|
-
import * as deleteSingleObject from './operations/deleteSingleObject';
|
|
13
|
-
import * as getManyObjects from './operations/getManyObjects';
|
|
14
|
-
import * as getSingleFile from './operations/getSingleFile';
|
|
9
|
+
import * as operations from './operations';
|
|
15
10
|
|
|
16
|
-
import { DATA_RESOURCE } from '../../
|
|
11
|
+
import { DATA_RESOURCE } from '../../models';
|
|
12
|
+
import { N8NOperationModuleHandler } from '../../../modules';
|
|
17
13
|
|
|
14
|
+
/**
|
|
15
|
+
* List of modules consisting data operations
|
|
16
|
+
*/
|
|
17
|
+
const moduleHandler = new N8NOperationModuleHandler([
|
|
18
|
+
operations.createSingleObject,
|
|
19
|
+
operations.getSingleObject,
|
|
20
|
+
operations.updateSingleObject,
|
|
21
|
+
operations.deleteSingleObject,
|
|
22
|
+
operations.getManyObjects,
|
|
23
|
+
operations.getSingleFile,
|
|
24
|
+
]);
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Fields and operations for the **Data** resource in Lime CRM.
|
|
28
|
+
*
|
|
29
|
+
* @remarks
|
|
30
|
+
* - These fields are displayed in the n8n node UI when the resource is set to `Data`.
|
|
31
|
+
* - Each operation corresponds to a CRUD action or a file retrieval for Lime objects.
|
|
32
|
+
*
|
|
33
|
+
* @group Resources
|
|
34
|
+
* @public
|
|
35
|
+
*
|
|
36
|
+
* @see {@link createSingleObject} - Operation to create a single Limeobject
|
|
37
|
+
* @see {@link getSingleObject} - Operation to retrieve a single Limeobject by ID
|
|
38
|
+
* @see {@link updateSingleObject} - Operation to update a single Limeobject by ID
|
|
39
|
+
* @see {@link deleteSingleObject} - Operation to delete a single Limeobject by ID
|
|
40
|
+
* @see {@link getManyObjects} - Operation to fetch multiple Limeobjects based on search criteria
|
|
41
|
+
* @see {@link getSingleFile} - Operation to retrieve a single from Lime CRM
|
|
42
|
+
*/
|
|
18
43
|
export const dataFields: INodeProperties[] = [
|
|
19
44
|
{
|
|
20
45
|
displayName: 'Operation',
|
|
@@ -26,50 +51,69 @@ export const dataFields: INodeProperties[] = [
|
|
|
26
51
|
resource: [DATA_RESOURCE],
|
|
27
52
|
},
|
|
28
53
|
},
|
|
29
|
-
options:
|
|
30
|
-
createSingleObject.description,
|
|
31
|
-
getSingleObject.description,
|
|
32
|
-
updateSingleObject.description,
|
|
33
|
-
deleteSingleObject.description,
|
|
34
|
-
getManyObjects.description,
|
|
35
|
-
getSingleFile.description,
|
|
36
|
-
],
|
|
54
|
+
options: moduleHandler.getDescriptions(),
|
|
37
55
|
default: 'fetchMany',
|
|
38
56
|
},
|
|
39
57
|
|
|
40
|
-
...
|
|
41
|
-
...getSingleObject.properties,
|
|
42
|
-
...updateSingleObject.properties,
|
|
43
|
-
...deleteSingleObject.properties,
|
|
44
|
-
...getSingleFile.properties,
|
|
45
|
-
...getManyObjects.properties,
|
|
58
|
+
...moduleHandler.getProperties(),
|
|
46
59
|
];
|
|
47
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Execute a specific **Data** operation on Lime CRM objects.
|
|
63
|
+
*
|
|
64
|
+
* @param args - Contextual parameters for the operation being executed
|
|
65
|
+
* @param args.operation - The operation to perform (e.g., `createSingleObject`, `getManyObjects`)
|
|
66
|
+
* @param args.i - The index of the input item to process
|
|
67
|
+
*
|
|
68
|
+
* @returns A promise resolving to the n8n object containing the result of the operation.
|
|
69
|
+
*
|
|
70
|
+
* @throws NodeOperationError if the operation is unsupported or fails.
|
|
71
|
+
*
|
|
72
|
+
* @public
|
|
73
|
+
* @group Resources
|
|
74
|
+
*/
|
|
48
75
|
export async function dataOperations(
|
|
49
76
|
this: IExecuteFunctions,
|
|
50
77
|
{ operation, i }: { operation: string; i: number }
|
|
51
|
-
): Promise<INodeExecutionData> {
|
|
78
|
+
): Promise<INodeExecutionData | INodeExecutionData[]> {
|
|
52
79
|
switch (operation) {
|
|
53
80
|
case 'createSingleObject': {
|
|
54
|
-
return {
|
|
81
|
+
return {
|
|
82
|
+
json: await operations.createSingleObject.execute.call(this, i),
|
|
83
|
+
};
|
|
55
84
|
}
|
|
56
85
|
case 'getSingleObject': {
|
|
57
|
-
return await getSingleObject.execute.call(this, i);
|
|
86
|
+
return await operations.getSingleObject.execute.call(this, i);
|
|
58
87
|
}
|
|
59
88
|
case 'updateSingleObject': {
|
|
60
|
-
return {
|
|
89
|
+
return {
|
|
90
|
+
...(await operations.updateSingleObject.execute.call(this, i)),
|
|
91
|
+
};
|
|
61
92
|
}
|
|
62
93
|
case 'deleteSingleObject': {
|
|
63
|
-
await deleteSingleObject.execute.call(
|
|
64
|
-
|
|
94
|
+
const response = await operations.deleteSingleObject.execute.call(
|
|
95
|
+
this,
|
|
96
|
+
i
|
|
97
|
+
);
|
|
98
|
+
return { json: response };
|
|
65
99
|
}
|
|
66
100
|
case 'getManyObjects': {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
101
|
+
const result = await operations.getManyObjects.execute.call(
|
|
102
|
+
this,
|
|
103
|
+
i
|
|
104
|
+
);
|
|
105
|
+
if (Array.isArray(result)) {
|
|
106
|
+
return result.map((item) => ({
|
|
107
|
+
json: item,
|
|
108
|
+
}));
|
|
109
|
+
} else {
|
|
110
|
+
return {
|
|
111
|
+
json: result,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
70
114
|
}
|
|
71
115
|
case 'getSingleFile': {
|
|
72
|
-
return await getSingleFile.execute.call(this, i);
|
|
116
|
+
return await operations.getSingleFile.execute.call(this, i);
|
|
73
117
|
}
|
|
74
118
|
}
|
|
75
119
|
|
|
@@ -78,3 +122,5 @@ export async function dataOperations(
|
|
|
78
122
|
`The operation "${operation}" is not supported!`
|
|
79
123
|
);
|
|
80
124
|
}
|
|
125
|
+
|
|
126
|
+
export * from './operations';
|