@klardaten/n8n-nodes-datevconnect 1.0.2 → 1.0.4

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.
Files changed (227) hide show
  1. package/README.md +15 -17
  2. package/dist/credentials/DatevConnectApi.credentials.d.ts +10 -0
  3. package/dist/credentials/DatevConnectApi.credentials.d.ts.map +1 -0
  4. package/dist/credentials/DatevConnectApi.credentials.js +68 -95
  5. package/dist/index.d.ts +13 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/nodes/Accounting/Accounting.config.d.ts +6 -0
  8. package/dist/nodes/Accounting/Accounting.config.d.ts.map +1 -0
  9. package/dist/nodes/Accounting/Accounting.config.js +1373 -0
  10. package/dist/nodes/Accounting/Accounting.node.d.ts +31 -0
  11. package/dist/nodes/Accounting/Accounting.node.d.ts.map +1 -0
  12. package/dist/nodes/Accounting/Accounting.node.js +180 -5153
  13. package/dist/nodes/Accounting/handlers/AccountPostingResourceHandler.d.ts +9 -0
  14. package/dist/nodes/Accounting/handlers/AccountPostingResourceHandler.d.ts.map +1 -0
  15. package/dist/nodes/Accounting/handlers/AccountPostingResourceHandler.js +40 -0
  16. package/dist/nodes/Accounting/handlers/AccountingSequenceResourceHandler.d.ts +15 -0
  17. package/dist/nodes/Accounting/handlers/AccountingSequenceResourceHandler.d.ts.map +1 -0
  18. package/dist/nodes/Accounting/handlers/AccountingSequenceResourceHandler.js +72 -0
  19. package/dist/nodes/Accounting/handlers/AccountingStatisticsResourceHandler.d.ts +15 -0
  20. package/dist/nodes/Accounting/handlers/AccountingStatisticsResourceHandler.d.ts.map +1 -0
  21. package/dist/nodes/Accounting/handlers/AccountingStatisticsResourceHandler.js +38 -0
  22. package/dist/nodes/Accounting/handlers/AccountingSumsAndBalancesResourceHandler.d.ts +16 -0
  23. package/dist/nodes/Accounting/handlers/AccountingSumsAndBalancesResourceHandler.d.ts.map +1 -0
  24. package/dist/nodes/Accounting/handlers/AccountingSumsAndBalancesResourceHandler.js +52 -0
  25. package/dist/nodes/Accounting/handlers/AccountingTransactionKeysResourceHandler.d.ts +16 -0
  26. package/dist/nodes/Accounting/handlers/AccountingTransactionKeysResourceHandler.d.ts.map +1 -0
  27. package/dist/nodes/Accounting/handlers/AccountingTransactionKeysResourceHandler.js +53 -0
  28. package/dist/nodes/Accounting/handlers/AccountsPayableResourceHandler.d.ts +17 -0
  29. package/dist/nodes/Accounting/handlers/AccountsPayableResourceHandler.d.ts.map +1 -0
  30. package/dist/nodes/Accounting/handlers/AccountsPayableResourceHandler.js +67 -0
  31. package/dist/nodes/Accounting/handlers/AccountsReceivableResourceHandler.d.ts +10 -0
  32. package/dist/nodes/Accounting/handlers/AccountsReceivableResourceHandler.d.ts.map +1 -0
  33. package/dist/nodes/Accounting/handlers/AccountsReceivableResourceHandler.js +48 -0
  34. package/dist/nodes/Accounting/handlers/BaseResourceHandler.d.ts +57 -0
  35. package/dist/nodes/Accounting/handlers/BaseResourceHandler.d.ts.map +1 -0
  36. package/dist/nodes/Accounting/handlers/BaseResourceHandler.js +148 -0
  37. package/dist/nodes/Accounting/handlers/BusinessPartnersResourceHandler.d.ts +25 -0
  38. package/dist/nodes/Accounting/handlers/BusinessPartnersResourceHandler.d.ts.map +1 -0
  39. package/dist/nodes/Accounting/handlers/BusinessPartnersResourceHandler.js +207 -0
  40. package/dist/nodes/Accounting/handlers/ClientResourceHandler.d.ts +12 -0
  41. package/dist/nodes/Accounting/handlers/ClientResourceHandler.d.ts.map +1 -0
  42. package/dist/nodes/Accounting/handlers/ClientResourceHandler.js +52 -0
  43. package/dist/nodes/Accounting/handlers/CostCenterPropertiesResourceHandler.d.ts +16 -0
  44. package/dist/nodes/Accounting/handlers/CostCenterPropertiesResourceHandler.d.ts.map +1 -0
  45. package/dist/nodes/Accounting/handlers/CostCenterPropertiesResourceHandler.js +55 -0
  46. package/dist/nodes/Accounting/handlers/CostCentersUnitsResourceHandler.d.ts +16 -0
  47. package/dist/nodes/Accounting/handlers/CostCentersUnitsResourceHandler.d.ts.map +1 -0
  48. package/dist/nodes/Accounting/handlers/CostCentersUnitsResourceHandler.js +55 -0
  49. package/dist/nodes/Accounting/handlers/CostSequencesResourceHandler.d.ts +18 -0
  50. package/dist/nodes/Accounting/handlers/CostSequencesResourceHandler.d.ts.map +1 -0
  51. package/dist/nodes/Accounting/handlers/CostSequencesResourceHandler.js +88 -0
  52. package/dist/nodes/Accounting/handlers/CostSystemsResourceHandler.d.ts +17 -0
  53. package/dist/nodes/Accounting/handlers/CostSystemsResourceHandler.d.ts.map +1 -0
  54. package/dist/nodes/Accounting/handlers/CostSystemsResourceHandler.js +62 -0
  55. package/dist/nodes/Accounting/handlers/FiscalYearResourceHandler.d.ts +9 -0
  56. package/dist/nodes/Accounting/handlers/FiscalYearResourceHandler.d.ts.map +1 -0
  57. package/dist/nodes/Accounting/handlers/FiscalYearResourceHandler.js +49 -0
  58. package/dist/nodes/Accounting/handlers/GeneralLedgerAccountsResourceHandler.d.ts +17 -0
  59. package/dist/nodes/Accounting/handlers/GeneralLedgerAccountsResourceHandler.d.ts.map +1 -0
  60. package/dist/nodes/Accounting/handlers/GeneralLedgerAccountsResourceHandler.js +67 -0
  61. package/dist/nodes/Accounting/handlers/InternalCostServicesResourceHandler.d.ts +15 -0
  62. package/dist/nodes/Accounting/handlers/InternalCostServicesResourceHandler.d.ts.map +1 -0
  63. package/dist/nodes/Accounting/handlers/InternalCostServicesResourceHandler.js +40 -0
  64. package/dist/nodes/Accounting/handlers/PostingProposalsResourceHandler.d.ts +20 -0
  65. package/dist/nodes/Accounting/handlers/PostingProposalsResourceHandler.d.ts.map +1 -0
  66. package/dist/nodes/Accounting/handlers/PostingProposalsResourceHandler.js +98 -0
  67. package/dist/nodes/Accounting/handlers/StocktakingDataResourceHandler.d.ts +14 -0
  68. package/dist/nodes/Accounting/handlers/StocktakingDataResourceHandler.d.ts.map +1 -0
  69. package/dist/nodes/Accounting/handlers/StocktakingDataResourceHandler.js +57 -0
  70. package/dist/nodes/Accounting/handlers/TermsOfPaymentResourceHandler.d.ts +15 -0
  71. package/dist/nodes/Accounting/handlers/TermsOfPaymentResourceHandler.d.ts.map +1 -0
  72. package/dist/nodes/Accounting/handlers/TermsOfPaymentResourceHandler.js +69 -0
  73. package/dist/nodes/Accounting/handlers/VariousAddressesResourceHandler.d.ts +14 -0
  74. package/dist/nodes/Accounting/handlers/VariousAddressesResourceHandler.d.ts.map +1 -0
  75. package/dist/nodes/Accounting/handlers/VariousAddressesResourceHandler.js +56 -0
  76. package/dist/nodes/Accounting/handlers/index.d.ts +22 -0
  77. package/dist/nodes/Accounting/handlers/index.d.ts.map +1 -0
  78. package/dist/nodes/Accounting/handlers/index.js +45 -0
  79. package/dist/nodes/Accounting/types.d.ts +123 -0
  80. package/dist/nodes/Accounting/types.d.ts.map +1 -0
  81. package/dist/nodes/Accounting/types.js +5 -0
  82. package/dist/nodes/DocumentManagement/DocumentManagement.config.d.ts +6 -0
  83. package/dist/nodes/DocumentManagement/DocumentManagement.config.d.ts.map +1 -0
  84. package/dist/nodes/DocumentManagement/DocumentManagement.config.js +598 -0
  85. package/dist/nodes/DocumentManagement/DocumentManagement.node.d.ts +6 -0
  86. package/dist/nodes/DocumentManagement/DocumentManagement.node.d.ts.map +1 -0
  87. package/dist/nodes/DocumentManagement/DocumentManagement.node.js +96 -3513
  88. package/dist/nodes/DocumentManagement/handlers/BaseResourceHandler.d.ts +57 -0
  89. package/dist/nodes/DocumentManagement/handlers/BaseResourceHandler.d.ts.map +1 -0
  90. package/dist/nodes/DocumentManagement/handlers/BaseResourceHandler.js +121 -0
  91. package/dist/nodes/DocumentManagement/handlers/DocumentFileResourceHandler.d.ts +26 -0
  92. package/dist/nodes/DocumentManagement/handlers/DocumentFileResourceHandler.d.ts.map +1 -0
  93. package/dist/nodes/DocumentManagement/handlers/DocumentFileResourceHandler.js +126 -0
  94. package/dist/nodes/DocumentManagement/handlers/DocumentResourceHandler.d.ts +20 -0
  95. package/dist/nodes/DocumentManagement/handlers/DocumentResourceHandler.d.ts.map +1 -0
  96. package/dist/nodes/DocumentManagement/handlers/DocumentResourceHandler.js +184 -0
  97. package/dist/nodes/DocumentManagement/handlers/DocumentStateResourceHandler.d.ts +12 -0
  98. package/dist/nodes/DocumentManagement/handlers/DocumentStateResourceHandler.d.ts.map +1 -0
  99. package/dist/nodes/DocumentManagement/handlers/DocumentStateResourceHandler.js +58 -0
  100. package/dist/nodes/DocumentManagement/handlers/DomainResourceHandler.d.ts +10 -0
  101. package/dist/nodes/DocumentManagement/handlers/DomainResourceHandler.d.ts.map +1 -0
  102. package/dist/nodes/DocumentManagement/handlers/DomainResourceHandler.js +32 -0
  103. package/dist/nodes/DocumentManagement/handlers/IndividualPropertyResourceHandler.d.ts +10 -0
  104. package/dist/nodes/DocumentManagement/handlers/IndividualPropertyResourceHandler.d.ts.map +1 -0
  105. package/dist/nodes/DocumentManagement/handlers/IndividualPropertyResourceHandler.js +32 -0
  106. package/dist/nodes/DocumentManagement/handlers/IndividualReference1ResourceHandler.d.ts +11 -0
  107. package/dist/nodes/DocumentManagement/handlers/IndividualReference1ResourceHandler.d.ts.map +1 -0
  108. package/dist/nodes/DocumentManagement/handlers/IndividualReference1ResourceHandler.js +49 -0
  109. package/dist/nodes/DocumentManagement/handlers/IndividualReference2ResourceHandler.d.ts +11 -0
  110. package/dist/nodes/DocumentManagement/handlers/IndividualReference2ResourceHandler.d.ts.map +1 -0
  111. package/dist/nodes/DocumentManagement/handlers/IndividualReference2ResourceHandler.js +49 -0
  112. package/dist/nodes/DocumentManagement/handlers/InfoResourceHandler.d.ts +10 -0
  113. package/dist/nodes/DocumentManagement/handlers/InfoResourceHandler.d.ts.map +1 -0
  114. package/dist/nodes/DocumentManagement/handlers/InfoResourceHandler.js +30 -0
  115. package/dist/nodes/DocumentManagement/handlers/PropertyTemplateResourceHandler.d.ts +10 -0
  116. package/dist/nodes/DocumentManagement/handlers/PropertyTemplateResourceHandler.d.ts.map +1 -0
  117. package/dist/nodes/DocumentManagement/handlers/PropertyTemplateResourceHandler.js +34 -0
  118. package/dist/nodes/DocumentManagement/handlers/SecureAreaResourceHandler.d.ts +10 -0
  119. package/dist/nodes/DocumentManagement/handlers/SecureAreaResourceHandler.d.ts.map +1 -0
  120. package/dist/nodes/DocumentManagement/handlers/SecureAreaResourceHandler.js +32 -0
  121. package/dist/nodes/DocumentManagement/types.d.ts +155 -0
  122. package/dist/nodes/DocumentManagement/types.d.ts.map +1 -0
  123. package/dist/nodes/DocumentManagement/types.js +2 -0
  124. package/dist/nodes/DocumentManagement/utils.d.ts +41 -0
  125. package/dist/nodes/DocumentManagement/utils.d.ts.map +1 -0
  126. package/dist/nodes/DocumentManagement/utils.js +116 -0
  127. package/dist/nodes/IdentityAndAccessManagement/IdentityAndAccessManagement.config.d.ts +3 -0
  128. package/dist/nodes/IdentityAndAccessManagement/IdentityAndAccessManagement.config.d.ts.map +1 -0
  129. package/dist/nodes/IdentityAndAccessManagement/IdentityAndAccessManagement.config.js +368 -0
  130. package/dist/nodes/IdentityAndAccessManagement/IdentityAndAccessManagement.node.d.ts +6 -0
  131. package/dist/nodes/IdentityAndAccessManagement/IdentityAndAccessManagement.node.d.ts.map +1 -0
  132. package/dist/nodes/IdentityAndAccessManagement/IdentityAndAccessManagement.node.js +77 -2774
  133. package/dist/nodes/IdentityAndAccessManagement/handlers/BaseResourceHandler.d.ts +20 -0
  134. package/dist/nodes/IdentityAndAccessManagement/handlers/BaseResourceHandler.d.ts.map +1 -0
  135. package/dist/nodes/IdentityAndAccessManagement/handlers/BaseResourceHandler.js +87 -0
  136. package/dist/nodes/IdentityAndAccessManagement/handlers/CurrentUserResourceHandler.d.ts +6 -0
  137. package/dist/nodes/IdentityAndAccessManagement/handlers/CurrentUserResourceHandler.d.ts.map +1 -0
  138. package/dist/nodes/IdentityAndAccessManagement/handlers/CurrentUserResourceHandler.js +17 -0
  139. package/dist/nodes/IdentityAndAccessManagement/handlers/GroupResourceHandler.d.ts +6 -0
  140. package/dist/nodes/IdentityAndAccessManagement/handlers/GroupResourceHandler.d.ts.map +1 -0
  141. package/dist/nodes/IdentityAndAccessManagement/handlers/GroupResourceHandler.js +63 -0
  142. package/dist/nodes/IdentityAndAccessManagement/handlers/ResourceTypeResourceHandler.d.ts +6 -0
  143. package/dist/nodes/IdentityAndAccessManagement/handlers/ResourceTypeResourceHandler.d.ts.map +1 -0
  144. package/dist/nodes/IdentityAndAccessManagement/handlers/ResourceTypeResourceHandler.js +17 -0
  145. package/dist/nodes/IdentityAndAccessManagement/handlers/SchemaResourceHandler.d.ts +6 -0
  146. package/dist/nodes/IdentityAndAccessManagement/handlers/SchemaResourceHandler.d.ts.map +1 -0
  147. package/dist/nodes/IdentityAndAccessManagement/handlers/SchemaResourceHandler.js +30 -0
  148. package/dist/nodes/IdentityAndAccessManagement/handlers/ServiceProviderConfigResourceHandler.d.ts +6 -0
  149. package/dist/nodes/IdentityAndAccessManagement/handlers/ServiceProviderConfigResourceHandler.d.ts.map +1 -0
  150. package/dist/nodes/IdentityAndAccessManagement/handlers/ServiceProviderConfigResourceHandler.js +17 -0
  151. package/dist/nodes/IdentityAndAccessManagement/handlers/UserResourceHandler.d.ts +6 -0
  152. package/dist/nodes/IdentityAndAccessManagement/handlers/UserResourceHandler.d.ts.map +1 -0
  153. package/dist/nodes/IdentityAndAccessManagement/handlers/UserResourceHandler.js +73 -0
  154. package/dist/nodes/IdentityAndAccessManagement/types.d.ts +26 -0
  155. package/dist/nodes/IdentityAndAccessManagement/types.d.ts.map +1 -0
  156. package/dist/nodes/IdentityAndAccessManagement/types.js +2 -0
  157. package/dist/nodes/IdentityAndAccessManagement/utils.d.ts +14 -0
  158. package/dist/nodes/IdentityAndAccessManagement/utils.d.ts.map +1 -0
  159. package/dist/nodes/IdentityAndAccessManagement/utils.js +89 -0
  160. package/dist/nodes/MasterData/MasterData.config.d.ts +6 -0
  161. package/dist/nodes/MasterData/MasterData.config.d.ts.map +1 -0
  162. package/dist/nodes/MasterData/MasterData.config.js +902 -0
  163. package/dist/nodes/MasterData/MasterData.node.d.ts +6 -0
  164. package/dist/nodes/MasterData/MasterData.node.d.ts.map +1 -0
  165. package/dist/nodes/MasterData/MasterData.node.js +107 -3561
  166. package/dist/nodes/MasterData/handlers/AddresseeResourceHandler.d.ts +15 -0
  167. package/dist/nodes/MasterData/handlers/AddresseeResourceHandler.d.ts.map +1 -0
  168. package/dist/nodes/MasterData/handlers/AddresseeResourceHandler.js +98 -0
  169. package/dist/nodes/MasterData/handlers/AreaOfResponsibilityResourceHandler.d.ts +11 -0
  170. package/dist/nodes/MasterData/handlers/AreaOfResponsibilityResourceHandler.d.ts.map +1 -0
  171. package/dist/nodes/MasterData/handlers/AreaOfResponsibilityResourceHandler.js +42 -0
  172. package/dist/nodes/MasterData/handlers/BankResourceHandler.d.ts +11 -0
  173. package/dist/nodes/MasterData/handlers/BankResourceHandler.d.ts.map +1 -0
  174. package/dist/nodes/MasterData/handlers/BankResourceHandler.js +42 -0
  175. package/dist/nodes/MasterData/handlers/BaseResourceHandler.d.ts +49 -0
  176. package/dist/nodes/MasterData/handlers/BaseResourceHandler.d.ts.map +1 -0
  177. package/dist/nodes/MasterData/handlers/BaseResourceHandler.js +91 -0
  178. package/dist/nodes/MasterData/handlers/ClientCategoryTypeResourceHandler.d.ts +14 -0
  179. package/dist/nodes/MasterData/handlers/ClientCategoryTypeResourceHandler.d.ts.map +1 -0
  180. package/dist/nodes/MasterData/handlers/ClientCategoryTypeResourceHandler.js +78 -0
  181. package/dist/nodes/MasterData/handlers/ClientGroupTypeResourceHandler.d.ts +14 -0
  182. package/dist/nodes/MasterData/handlers/ClientGroupTypeResourceHandler.d.ts.map +1 -0
  183. package/dist/nodes/MasterData/handlers/ClientGroupTypeResourceHandler.js +78 -0
  184. package/dist/nodes/MasterData/handlers/ClientResourceHandler.d.ts +22 -0
  185. package/dist/nodes/MasterData/handlers/ClientResourceHandler.d.ts.map +1 -0
  186. package/dist/nodes/MasterData/handlers/ClientResourceHandler.js +183 -0
  187. package/dist/nodes/MasterData/handlers/CorporateStructureResourceHandler.d.ts +13 -0
  188. package/dist/nodes/MasterData/handlers/CorporateStructureResourceHandler.d.ts.map +1 -0
  189. package/dist/nodes/MasterData/handlers/CorporateStructureResourceHandler.js +68 -0
  190. package/dist/nodes/MasterData/handlers/CountryCodeResourceHandler.d.ts +11 -0
  191. package/dist/nodes/MasterData/handlers/CountryCodeResourceHandler.d.ts.map +1 -0
  192. package/dist/nodes/MasterData/handlers/CountryCodeResourceHandler.js +42 -0
  193. package/dist/nodes/MasterData/handlers/EmployeeResourceHandler.d.ts +14 -0
  194. package/dist/nodes/MasterData/handlers/EmployeeResourceHandler.d.ts.map +1 -0
  195. package/dist/nodes/MasterData/handlers/EmployeeResourceHandler.js +78 -0
  196. package/dist/nodes/MasterData/handlers/LegalFormResourceHandler.d.ts +11 -0
  197. package/dist/nodes/MasterData/handlers/LegalFormResourceHandler.d.ts.map +1 -0
  198. package/dist/nodes/MasterData/handlers/LegalFormResourceHandler.js +42 -0
  199. package/dist/nodes/MasterData/handlers/RelationshipResourceHandler.d.ts +12 -0
  200. package/dist/nodes/MasterData/handlers/RelationshipResourceHandler.d.ts.map +1 -0
  201. package/dist/nodes/MasterData/handlers/RelationshipResourceHandler.js +54 -0
  202. package/dist/nodes/MasterData/handlers/TaxAuthorityResourceHandler.d.ts +11 -0
  203. package/dist/nodes/MasterData/handlers/TaxAuthorityResourceHandler.d.ts.map +1 -0
  204. package/dist/nodes/MasterData/handlers/TaxAuthorityResourceHandler.js +42 -0
  205. package/dist/nodes/MasterData/types.d.ts +241 -0
  206. package/dist/nodes/MasterData/types.d.ts.map +1 -0
  207. package/dist/nodes/MasterData/types.js +2 -0
  208. package/dist/nodes/MasterData/utils.d.ts +32 -0
  209. package/dist/nodes/MasterData/utils.d.ts.map +1 -0
  210. package/dist/nodes/MasterData/utils.js +92 -0
  211. package/dist/src/services/accountingClient.d.ts +73 -0
  212. package/dist/src/services/accountingClient.d.ts.map +1 -0
  213. package/dist/src/services/accountingClient.js +766 -0
  214. package/dist/src/services/datevConnectClient.d.ts +755 -0
  215. package/dist/src/services/datevConnectClient.d.ts.map +1 -0
  216. package/dist/src/services/datevConnectClient.js +1809 -0
  217. package/dist/src/services/documentManagementClient.d.ts +206 -0
  218. package/dist/src/services/documentManagementClient.d.ts.map +1 -0
  219. package/dist/src/services/documentManagementClient.js +546 -0
  220. package/dist/src/services/identityAndAccessManagementClient.d.ts +70 -0
  221. package/dist/src/services/identityAndAccessManagementClient.d.ts.map +1 -0
  222. package/dist/src/services/identityAndAccessManagementClient.js +293 -0
  223. package/package.json +41 -39
  224. package/dist/nodes/Accounting/Accounting.node.json +0 -25
  225. package/dist/nodes/DocumentManagement/DocumentManagement.node.json +0 -25
  226. package/dist/nodes/IdentityAndAccessManagement/IdentityAndAccessManagement.node.json +0 -25
  227. package/dist/nodes/MasterData/MasterData.node.json +0 -25
