@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
|
@@ -1,17 +1,52 @@
|
|
|
1
1
|
import { callLimeApi, getLimeobject } from '.';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
IExecuteFunctions,
|
|
4
|
+
IBinaryData,
|
|
5
|
+
BINARY_ENCODING,
|
|
6
|
+
NodeOperationError,
|
|
7
|
+
} from 'n8n-workflow';
|
|
4
8
|
import { removeKeys } from './commons';
|
|
5
|
-
import { getFilenameFromHeader, setFilename } from '../
|
|
6
|
-
|
|
9
|
+
import { getFilenameFromHeader, setFilename } from '../utils';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Endpoint path for Lime CRM file API.
|
|
13
|
+
*
|
|
14
|
+
* @internal
|
|
15
|
+
* @group Transport
|
|
16
|
+
*/
|
|
7
17
|
const LIME_FILE_URL = '/api/v1/file/';
|
|
8
18
|
|
|
9
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Response from Lime file API containing HTTP headers and raw file body.
|
|
21
|
+
*
|
|
22
|
+
* @property headers - HTTP headers returned by the API
|
|
23
|
+
* @property body - Raw file body as a Buffer
|
|
24
|
+
*
|
|
25
|
+
* @public
|
|
26
|
+
* @group Transport
|
|
27
|
+
*/
|
|
28
|
+
export interface FileApiResponse {
|
|
10
29
|
headers: Record<string, string | string[] | undefined>;
|
|
11
30
|
body: Buffer;
|
|
12
31
|
}
|
|
13
32
|
|
|
14
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Metadata about a file stored in Lime CRM.
|
|
35
|
+
*
|
|
36
|
+
* @property filename - Name of the file
|
|
37
|
+
* @property id - File ID in Lime CRM
|
|
38
|
+
* @property size - File size in bytes
|
|
39
|
+
* @property content_type - MIME type of the file
|
|
40
|
+
* @property extension - File extension
|
|
41
|
+
* @property created_by - ID of the user who created the file
|
|
42
|
+
* @property locked_by - ID of the user who locked the file
|
|
43
|
+
* @property last_modified - Last modified timestamp
|
|
44
|
+
* @property _links - Optional links returned by Lime API
|
|
45
|
+
*
|
|
46
|
+
* @public
|
|
47
|
+
* @group Transport
|
|
48
|
+
*/
|
|
49
|
+
export type FileMetadata = {
|
|
15
50
|
filename: string;
|
|
16
51
|
id: number;
|
|
17
52
|
size: number;
|
|
@@ -21,135 +56,165 @@ interface FileMetadata {
|
|
|
21
56
|
locked_by: number;
|
|
22
57
|
last_modified: string;
|
|
23
58
|
_links?: { [key: string]: { href: string } };
|
|
24
|
-
}
|
|
25
|
-
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Retrieve metadata for a file by its ID.
|
|
63
|
+
*
|
|
64
|
+
* @param nodeContext - n8n execution context
|
|
65
|
+
* @param id - The ID of the file
|
|
66
|
+
* @returns File metadata
|
|
67
|
+
*
|
|
68
|
+
* @public
|
|
69
|
+
* @group Transport
|
|
70
|
+
*/
|
|
26
71
|
export async function getFileMetadata(
|
|
27
72
|
nodeContext: IExecuteFunctions,
|
|
28
73
|
id: string | number
|
|
29
|
-
): Promise<
|
|
74
|
+
): Promise<FileMetadata> {
|
|
30
75
|
const url = `${LIME_FILE_URL}${id}/`;
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return {
|
|
37
|
-
success: true,
|
|
38
|
-
data: removeKeys(response.data, ['_links']),
|
|
39
|
-
};
|
|
76
|
+
const fileMetadata = await callLimeApi<FileMetadata>(nodeContext, {
|
|
77
|
+
method: 'GET',
|
|
78
|
+
url: url,
|
|
79
|
+
});
|
|
80
|
+
return removeKeys(fileMetadata, ['_links']);
|
|
40
81
|
}
|
|
41
82
|
|
|
83
|
+
/**
|
|
84
|
+
* Retrieve file metadata for a specific property of a Lime object.
|
|
85
|
+
*
|
|
86
|
+
* @param nodeContext - n8n execution context
|
|
87
|
+
* @param limetype - Name of the Limetype
|
|
88
|
+
* @param id - The Lime object ID
|
|
89
|
+
* @param fileTypeProperty - The property name holding the file reference
|
|
90
|
+
* @returns File metadata
|
|
91
|
+
*
|
|
92
|
+
* @public
|
|
93
|
+
* @group Transport
|
|
94
|
+
*/
|
|
42
95
|
export async function getFileMetadataByLimeobject(
|
|
43
96
|
nodeContext: IExecuteFunctions,
|
|
44
97
|
limetype: string,
|
|
45
98
|
id: string,
|
|
46
99
|
fileTypeProperty: string
|
|
47
|
-
): Promise<
|
|
100
|
+
): Promise<FileMetadata> {
|
|
48
101
|
const objectResponse = await getLimeobject(nodeContext, limetype, id);
|
|
49
|
-
|
|
50
|
-
return objectResponse;
|
|
51
|
-
}
|
|
52
|
-
const fileId = objectResponse.data[fileTypeProperty] as string | undefined;
|
|
102
|
+
const fileId = objectResponse[fileTypeProperty] as string | undefined;
|
|
53
103
|
|
|
54
104
|
if (!fileId) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const metadataResponse = await getFileMetadata(nodeContext, fileId);
|
|
62
|
-
if (!metadataResponse.success) {
|
|
63
|
-
return metadataResponse;
|
|
105
|
+
throw new NodeOperationError(
|
|
106
|
+
nodeContext.getNode(),
|
|
107
|
+
'The specified Limeobject does not have an associated file.'
|
|
108
|
+
);
|
|
64
109
|
}
|
|
65
110
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
data: removeKeys(metadataResponse.data, ['_links']),
|
|
69
|
-
};
|
|
111
|
+
const fileMetadata = await getFileMetadata(nodeContext, fileId);
|
|
112
|
+
return removeKeys(fileMetadata, ['_links']);
|
|
70
113
|
}
|
|
71
114
|
|
|
115
|
+
/**
|
|
116
|
+
* Download file content by file ID and prepare binary data for n8n nodes.
|
|
117
|
+
*
|
|
118
|
+
* @param nodeContext - n8n execution context
|
|
119
|
+
* @param id - The ID of the file
|
|
120
|
+
* @returns prepared binary data
|
|
121
|
+
*
|
|
122
|
+
* @public
|
|
123
|
+
* @group Transport
|
|
124
|
+
*/
|
|
72
125
|
export async function getFileContent(
|
|
73
126
|
nodeContext: IExecuteFunctions,
|
|
74
127
|
id: string | number
|
|
75
|
-
): Promise<
|
|
128
|
+
): Promise<IBinaryData> {
|
|
76
129
|
const url = `${LIME_FILE_URL}${id}/contents/`;
|
|
77
130
|
|
|
78
|
-
const response = await callLimeApi<FileApiResponse>(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
{
|
|
131
|
+
const response = await callLimeApi<FileApiResponse>(nodeContext, {
|
|
132
|
+
method: 'GET',
|
|
133
|
+
url: url,
|
|
134
|
+
requestOptions: {
|
|
83
135
|
encoding: null,
|
|
84
136
|
responseType: 'stream',
|
|
85
137
|
resolveWithFullResponse: true,
|
|
86
138
|
},
|
|
87
|
-
false
|
|
88
|
-
);
|
|
89
|
-
if (!response.success) {
|
|
90
|
-
return response;
|
|
91
|
-
}
|
|
139
|
+
json: false,
|
|
140
|
+
});
|
|
92
141
|
|
|
93
|
-
const fileName =
|
|
94
|
-
getFilenameFromHeader(response.data.headers) || `file_${id}`;
|
|
142
|
+
const fileName = getFilenameFromHeader(response.headers) || `file_${id}`;
|
|
95
143
|
const binaryData = await nodeContext.helpers.prepareBinaryData(
|
|
96
|
-
response.
|
|
144
|
+
response.body
|
|
97
145
|
);
|
|
98
146
|
binaryData.fileName = setFilename(binaryData, fileName);
|
|
99
147
|
|
|
100
|
-
return
|
|
101
|
-
success: true,
|
|
102
|
-
data: binaryData,
|
|
103
|
-
};
|
|
148
|
+
return binaryData;
|
|
104
149
|
}
|
|
105
150
|
|
|
151
|
+
/**
|
|
152
|
+
* Download file content for a specific property of a Lime object.
|
|
153
|
+
*
|
|
154
|
+
* @param nodeContext - n8n execution context
|
|
155
|
+
* @param limetype - Name of the Limetype
|
|
156
|
+
* @param id - The Lime object ID
|
|
157
|
+
* @param fileTypeProperty - The property name holding the file reference
|
|
158
|
+
* @returns Prepared binary data
|
|
159
|
+
*
|
|
160
|
+
* @public
|
|
161
|
+
* @group Transport
|
|
162
|
+
*/
|
|
106
163
|
export async function getFileContentByLimetype(
|
|
107
164
|
nodeContext: IExecuteFunctions,
|
|
108
165
|
limetype: string,
|
|
109
166
|
id: string,
|
|
110
167
|
fileTypeProperty: string
|
|
111
|
-
): Promise<
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
return objectResponse;
|
|
115
|
-
}
|
|
116
|
-
const fileId = objectResponse.data[fileTypeProperty] as string | undefined;
|
|
168
|
+
): Promise<IBinaryData> {
|
|
169
|
+
const limeObjectResponse = await getLimeobject(nodeContext, limetype, id);
|
|
170
|
+
const fileId = limeObjectResponse[fileTypeProperty] as string | undefined;
|
|
117
171
|
|
|
118
172
|
if (!fileId) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
173
|
+
throw new NodeOperationError(
|
|
174
|
+
nodeContext.getNode(),
|
|
175
|
+
'The specified Limeobject does not have an associated file.'
|
|
176
|
+
);
|
|
123
177
|
}
|
|
124
178
|
|
|
125
179
|
return await getFileContent(nodeContext, fileId);
|
|
126
180
|
}
|
|
127
181
|
|
|
182
|
+
/**
|
|
183
|
+
* Create a file in Lime CRM using binary data.
|
|
184
|
+
*
|
|
185
|
+
* @param nodeContext - n8n execution context
|
|
186
|
+
* @param binary - The binary data to upload
|
|
187
|
+
* @param fallbackFileName - File name to use if `binary.fileName` is missing
|
|
188
|
+
* @returns Created file metadata
|
|
189
|
+
*
|
|
190
|
+
* @public
|
|
191
|
+
* @group Transport
|
|
192
|
+
*/
|
|
128
193
|
export async function createFile(
|
|
129
194
|
nodeContext: IExecuteFunctions,
|
|
130
195
|
binary: IBinaryData,
|
|
131
196
|
fallbackFileName: string
|
|
132
|
-
): Promise<
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
197
|
+
): Promise<FileMetadata> {
|
|
198
|
+
let response: FileMetadata;
|
|
199
|
+
try {
|
|
200
|
+
response = await callLimeApi<FileMetadata>(nodeContext, {
|
|
201
|
+
method: 'POST',
|
|
202
|
+
url: LIME_FILE_URL,
|
|
203
|
+
requestOptions: {
|
|
204
|
+
body: Buffer.from(binary.data, BINARY_ENCODING),
|
|
205
|
+
headers: {
|
|
206
|
+
'Content-Disposition': `;filename*="UTF-8''${encodeURIComponent(binary.fileName || fallbackFileName)}"`,
|
|
207
|
+
'Content-Type': binary.mimeType,
|
|
208
|
+
},
|
|
142
209
|
},
|
|
143
|
-
}
|
|
144
|
-
)
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
210
|
+
});
|
|
211
|
+
} catch (error) {
|
|
212
|
+
// Remove metadata from the response to reduce its overall size
|
|
213
|
+
throw new NodeOperationError(
|
|
214
|
+
nodeContext.getNode(),
|
|
215
|
+
JSON.parse(error).error
|
|
216
|
+
);
|
|
149
217
|
}
|
|
150
218
|
|
|
151
|
-
return
|
|
152
|
-
success: true,
|
|
153
|
-
data: removeKeys(response.data, ['_links']),
|
|
154
|
-
};
|
|
219
|
+
return removeKeys(response, ['_links']);
|
|
155
220
|
}
|
|
@@ -1,25 +1,43 @@
|
|
|
1
|
+
export { HTTPMethod, callLimeApi, removeKeys } from './commons';
|
|
1
2
|
export {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
FileApiResponse,
|
|
4
|
+
FileMetadata,
|
|
5
|
+
createFile,
|
|
6
|
+
getFileContent,
|
|
7
|
+
getFileContentByLimetype,
|
|
8
|
+
getFileMetadata,
|
|
9
|
+
getFileMetadataByLimeobject,
|
|
10
|
+
} from './files';
|
|
9
11
|
export {
|
|
12
|
+
FetchManyLimeobjectsApiResponse,
|
|
13
|
+
LimeobjectCrmApiResponse,
|
|
10
14
|
createLimeobject,
|
|
11
15
|
deleteLimeobject,
|
|
12
16
|
updateLimeobject,
|
|
13
17
|
getLimeobject,
|
|
14
|
-
fetchManyLimeobjects,
|
|
15
18
|
} from './limeobjects';
|
|
16
|
-
export { startCreateOrUpdateObjectsTask } from './erpConnector';
|
|
17
|
-
export { queryLimeobjects } from './limeQuery';
|
|
18
19
|
export {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
IncludedProperties,
|
|
21
|
+
QueryResponse,
|
|
22
|
+
queryLimeobjects,
|
|
23
|
+
} from './limeQuery';
|
|
24
|
+
export {
|
|
25
|
+
LimetypeCrmApiResponse,
|
|
26
|
+
LimetypePropertiesApiResponse,
|
|
27
|
+
LimetypePropertyApiResponse,
|
|
28
|
+
LimetypesCrmApiResponse,
|
|
29
|
+
getLimetypesFromApi,
|
|
30
|
+
getProperties,
|
|
31
|
+
} from './limetypes';
|
|
32
|
+
export {
|
|
33
|
+
ApiResponseWebhook,
|
|
34
|
+
createSubscription,
|
|
35
|
+
deleteSubscription,
|
|
36
|
+
getSubscription,
|
|
37
|
+
listSubscriptionsWithExistingData,
|
|
38
|
+
} from './webhooks';
|
|
39
|
+
export {
|
|
40
|
+
fetchManyUsers,
|
|
41
|
+
fetchSingleUserById,
|
|
42
|
+
fetchSingleUserByLimeobjectId,
|
|
43
|
+
} from './users';
|
|
@@ -1,26 +1,62 @@
|
|
|
1
1
|
import { IAllExecuteFunctions } from 'n8n-workflow';
|
|
2
|
-
import { NodeResponse } from '../../nodeResponse';
|
|
3
2
|
import { callLimeApi } from './commons';
|
|
3
|
+
import { APIResponsePrimitiveValue } from '../models';
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* Endpoint path for Lime CRM Lime Query API.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
* @group Transport
|
|
10
|
+
*/
|
|
5
11
|
const LIME_QUERY_URL = '/api/v1/query/';
|
|
6
12
|
|
|
7
|
-
|
|
8
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Structure of included properties returned by a query.
|
|
15
|
+
*
|
|
16
|
+
* The properties can themselves contain nested objects, primitive values, or nulls.
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
19
|
+
* @group Transport
|
|
20
|
+
*/
|
|
21
|
+
export interface IncludedProperties {
|
|
22
|
+
[key: string]: IncludedProperties | APIResponsePrimitiveValue;
|
|
9
23
|
}
|
|
10
24
|
|
|
25
|
+
/**
|
|
26
|
+
* The structure of a Lime CRM query API response.
|
|
27
|
+
*
|
|
28
|
+
* @property objects - An array of returned Limeobjects with their properties represented by a {@link IncludedProperties}
|
|
29
|
+
*
|
|
30
|
+
* @public
|
|
31
|
+
* @group Transport
|
|
32
|
+
*/
|
|
11
33
|
export interface QueryResponse {
|
|
12
34
|
objects: IncludedProperties[];
|
|
13
35
|
}
|
|
14
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Execute a Lime CRM query through the API.
|
|
39
|
+
*
|
|
40
|
+
* @param nodeContext - The n8n execution context
|
|
41
|
+
* @param q - The query string to execute
|
|
42
|
+
* @returns Query results
|
|
43
|
+
*
|
|
44
|
+
* @public
|
|
45
|
+
* @group Transport
|
|
46
|
+
*/
|
|
15
47
|
export async function queryLimeobjects(
|
|
16
48
|
nodeContext: IAllExecuteFunctions,
|
|
17
49
|
q: string
|
|
18
|
-
): Promise<
|
|
50
|
+
): Promise<QueryResponse> {
|
|
19
51
|
const queryParameters = {
|
|
20
52
|
q: q,
|
|
21
53
|
};
|
|
22
54
|
|
|
23
|
-
return await callLimeApi(nodeContext,
|
|
24
|
-
|
|
55
|
+
return await callLimeApi(nodeContext, {
|
|
56
|
+
method: 'GET',
|
|
57
|
+
url: LIME_QUERY_URL,
|
|
58
|
+
requestOptions: {
|
|
59
|
+
qs: queryParameters,
|
|
60
|
+
},
|
|
25
61
|
});
|
|
26
62
|
}
|