@limetech/n8n-nodes-lime 0.5.0 → 2.3.1-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 +3 -1
- package/.github/workflows/release.yml +2 -49
- package/.github/workflows/test-and-build.yml +1 -1
- package/.releaserc.json +2 -1
- package/CHANGELOG.md +122 -0
- 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/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 +81 -11
- package/nodes/lime-crm/LimeCrmTrigger.node.ts +70 -30
- package/nodes/lime-crm/index.ts +9 -0
- package/nodes/lime-crm/methods/getLimetypeProperties.ts +51 -8
- package/nodes/lime-crm/methods/getLimetypes.ts +14 -9
- package/nodes/lime-crm/methods/index.ts +1 -1
- 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 +47 -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 +89 -0
- package/nodes/lime-crm/resources/admin/operations/getManyUsers.operation.ts +166 -0
- package/nodes/lime-crm/resources/admin/operations/getSingleUser.operation.ts +113 -0
- package/nodes/lime-crm/resources/admin/operations/index.ts +8 -0
- package/nodes/lime-crm/resources/data/index.ts +68 -31
- package/nodes/lime-crm/resources/data/operations/{createSingleObject.ts → createSingleObject.operation.ts} +82 -26
- package/nodes/lime-crm/resources/data/operations/{deleteSingleObject.ts → deleteSingleObject.operation.ts} +32 -4
- package/nodes/lime-crm/resources/data/operations/{getManyObjects.ts → getManyObjects.operation.ts} +191 -48
- package/nodes/lime-crm/resources/data/operations/{getSingleFile.ts → getSingleFile.operation.ts} +36 -12
- package/nodes/lime-crm/resources/data/operations/{getSingleObject.ts → getSingleObject.operation.ts} +39 -6
- package/nodes/lime-crm/resources/data/operations/index.ts +24 -0
- package/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.ts +55 -17
- package/nodes/lime-crm/resources/metadata/index.ts +56 -16
- package/nodes/lime-crm/resources/metadata/operations/getAllLimetypes.operation.ts +15 -5
- package/nodes/lime-crm/resources/metadata/operations/{getSingleFileMetadata.ts → getSingleFileMetadata.operation.ts} +31 -14
- package/nodes/lime-crm/resources/metadata/operations/{getSingleLimetype.ts → getSingleLimetype.operation.ts} +23 -1
- package/nodes/lime-crm/resources/metadata/operations/index.ts +12 -0
- package/nodes/lime-crm/transport/commons.ts +86 -28
- package/nodes/lime-crm/transport/files.ts +149 -84
- package/nodes/lime-crm/transport/index.ts +35 -17
- package/nodes/lime-crm/transport/limeQuery.ts +42 -6
- package/nodes/lime-crm/transport/limeobjects.ts +102 -179
- package/nodes/lime-crm/transport/limetypes.ts +126 -70
- package/nodes/lime-crm/transport/users.ts +264 -0
- package/nodes/lime-crm/transport/webhooks.ts +96 -37
- package/nodes/lime-crm/{commons → utils}/files.ts +75 -39
- package/nodes/lime-crm/utils/hmac.ts +35 -0
- package/nodes/lime-crm/utils/index.ts +10 -0
- package/nodes/lime-crm/utils/propertyAdapters.ts +75 -0
- package/nodes/lime-crm/utils/webhook.ts +81 -0
- package/nodes/modules.ts +44 -0
- package/nodes/response.ts +16 -0
- package/package.json +18 -27
- package/tests/nodes/lime-crm/utils.spec.ts +238 -0
- package/typedoc.css +9 -0
- package/typedoc.json +19 -0
- package/.dockerignore +0 -1
- package/Dockerfile +0 -21
- 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/tests/fixtures/fortnox.ts +0 -182
- package/tests/transform.spec.ts +0 -187
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IExecuteFunctions,
|
|
3
|
+
INodeProperties,
|
|
4
|
+
NodeOperationError,
|
|
5
|
+
} from 'n8n-workflow';
|
|
6
|
+
|
|
7
|
+
import { User, ADMIN_RESOURCE } from '../../../models';
|
|
8
|
+
import {
|
|
9
|
+
fetchSingleUserById,
|
|
10
|
+
fetchSingleUserByLimeobjectId,
|
|
11
|
+
} from '../../../transport';
|
|
12
|
+
|
|
13
|
+
export const description = {
|
|
14
|
+
name: 'Get single user',
|
|
15
|
+
value: 'getSingleUser',
|
|
16
|
+
description: 'Get a single user data',
|
|
17
|
+
action: 'Get single user',
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Node properties for the "Get Single User" operation.
|
|
22
|
+
*
|
|
23
|
+
* @param {string} id - The ID of the user to retrieve
|
|
24
|
+
*
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export const properties: INodeProperties[] = [
|
|
28
|
+
{
|
|
29
|
+
displayName: 'Get by',
|
|
30
|
+
name: 'source',
|
|
31
|
+
type: 'options',
|
|
32
|
+
required: true,
|
|
33
|
+
placeholder: 'Add Source',
|
|
34
|
+
displayOptions: {
|
|
35
|
+
show: {
|
|
36
|
+
resource: [ADMIN_RESOURCE],
|
|
37
|
+
operation: ['getSingleUser'],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
options: [
|
|
41
|
+
{
|
|
42
|
+
name: 'User ID',
|
|
43
|
+
value: 'byUser',
|
|
44
|
+
description: 'Get user by its ID',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Limeobject ID',
|
|
48
|
+
value: 'byLimeobject',
|
|
49
|
+
description: "Get user by it's related Limeobject ID",
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
default: 'byUser',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
displayName: 'Identifier',
|
|
56
|
+
name: 'identifier',
|
|
57
|
+
type: 'string',
|
|
58
|
+
required: true,
|
|
59
|
+
default: '',
|
|
60
|
+
description: 'The ID of the user or Limeobject to retrieve',
|
|
61
|
+
displayOptions: {
|
|
62
|
+
show: {
|
|
63
|
+
resource: [ADMIN_RESOURCE],
|
|
64
|
+
operation: ['getSingleUser'],
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
displayName: 'Include Coworker',
|
|
70
|
+
name: 'withCoworker',
|
|
71
|
+
type: 'boolean',
|
|
72
|
+
default: '',
|
|
73
|
+
description: 'Whether to include coworker data in the response',
|
|
74
|
+
displayOptions: {
|
|
75
|
+
show: {
|
|
76
|
+
resource: [ADMIN_RESOURCE],
|
|
77
|
+
operation: ['getSingleUser'],
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
];
|
|
82
|
+
/**
|
|
83
|
+
* Execute the "Get Single Object" operation for Lime CRM.
|
|
84
|
+
*
|
|
85
|
+
* @remarks
|
|
86
|
+
* This method retrieves a single Lime CRM user identified by its ID.
|
|
87
|
+
*
|
|
88
|
+
* @param i - The index of the current item in the workflow execution
|
|
89
|
+
*
|
|
90
|
+
* @returns User data.
|
|
91
|
+
*
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
export async function execute(
|
|
95
|
+
this: IExecuteFunctions,
|
|
96
|
+
i: number
|
|
97
|
+
): Promise<User> {
|
|
98
|
+
const source = this.getNodeParameter('source', i) as string;
|
|
99
|
+
const id = this.getNodeParameter('identifier', i) as string;
|
|
100
|
+
const withCoworker = this.getNodeParameter('withCoworker', i) as boolean;
|
|
101
|
+
|
|
102
|
+
if (source == 'byUser') {
|
|
103
|
+
return await fetchSingleUserById(this, id, withCoworker);
|
|
104
|
+
}
|
|
105
|
+
if (source == 'byLimeobject') {
|
|
106
|
+
return await fetchSingleUserByLimeobjectId(this, id, withCoworker);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
throw new NodeOperationError(
|
|
110
|
+
this.getNode(),
|
|
111
|
+
`The source "${source}" is not supported!`
|
|
112
|
+
);
|
|
113
|
+
}
|
|
@@ -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,60 @@ 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
|
+
json: await operations.updateSingleObject.execute.call(this, i),
|
|
91
|
+
};
|
|
61
92
|
}
|
|
62
93
|
case 'deleteSingleObject': {
|
|
63
|
-
await deleteSingleObject.execute.call(this, i);
|
|
64
|
-
return { json: {
|
|
94
|
+
await operations.deleteSingleObject.execute.call(this, i);
|
|
95
|
+
return { json: {} };
|
|
65
96
|
}
|
|
66
97
|
case 'getManyObjects': {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
98
|
+
const result = await operations.getManyObjects.execute.call(
|
|
99
|
+
this,
|
|
100
|
+
i
|
|
101
|
+
);
|
|
102
|
+
return result.map((item) => ({
|
|
103
|
+
json: item,
|
|
104
|
+
}));
|
|
70
105
|
}
|
|
71
106
|
case 'getSingleFile': {
|
|
72
|
-
return await getSingleFile.execute.call(this, i);
|
|
107
|
+
return await operations.getSingleFile.execute.call(this, i);
|
|
73
108
|
}
|
|
74
109
|
}
|
|
75
110
|
|
|
@@ -78,3 +113,5 @@ export async function dataOperations(
|
|
|
78
113
|
`The operation "${operation}" is not supported!`
|
|
79
114
|
);
|
|
80
115
|
}
|
|
116
|
+
|
|
117
|
+
export * from './operations';
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { IDataObject, IExecuteFunctions, INodeProperties } from 'n8n-workflow';
|
|
2
2
|
|
|
3
|
-
import { createLimeobject } from '../../../transport';
|
|
4
|
-
import { DATA_RESOURCE } from '../../../
|
|
3
|
+
import { createLimeobject, getProperties } from '../../../transport';
|
|
4
|
+
import { DATA_RESOURCE, LimetypeProperty } from '../../../models';
|
|
5
5
|
import {
|
|
6
|
-
|
|
6
|
+
adaptProperty,
|
|
7
|
+
getFilePropertiesNames,
|
|
8
|
+
getPropertyType,
|
|
7
9
|
processFileResponse,
|
|
8
10
|
setFileProperties,
|
|
9
|
-
} from '../../../
|
|
11
|
+
} from '../../../utils';
|
|
10
12
|
|
|
13
|
+
/**
|
|
14
|
+
* Description and metadata for the "Create Single Object" operation in Lime CRM.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
11
18
|
export const description = {
|
|
12
19
|
name: 'Create Single Object',
|
|
13
20
|
value: 'createSingleObject',
|
|
@@ -15,6 +22,16 @@ export const description = {
|
|
|
15
22
|
action: 'Create single object',
|
|
16
23
|
};
|
|
17
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Node properties for the "Create Single Object" operation.
|
|
27
|
+
*
|
|
28
|
+
* @param {string} limetype - The type of entity to create
|
|
29
|
+
* @param {'fields' | 'json'} inputMethod - How the user provides object data: 'fields' for form inputs, 'json' for raw JSON
|
|
30
|
+
* @param {Array<{ name: string; value: string }>} properties - Used if inputMethod is 'fields'. List of property name/value pairs to set on the object
|
|
31
|
+
* @param {string} objectJson - Used if inputMethod is 'json'. The full object data in JSON format
|
|
32
|
+
*
|
|
33
|
+
* @public
|
|
34
|
+
*/
|
|
18
35
|
export const properties: INodeProperties[] = [
|
|
19
36
|
{
|
|
20
37
|
displayName: 'Limetype',
|
|
@@ -83,7 +100,7 @@ export const properties: INodeProperties[] = [
|
|
|
83
100
|
type: 'options',
|
|
84
101
|
typeOptions: {
|
|
85
102
|
sortable: true,
|
|
86
|
-
loadOptionsMethod: '
|
|
103
|
+
loadOptionsMethod: 'getNoHasManyProperties',
|
|
87
104
|
loadOptionsDependsOn: ['limetype'],
|
|
88
105
|
},
|
|
89
106
|
default: '',
|
|
@@ -119,35 +136,76 @@ export const properties: INodeProperties[] = [
|
|
|
119
136
|
},
|
|
120
137
|
];
|
|
121
138
|
|
|
139
|
+
/**
|
|
140
|
+
*
|
|
141
|
+
* @param context - Node execution context
|
|
142
|
+
* @param i - The index of the current item in the workflow execution
|
|
143
|
+
* @param properties - List of {@link LimeTypeProperty} fetched from Lime CRM
|
|
144
|
+
* @returns IDataObject - parsed data from Simple Fields mode
|
|
145
|
+
*/
|
|
146
|
+
function parseSimpleFieldsData(
|
|
147
|
+
context: IExecuteFunctions,
|
|
148
|
+
i: number,
|
|
149
|
+
properties: LimetypeProperty[]
|
|
150
|
+
): IDataObject {
|
|
151
|
+
const objectData: IDataObject = {};
|
|
152
|
+
const propertiesInput = context.getNodeParameter(
|
|
153
|
+
'properties.property',
|
|
154
|
+
i,
|
|
155
|
+
[]
|
|
156
|
+
) as IDataObject[];
|
|
157
|
+
|
|
158
|
+
if (propertiesInput && propertiesInput.length > 0) {
|
|
159
|
+
for (const prop of propertiesInput) {
|
|
160
|
+
if (prop.name && prop.value !== undefined) {
|
|
161
|
+
const propertyName = prop.name as string;
|
|
162
|
+
objectData[propertyName] = adaptProperty(
|
|
163
|
+
prop.value as string,
|
|
164
|
+
getPropertyType(propertyName, properties)
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return objectData;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Execute the "Create Single Object" operation for Lime CRM.
|
|
174
|
+
*
|
|
175
|
+
* @param i - The index of the current item in the workflow execution
|
|
176
|
+
* @remarks
|
|
177
|
+
* This method handles creating a single Lime CRM object. It supports two input methods:
|
|
178
|
+
* - `fields`: where the user provides property values via form fields.
|
|
179
|
+
* - `json`: where the user provides a full JSON object representing the entity.
|
|
180
|
+
*
|
|
181
|
+
* The method performs the following steps:
|
|
182
|
+
* 1. Reads the limetype and input method from node parameters.
|
|
183
|
+
* 2. Parses input data according to the selected input method.
|
|
184
|
+
* 3. Resolves any file properties present in the object and sets the file properties on the object.
|
|
185
|
+
* 4. Sends a request to the Lime API to create the object.
|
|
186
|
+
* 5. Processes any returned file data and formats the response.
|
|
187
|
+
*
|
|
188
|
+
* @returns The newly created Lime object.
|
|
189
|
+
*
|
|
190
|
+
* @public
|
|
191
|
+
*/
|
|
122
192
|
export async function execute(this: IExecuteFunctions, i: number) {
|
|
123
193
|
const limetype = this.getNodeParameter('limetype', i) as string;
|
|
124
194
|
const inputMethod = this.getNodeParameter('inputMethod', i) as string;
|
|
125
195
|
|
|
126
196
|
let objectData: IDataObject;
|
|
127
197
|
|
|
198
|
+
const properties = await getProperties(this, limetype);
|
|
199
|
+
|
|
128
200
|
if (inputMethod === 'json') {
|
|
129
201
|
const jsonInput = this.getNodeParameter('objectJson', i) as string;
|
|
130
202
|
objectData = JSON.parse(jsonInput);
|
|
131
203
|
} else {
|
|
132
|
-
objectData =
|
|
133
|
-
const propertiesInput = this.getNodeParameter(
|
|
134
|
-
'properties.property',
|
|
135
|
-
i,
|
|
136
|
-
[]
|
|
137
|
-
) as IDataObject[];
|
|
138
|
-
|
|
139
|
-
if (propertiesInput && propertiesInput.length > 0) {
|
|
140
|
-
for (const prop of propertiesInput) {
|
|
141
|
-
if (prop.name && prop.value !== undefined) {
|
|
142
|
-
objectData[prop.name as string] = prop.value;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
204
|
+
objectData = parseSimpleFieldsData(this, i, properties);
|
|
146
205
|
}
|
|
147
206
|
|
|
148
|
-
const fileProperties =
|
|
149
|
-
|
|
150
|
-
limetype,
|
|
207
|
+
const fileProperties = getFilePropertiesNames(
|
|
208
|
+
properties,
|
|
151
209
|
new Set(Object.keys(objectData))
|
|
152
210
|
);
|
|
153
211
|
|
|
@@ -157,19 +215,17 @@ export async function execute(this: IExecuteFunctions, i: number) {
|
|
|
157
215
|
fileProperties,
|
|
158
216
|
objectData
|
|
159
217
|
);
|
|
160
|
-
if (!setFilePropertiesResponse.success) return setFilePropertiesResponse;
|
|
161
218
|
|
|
162
219
|
const createLimeobjectResponse = await createLimeobject(
|
|
163
220
|
this,
|
|
164
221
|
limetype,
|
|
165
|
-
setFilePropertiesResponse
|
|
222
|
+
setFilePropertiesResponse
|
|
166
223
|
);
|
|
167
|
-
if (!createLimeobjectResponse.success) return createLimeobjectResponse;
|
|
168
224
|
|
|
169
225
|
const response = await processFileResponse(
|
|
170
226
|
this,
|
|
171
227
|
fileProperties,
|
|
172
|
-
createLimeobjectResponse
|
|
228
|
+
createLimeobjectResponse
|
|
173
229
|
);
|
|
174
230
|
return response.json;
|
|
175
231
|
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { IExecuteFunctions, INodeProperties } from 'n8n-workflow';
|
|
2
2
|
|
|
3
3
|
import { deleteLimeobject } from '../../../transport';
|
|
4
|
-
import { DATA_RESOURCE } from '../../../
|
|
4
|
+
import { DATA_RESOURCE } from '../../../models';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Description and metadata for the "Delete Single Object" operation in Lime CRM.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
6
11
|
export const description = {
|
|
7
12
|
name: 'Delete Single Object',
|
|
8
13
|
value: 'deleteSingleObject',
|
|
@@ -10,8 +15,16 @@ export const description = {
|
|
|
10
15
|
action: 'Delete single object',
|
|
11
16
|
};
|
|
12
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Node properties for the "Delete Single Object" operation.
|
|
20
|
+
*
|
|
21
|
+
*
|
|
22
|
+
* @param {string} limetype - The type of entity to delete. Loaded from available Limetypes
|
|
23
|
+
* @param {string} objectId - The ID of the object to delete
|
|
24
|
+
*
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
13
27
|
export const properties: INodeProperties[] = [
|
|
14
|
-
// Limetype selection
|
|
15
28
|
{
|
|
16
29
|
displayName: 'Limetype',
|
|
17
30
|
name: 'limetype',
|
|
@@ -29,8 +42,6 @@ export const properties: INodeProperties[] = [
|
|
|
29
42
|
},
|
|
30
43
|
},
|
|
31
44
|
},
|
|
32
|
-
|
|
33
|
-
// Object ID
|
|
34
45
|
{
|
|
35
46
|
displayName: 'Object ID',
|
|
36
47
|
name: 'objectId',
|
|
@@ -47,6 +58,23 @@ export const properties: INodeProperties[] = [
|
|
|
47
58
|
},
|
|
48
59
|
];
|
|
49
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Execute the "Delete Single Object" operation for Lime CRM.
|
|
63
|
+
*
|
|
64
|
+
* @remarks
|
|
65
|
+
* This operation deletes a single Lime CRM object identified by its object ID.
|
|
66
|
+
* The object type is determined by the selected limetype.
|
|
67
|
+
*
|
|
68
|
+
* The method performs the following steps:
|
|
69
|
+
* 1. Retrieves the `limetype` and `objectId` from {@link properties}.
|
|
70
|
+
* 2. Calls the {@link deleteLimeobject} function to delete the object from Lime CRM.
|
|
71
|
+
*
|
|
72
|
+
* @param i - The index of the current item in the workflow execution
|
|
73
|
+
*
|
|
74
|
+
* @returns The response from the Lime API after attempting deletion.
|
|
75
|
+
*
|
|
76
|
+
* @public
|
|
77
|
+
*/
|
|
50
78
|
export async function execute(this: IExecuteFunctions, i: number) {
|
|
51
79
|
const limetype = this.getNodeParameter('limetype', i) as string;
|
|
52
80
|
const objectId = this.getNodeParameter('objectId', i) as string;
|