@@ -0,0 +1,293 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdentityAndAccessManagementClient = void 0;
4
+ const JSON_CONTENT_TYPE = "application/json;charset=utf-8";
5
+ const DEFAULT_ERROR_PREFIX = "DATEV IAM request failed";
6
+ const IAM_BASE_PATH = "datevconnect/iam/v1";
7
+ const SERVICE_PROVIDER_CONFIG_PATH = `${IAM_BASE_PATH}/ServiceProviderConfig`;
8
+ const RESOURCE_TYPES_PATH = `${IAM_BASE_PATH}/ResourceTypes`;
9
+ const SCHEMAS_PATH = `${IAM_BASE_PATH}/Schemas`;
10
+ const USERS_PATH = `${IAM_BASE_PATH}/Users`;
11
+ const CURRENT_USER_PATH = `${USERS_PATH}/me`;
12
+ const GROUPS_PATH = `${IAM_BASE_PATH}/Groups`;
13
+ function normaliseBaseUrl(host) {
14
+ if (!host) {
15
+ throw new Error("DATEVconnect host must be provided");
16
+ }
17
+ return host.endsWith("/") ? host : `${host}/`;
18
+ }
19
+ function buildUrl(host, path, query) {
20
+ const baseUrl = normaliseBaseUrl(host);
21
+ const trimmedPath = path.startsWith("/") ? path.slice(1) : path;
22
+ const url = new URL(trimmedPath, baseUrl);
23
+ if (query) {
24
+ for (const [key, value] of Object.entries(query)) {
25
+ if (value === undefined || value === null || value === "") {
26
+ continue;
27
+ }
28
+ url.searchParams.set(key, String(value));
29
+ }
30
+ }
31
+ return url;
32
+ }
33
+ async function readResponseBody(response) {
34
+ var _a;
35
+ if (response.status === 204 || response.status === 205) {
36
+ return undefined;
37
+ }
38
+ const contentType = (_a = response.headers.get("content-type")) !== null && _a !== void 0 ? _a : "";
39
+ if (contentType.toLowerCase().includes("application/json")) {
40
+ try {
41
+ return (await response.json());
42
+ }
43
+ catch {
44
+ return undefined;
45
+ }
46
+ }
47
+ try {
48
+ const text = await response.text();
49
+ return text.length > 0 ? text : undefined;
50
+ }
51
+ catch {
52
+ return undefined;
53
+ }
54
+ }
55
+ function buildErrorMessage(response, body) {
56
+ const statusPart = `${response.status}${response.statusText ? ` ${response.statusText}` : ""}`.trim();
57
+ const prefix = `${DEFAULT_ERROR_PREFIX}${statusPart ? ` (${statusPart})` : ""}`;
58
+ if (body && typeof body === "object") {
59
+ const message = ("message" in body && typeof body.message === "string" ? body.message : undefined) ||
60
+ ("detail" in body && typeof body.detail === "string" ? body.detail : undefined) ||
61
+ ("error" in body && typeof body.error === "string" ? body.error : undefined);
62
+ if (message) {
63
+ return `${prefix}: ${message}`;
64
+ }
65
+ }
66
+ if (typeof body === "string") {
67
+ return `${prefix}: ${body}`;
68
+ }
69
+ return prefix;
70
+ }
71
+ async function sendRequest(options) {
72
+ const { host, token, clientInstanceId, path, method, query, body, fetchImpl = fetch } = options;
73
+ const url = buildUrl(host, path, query);
74
+ const headers = {
75
+ Authorization: `Bearer ${token}`,
76
+ "x-client-instance-id": clientInstanceId,
77
+ Accept: JSON_CONTENT_TYPE,
78
+ };
79
+ const requestInit = {
80
+ method,
81
+ headers,
82
+ };
83
+ if (body !== undefined) {
84
+ headers["content-type"] = JSON_CONTENT_TYPE;
85
+ requestInit.body = JSON.stringify(body);
86
+ }
87
+ const response = await fetchImpl(url, requestInit);
88
+ const responseBody = await readResponseBody(response);
89
+ if (!response.ok) {
90
+ throw new Error(buildErrorMessage(response, responseBody));
91
+ }
92
+ return { data: responseBody, response };
93
+ }
94
+ function extractLocationHeader(response) {
95
+ var _a, _b;
96
+ return (_b = (_a = response.headers.get("Location")) !== null && _a !== void 0 ? _a : response.headers.get("Link")) !== null && _b !== void 0 ? _b : undefined;
97
+ }
98
+ class IdentityAndAccessManagementClient {
99
+ static async fetchServiceProviderConfig(options) {
100
+ const result = await sendRequest({
101
+ ...options,
102
+ path: SERVICE_PROVIDER_CONFIG_PATH,
103
+ method: "GET",
104
+ });
105
+ if (result.data === undefined) {
106
+ throw new Error(`${DEFAULT_ERROR_PREFIX}: Expected service provider configuration.`);
107
+ }
108
+ return result.data;
109
+ }
110
+ static async fetchResourceTypes(options) {
111
+ const result = await sendRequest({
112
+ ...options,
113
+ path: RESOURCE_TYPES_PATH,
114
+ method: "GET",
115
+ });
116
+ if (result.data === undefined) {
117
+ throw new Error(`${DEFAULT_ERROR_PREFIX}: Expected resource types response.`);
118
+ }
119
+ return result.data;
120
+ }
121
+ static async fetchSchemas(options) {
122
+ const result = await sendRequest({
123
+ ...options,
124
+ path: SCHEMAS_PATH,
125
+ method: "GET",
126
+ });
127
+ if (result.data === undefined) {
128
+ throw new Error(`${DEFAULT_ERROR_PREFIX}: Expected schema list response.`);
129
+ }
130
+ return result.data;
131
+ }
132
+ static async fetchSchema(options) {
133
+ const result = await sendRequest({
134
+ ...options,
135
+ path: `${SCHEMAS_PATH}/${encodeURIComponent(options.schemaId)}`,
136
+ method: "GET",
137
+ });
138
+ if (result.data === undefined) {
139
+ throw new Error(`${DEFAULT_ERROR_PREFIX}: Expected schema response.`);
140
+ }
141
+ return result.data;
142
+ }
143
+ static async fetchUsers(options) {
144
+ const result = await sendRequest({
145
+ ...options,
146
+ path: USERS_PATH,
147
+ method: "GET",
148
+ query: {
149
+ filter: options.filter,
150
+ startIndex: options.startIndex,
151
+ count: options.count,
152
+ attributes: options.attributes,
153
+ },
154
+ });
155
+ if (result.data === undefined) {
156
+ throw new Error(`${DEFAULT_ERROR_PREFIX}: Expected users response.`);
157
+ }
158
+ return result.data;
159
+ }
160
+ static async fetchUser(options) {
161
+ const result = await sendRequest({
162
+ ...options,
163
+ path: `${USERS_PATH}/${encodeURIComponent(options.userId)}`,
164
+ method: "GET",
165
+ });
166
+ if (result.data === undefined) {
167
+ throw new Error(`${DEFAULT_ERROR_PREFIX}: Expected user response.`);
168
+ }
169
+ return result.data;
170
+ }
171
+ static async createUser(options) {
172
+ const result = await sendRequest({
173
+ ...options,
174
+ path: USERS_PATH,
175
+ method: "POST",
176
+ body: options.user,
177
+ });
178
+ if (result.data !== undefined) {
179
+ return result.data;
180
+ }
181
+ const location = extractLocationHeader(result.response);
182
+ return {
183
+ success: true,
184
+ location,
185
+ };
186
+ }
187
+ static async updateUser(options) {
188
+ const result = await sendRequest({
189
+ ...options,
190
+ path: `${USERS_PATH}/${encodeURIComponent(options.userId)}`,
191
+ method: "PUT",
192
+ body: options.user,
193
+ });
194
+ if (result.data !== undefined) {
195
+ return result.data;
196
+ }
197
+ const location = extractLocationHeader(result.response);
198
+ return {
199
+ success: true,
200
+ userId: options.userId,
201
+ location,
202
+ };
203
+ }
204
+ static async deleteUser(options) {
205
+ var _a;
206
+ const result = await sendRequest({
207
+ ...options,
208
+ path: `${USERS_PATH}/${encodeURIComponent(options.userId)}`,
209
+ method: "DELETE",
210
+ });
211
+ return {
212
+ location: (_a = extractLocationHeader(result.response)) !== null && _a !== void 0 ? _a : undefined,
213
+ };
214
+ }
215
+ static async fetchCurrentUser(options) {
216
+ const result = await sendRequest({
217
+ ...options,
218
+ path: CURRENT_USER_PATH,
219
+ method: "GET",
220
+ });
221
+ if (result.data === undefined) {
222
+ throw new Error(`${DEFAULT_ERROR_PREFIX}: Expected current user response.`);
223
+ }
224
+ return result.data;
225
+ }
226
+ static async fetchGroups(options) {
227
+ const result = await sendRequest({
228
+ ...options,
229
+ path: GROUPS_PATH,
230
+ method: "GET",
231
+ });
232
+ if (result.data === undefined) {
233
+ throw new Error(`${DEFAULT_ERROR_PREFIX}: Expected groups response.`);
234
+ }
235
+ return result.data;
236
+ }
237
+ static async fetchGroup(options) {
238
+ const result = await sendRequest({
239
+ ...options,
240
+ path: `${GROUPS_PATH}/${encodeURIComponent(options.groupId)}`,
241
+ method: "GET",
242
+ });
243
+ if (result.data === undefined) {
244
+ throw new Error(`${DEFAULT_ERROR_PREFIX}: Expected group response.`);
245
+ }
246
+ return result.data;
247
+ }
248
+ static async createGroup(options) {
249
+ const result = await sendRequest({
250
+ ...options,
251
+ path: GROUPS_PATH,
252
+ method: "POST",
253
+ body: options.group,
254
+ });
255
+ if (result.data !== undefined) {
256
+ return result.data;
257
+ }
258
+ const location = extractLocationHeader(result.response);
259
+ return {
260
+ success: true,
261
+ location,
262
+ };
263
+ }
264
+ static async updateGroup(options) {
265
+ const result = await sendRequest({
266
+ ...options,
267
+ path: `${GROUPS_PATH}/${encodeURIComponent(options.groupId)}`,
268
+ method: "PUT",
269
+ body: options.group,
270
+ });
271
+ if (result.data !== undefined) {
272
+ return result.data;
273
+ }
274
+ const location = extractLocationHeader(result.response);
275
+ return {
276
+ success: true,
277
+ groupId: options.groupId,
278
+ location,
279
+ };
280
+ }
281
+ static async deleteGroup(options) {
282
+ var _a;
283
+ const result = await sendRequest({
284
+ ...options,
285
+ path: `${GROUPS_PATH}/${encodeURIComponent(options.groupId)}`,
286
+ method: "DELETE",
287
+ });
288
+ return {
289
+ location: (_a = extractLocationHeader(result.response)) !== null && _a !== void 0 ? _a : undefined,
290
+ };
291
+ }
292
+ }
293
+ exports.IdentityAndAccessManagementClient = IdentityAndAccessManagementClient;
package/package.json CHANGED
@@ -1,17 +1,9 @@
1
1
  {
2
2
  "name": "@klardaten/n8n-nodes-datevconnect",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "n8n community node for DATEVconnect API via Klardaten Gateway",
5
- "author": "Klardaten <info@klardaten.com> (https://klardaten.com)",
6
- "homepage": "https://github.com/Klardaten/n8n-nodes-datevconnect#readme",
7
- "repository": {
8
- "type": "git",
9
- "url": "git+https://github.com/Klardaten/n8n-nodes-datevconnect.git"
10
- },
11
- "bugs": {
12
- "url": "https://github.com/Klardaten/n8n-nodes-datevconnect/issues"
13
- },
14
5
  "license": "MIT",
6
+ "homepage": "https://github.com/Klardaten/n8n-nodes-datevconnect#readme",
15
7
  "keywords": [
16
8
  "n8n",
17
9
  "n8n-community-node-package",
@@ -22,7 +14,33 @@
22
14
  "document-management",
23
15
  "iam"
24
16
  ],
17
+ "author": {
18
+ "name": "Klardaten",
19
+ "email": "info@klardaten.com",
20
+ "url": "https://klardaten.com"
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/Klardaten/n8n-nodes-datevconnect.git"
25
+ },
26
+ "scripts": {
27
+ "test": "bun test",
28
+ "build": "npx n8n-node build && npm run build:types",
29
+ "build:watch": "tsc --watch",
30
+ "build:types": "tsc -p tsconfig.declarations.json",
31
+ "dev": "npx n8n-node dev",
32
+ "lint": "npx n8n-node lint",
33
+ "typecheck": "tsc --noEmit",
34
+ "lint:fix": "npx n8n-node lint --fix",
35
+ "release": "npx n8n-node release",
36
+ "prepublishOnly": "npx n8n-node prerelease"
37
+ },
38
+ "files": [
39
+ "README.md",
40
+ "dist"
41
+ ],
25
42
  "n8n": {
43
+ "n8nNodesApiVersion": 1,
26
44
  "nodes": [
27
45
  "dist/nodes/MasterData/MasterData.node.js",
28
46
  "dist/nodes/Accounting/Accounting.node.js",
@@ -33,39 +51,23 @@
33
51
  "dist/credentials/DatevConnectApi.credentials.js"
34
52
  ]
35
53
  },
36
- "files": [
37
- "dist/credentials",
38
- "dist/nodes",
39
- "README.md"
40
- ],
41
- "type": "commonjs",
42
- "scripts": {
43
- "dev": "bun watch",
44
- "clean": "rm -rf dist && mkdir -p dist/nodes dist/credentials",
45
- "build": "bun run clean && sh -c 'NODES=$(find nodes -name \"*.node.ts\" -print) && [ -z \"$NODES\" ] || bun build $NODES --outdir dist/nodes --format cjs --target=node --external n8n-workflow --external n8n-core' && sh -c 'CREDS=$(find credentials -name \"*.credentials.ts\" -print) && [ -z \"$CREDS\" ] || bun build $CREDS --outdir dist/credentials --format cjs --target=node --external n8n-workflow --external n8n-core' && node scripts/copy-codex.js && cp nodes/klardaten.svg dist/nodes/",
46
- "watch": "bun run build && sh -c 'NODES=$(find nodes -name \"*.node.ts\" -print) && [ -z \"$NODES\" ] || bun build $NODES --outdir dist/nodes --format cjs --target=node --external n8n-workflow --external n8n-core --watch' & sh -c 'CREDS=$(find credentials -name \"*.credentials.ts\" -print) && [ -z \"$CREDS\" ] || bun build $CREDS --outdir dist/credentials --format cjs --target=node --external n8n-workflow --external n8n-core --watch'",
47
- "lint": "eslint --ext .ts,.tsx --max-warnings 0 .",
48
- "test": "bun test",
49
- "typecheck": "bun x tsc --noEmit",
50
- "copy:codex": "node scripts/copy-codex.js",
51
- "prepublishOnly": "bun run lint && bun run typecheck && bun test && bun run build"
52
- },
53
- "engines": {
54
- "node": ">=18.18",
55
- "npm": ">=9.0.0"
54
+ "bugs": {
55
+ "url": "https://github.com/Klardaten/n8n-nodes-datevconnect/issues"
56
56
  },
57
+ "types": "./dist/index.d.ts",
57
58
  "devDependencies": {
58
- "@types/bun": "^1.3.0",
59
- "@types/node": "24.9.1",
60
- "@typescript-eslint/eslint-plugin": "^8.46.2",
61
- "@typescript-eslint/parser": "^8.46.2",
62
- "eslint": "^8.57.1",
59
+ "@n8n/node-cli": "*",
60
+ "@types/node": "^24.10.0",
61
+ "bun": "^1.3.2",
62
+ "bun-types": "^1.3.2",
63
+ "eslint": "9.39.1",
63
64
  "nock": "14.0.10",
64
- "typescript": "^5.6.3"
65
+ "prettier": "3.6.2",
66
+ "release-it": "^19.0.4",
67
+ "typescript": "5.9.3"
65
68
  },
66
- "dependencies": {
67
- "n8n-core": "1.114.1",
68
- "n8n-workflow": "1.114.0"
69
+ "peerDependencies": {
70
+ "n8n-workflow": "*"
69
71
  },
70
72
  "publishConfig": {
71
73
  "access": "public"
@@ -1,25 +0,0 @@
1
- {
2
- "node": "@klardaten/n8n-nodes-datevconnect.accounting",
3
- "nodeVersion": "1.0",
4
- "codexVersion": "1.0",
5
- "categories": ["Finance & Accounting", "Data & Storage"],
6
- "resources": {
7
- "credentialDocumentation": [
8
- {
9
- "url": "https://github.com/Klardaten/n8n-datevconnect-masterdata#required-credentials"
10
- }
11
- ],
12
- "primaryDocumentation": [
13
- {
14
- "url": "https://github.com/Klardaten/n8n-datevconnect-masterdata#available-nodes"
15
- }
16
- ],
17
- "generic": [
18
- {
19
- "label": "DATEV Accounting API reference",
20
- "url": "https://developer.datev.de/en/product-detail/accounting/1.7.4/reference",
21
- "icon": "📘"
22
- }
23
- ]
24
- }
25
- }
@@ -1,25 +0,0 @@
1
- {
2
- "node": "@klardaten/n8n-nodes-datevconnect.documentManagement",
3
- "nodeVersion": "1.0",
4
- "codexVersion": "1.0",
5
- "categories": ["Finance & Accounting", "Data & Storage"],
6
- "resources": {
7
- "credentialDocumentation": [
8
- {
9
- "url": "https://github.com/Klardaten/n8n-datevconnect-masterdata#required-credentials"
10
- }
11
- ],
12
- "primaryDocumentation": [
13
- {
14
- "url": "https://github.com/Klardaten/n8n-datevconnect-masterdata#available-nodes"
15
- }
16
- ],
17
- "generic": [
18
- {
19
- "label": "DATEV Document Management API reference",
20
- "url": "https://developer.datev.de/en/product-detail/document-management/2.3.0/reference",
21
- "icon": "📘"
22
- }
23
- ]
24
- }
25
- }
@@ -1,25 +0,0 @@
1
- {
2
- "node": "@klardaten/n8n-nodes-datevconnect.identityAndAccessManagement",
3
- "nodeVersion": "1.0",
4
- "codexVersion": "1.0",
5
- "categories": ["Finance & Accounting", "Data & Storage"],
6
- "resources": {
7
- "credentialDocumentation": [
8
- {
9
- "url": "https://github.com/Klardaten/n8n-datevconnect-masterdata#required-credentials"
10
- }
11
- ],
12
- "primaryDocumentation": [
13
- {
14
- "url": "https://github.com/Klardaten/n8n-datevconnect-masterdata#available-nodes"
15
- }
16
- ],
17
- "generic": [
18
- {
19
- "label": "DATEV Identity & Access Management reference",
20
- "url": "https://developer.datev.de/en/product-detail/identity-and-access-management-user-administration/1.1.2/reference",
21
- "icon": "📘"
22
- }
23
- ]
24
- }
25
- }
@@ -1,25 +0,0 @@
1
- {
2
- "node": "@klardaten/n8n-nodes-datevconnect.masterData",
3
- "nodeVersion": "1.0",
4
- "codexVersion": "1.0",
5
- "categories": ["Finance & Accounting", "Data & Storage"],
6
- "resources": {
7
- "credentialDocumentation": [
8
- {
9
- "url": "https://github.com/Klardaten/n8n-datevconnect-masterdata#required-credentials"
10
- }
11
- ],
12
- "primaryDocumentation": [
13
- {
14
- "url": "https://github.com/Klardaten/n8n-datevconnect-masterdata#available-nodes"
15
- }
16
- ],
17
- "generic": [
18
- {
19
- "label": "DATEV Client Master Data API reference",
20
- "url": "https://developer.datev.de/en/product-detail/client-master-data/1.7.0/reference",
21
- "icon": "📘"
22
- }
23
- ]
24
- }
25
- }