@easy8/n8n-nodes-easy8 0.1.0

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 (111) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +310 -0
  3. package/dist/credentials/Easy8.dark.svg +17 -0
  4. package/dist/credentials/Easy8.svg +16 -0
  5. package/dist/credentials/Easy8Api.credentials.d.ts +13 -0
  6. package/dist/credentials/Easy8Api.credentials.js +47 -0
  7. package/dist/credentials/Easy8Api.credentials.js.map +1 -0
  8. package/dist/images/cred-guide-1.png +0 -0
  9. package/dist/images/cred-guide-2.png +0 -0
  10. package/dist/images/cred-guide-3.png +0 -0
  11. package/dist/nodes/Easy8/Easy8.dark.svg +17 -0
  12. package/dist/nodes/Easy8/Easy8.node.d.ts +10 -0
  13. package/dist/nodes/Easy8/Easy8.node.js +283 -0
  14. package/dist/nodes/Easy8/Easy8.node.js.map +1 -0
  15. package/dist/nodes/Easy8/Easy8.svg +16 -0
  16. package/dist/nodes/Easy8/LoadOptions.d.ts +4 -0
  17. package/dist/nodes/Easy8/LoadOptions.js +157 -0
  18. package/dist/nodes/Easy8/LoadOptions.js.map +1 -0
  19. package/dist/nodes/Easy8/Model.d.ts +18 -0
  20. package/dist/nodes/Easy8/Model.js +24 -0
  21. package/dist/nodes/Easy8/Model.js.map +1 -0
  22. package/dist/nodes/Easy8/client/Autocomplete.d.ts +5 -0
  23. package/dist/nodes/Easy8/client/Autocomplete.js +3 -0
  24. package/dist/nodes/Easy8/client/Autocomplete.js.map +1 -0
  25. package/dist/nodes/Easy8/client/Easy8Client.d.ts +18 -0
  26. package/dist/nodes/Easy8/client/Easy8Client.js +124 -0
  27. package/dist/nodes/Easy8/client/Easy8Client.js.map +1 -0
  28. package/dist/nodes/Easy8/client/Issue.d.ts +15 -0
  29. package/dist/nodes/Easy8/client/Issue.js +3 -0
  30. package/dist/nodes/Easy8/client/Issue.js.map +1 -0
  31. package/dist/nodes/Easy8/client/Project.d.ts +10 -0
  32. package/dist/nodes/Easy8/client/Project.js +3 -0
  33. package/dist/nodes/Easy8/client/Project.js.map +1 -0
  34. package/dist/nodes/Easy8/client/Resources.d.ts +8 -0
  35. package/dist/nodes/Easy8/client/Resources.js +3 -0
  36. package/dist/nodes/Easy8/client/Resources.js.map +1 -0
  37. package/dist/nodes/Easy8/client/index.d.ts +3 -0
  38. package/dist/nodes/Easy8/client/index.js +20 -0
  39. package/dist/nodes/Easy8/client/index.js.map +1 -0
  40. package/dist/nodes/Easy8/fields/AccountFields.d.ts +2 -0
  41. package/dist/nodes/Easy8/fields/AccountFields.js +293 -0
  42. package/dist/nodes/Easy8/fields/AccountFields.js.map +1 -0
  43. package/dist/nodes/Easy8/fields/AttendanceFields.d.ts +2 -0
  44. package/dist/nodes/Easy8/fields/AttendanceFields.js +141 -0
  45. package/dist/nodes/Easy8/fields/AttendanceFields.js.map +1 -0
  46. package/dist/nodes/Easy8/fields/CustomFields.d.ts +2 -0
  47. package/dist/nodes/Easy8/fields/CustomFields.js +33 -0
  48. package/dist/nodes/Easy8/fields/CustomFields.js.map +1 -0
  49. package/dist/nodes/Easy8/fields/IssueFields.d.ts +2 -0
  50. package/dist/nodes/Easy8/fields/IssueFields.js +200 -0
  51. package/dist/nodes/Easy8/fields/IssueFields.js.map +1 -0
  52. package/dist/nodes/Easy8/fields/LeadFields.d.ts +2 -0
  53. package/dist/nodes/Easy8/fields/LeadFields.js +84 -0
  54. package/dist/nodes/Easy8/fields/LeadFields.js.map +1 -0
  55. package/dist/nodes/Easy8/fields/OpportunityFields.d.ts +3 -0
  56. package/dist/nodes/Easy8/fields/OpportunityFields.js +169 -0
  57. package/dist/nodes/Easy8/fields/OpportunityFields.js.map +1 -0
  58. package/dist/nodes/Easy8/fields/PersonalContactFields.d.ts +2 -0
  59. package/dist/nodes/Easy8/fields/PersonalContactFields.js +207 -0
  60. package/dist/nodes/Easy8/fields/PersonalContactFields.js.map +1 -0
  61. package/dist/nodes/Easy8/fields/ProjectFields.d.ts +2 -0
  62. package/dist/nodes/Easy8/fields/ProjectFields.js +61 -0
  63. package/dist/nodes/Easy8/fields/ProjectFields.js.map +1 -0
  64. package/dist/nodes/Easy8/fields/TimeEntryFields.d.ts +2 -0
  65. package/dist/nodes/Easy8/fields/TimeEntryFields.js +171 -0
  66. package/dist/nodes/Easy8/fields/TimeEntryFields.js.map +1 -0
  67. package/dist/nodes/Easy8/fields/UserFields.d.ts +2 -0
  68. package/dist/nodes/Easy8/fields/UserFields.js +195 -0
  69. package/dist/nodes/Easy8/fields/UserFields.js.map +1 -0
  70. package/dist/nodes/Easy8/operations/AddCommentOperation.d.ts +3 -0
  71. package/dist/nodes/Easy8/operations/AddCommentOperation.js +46 -0
  72. package/dist/nodes/Easy8/operations/AddCommentOperation.js.map +1 -0
  73. package/dist/nodes/Easy8/operations/BaseModel.d.ts +18 -0
  74. package/dist/nodes/Easy8/operations/BaseModel.js +3 -0
  75. package/dist/nodes/Easy8/operations/BaseModel.js.map +1 -0
  76. package/dist/nodes/Easy8/operations/CreateModel.d.ts +83 -0
  77. package/dist/nodes/Easy8/operations/CreateModel.js +3 -0
  78. package/dist/nodes/Easy8/operations/CreateModel.js.map +1 -0
  79. package/dist/nodes/Easy8/operations/CreateOperation.d.ts +6 -0
  80. package/dist/nodes/Easy8/operations/CreateOperation.js +211 -0
  81. package/dist/nodes/Easy8/operations/CreateOperation.js.map +1 -0
  82. package/dist/nodes/Easy8/operations/GetManyOperation.d.ts +3 -0
  83. package/dist/nodes/Easy8/operations/GetManyOperation.js +77 -0
  84. package/dist/nodes/Easy8/operations/GetManyOperation.js.map +1 -0
  85. package/dist/nodes/Easy8/operations/GetOneOperation.d.ts +3 -0
  86. package/dist/nodes/Easy8/operations/GetOneOperation.js +17 -0
  87. package/dist/nodes/Easy8/operations/GetOneOperation.js.map +1 -0
  88. package/dist/nodes/Easy8/operations/UpdateModel.d.ts +83 -0
  89. package/dist/nodes/Easy8/operations/UpdateModel.js +3 -0
  90. package/dist/nodes/Easy8/operations/UpdateModel.js.map +1 -0
  91. package/dist/nodes/Easy8/operations/UpdateOperation.d.ts +3 -0
  92. package/dist/nodes/Easy8/operations/UpdateOperation.js +188 -0
  93. package/dist/nodes/Easy8/operations/UpdateOperation.js.map +1 -0
  94. package/dist/nodes/Easy8/utils/ConvertToEasyDate.d.ts +1 -0
  95. package/dist/nodes/Easy8/utils/ConvertToEasyDate.js +26 -0
  96. package/dist/nodes/Easy8/utils/ConvertToEasyDate.js.map +1 -0
  97. package/dist/nodes/Easy8/utils/ExtractBillingOptions.d.ts +20 -0
  98. package/dist/nodes/Easy8/utils/ExtractBillingOptions.js +29 -0
  99. package/dist/nodes/Easy8/utils/ExtractBillingOptions.js.map +1 -0
  100. package/dist/nodes/Easy8/utils/SanitizeDomain.d.ts +1 -0
  101. package/dist/nodes/Easy8/utils/SanitizeDomain.js +10 -0
  102. package/dist/nodes/Easy8/utils/SanitizeDomain.js.map +1 -0
  103. package/dist/nodes/Easy8/utils/TryToParseParameterAsNumber.d.ts +2 -0
  104. package/dist/nodes/Easy8/utils/TryToParseParameterAsNumber.js +18 -0
  105. package/dist/nodes/Easy8/utils/TryToParseParameterAsNumber.js.map +1 -0
  106. package/dist/nodes/Easy8/utils/index.d.ts +4 -0
  107. package/dist/nodes/Easy8/utils/index.js +21 -0
  108. package/dist/nodes/Easy8/utils/index.js.map +1 -0
  109. package/dist/package.json +58 -0
  110. package/dist/tsconfig.tsbuildinfo +1 -0
  111. package/package.json +58 -0
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateOperation = updateOperation;
4
+ const Model_1 = require("../Model");
5
+ const utils_1 = require("../utils");
6
+ function convertCustomFields(options) {
7
+ var _a;
8
+ return (_a = options.customFields) === null || _a === void 0 ? void 0 : _a.field.map((customField) => ({
9
+ id: customField.id,
10
+ value: customField.value,
11
+ }));
12
+ }
13
+ function updateBodyForIssue(itemIndex) {
14
+ const options = this.getNodeParameter('issueUpdateOptions', itemIndex, {});
15
+ this.logger.debug(`Update issue with subject: ${JSON.stringify(options)}`);
16
+ const customFields = convertCustomFields(options);
17
+ return {
18
+ issue: {
19
+ subject: options.subject,
20
+ description: options.description,
21
+ project_id: options.projectId,
22
+ parent_issue_id: options.parentIssueId,
23
+ assigned_to_id: options.assignedToId,
24
+ estimated_hours: options.estimatedHours,
25
+ done_ratio: options.doneRatio,
26
+ start_date: (0, utils_1.convertToEasyDate)(options.startDate),
27
+ due_date: (0, utils_1.convertToEasyDate)(options.dueDate),
28
+ is_private: options.isPrivate,
29
+ priority_id: options.priorityId,
30
+ status_id: options.statusId,
31
+ tracker_id: options.trackerId,
32
+ custom_fields: customFields,
33
+ },
34
+ };
35
+ }
36
+ function updateBodyForLead(itemIndex) {
37
+ const options = this.getNodeParameter('leadUpdateOptions', itemIndex, {});
38
+ this.logger.debug(`Update lead with subject: ${JSON.stringify(options)}`);
39
+ const customFields = convertCustomFields(options);
40
+ return {
41
+ easy_lead: {
42
+ description: options.description,
43
+ company_name: options.companyName,
44
+ custom_fields: customFields,
45
+ },
46
+ };
47
+ }
48
+ function updateBodyForOpportunity(itemIndex) {
49
+ const options = this.getNodeParameter('opportunityUpdateOptions', itemIndex, {});
50
+ const customFields = convertCustomFields(options);
51
+ return {
52
+ easy_crm_case: {
53
+ name: options.name,
54
+ description: options.description,
55
+ custom_fields: customFields,
56
+ easy_crm_case_status_id: options.statusId,
57
+ assigned_to_id: options.assignedToId,
58
+ external_assigned_to_id: options.externalAssignedToId,
59
+ price: options.price,
60
+ contract_date: options.contractDate,
61
+ project_id: options.projectId,
62
+ },
63
+ };
64
+ }
65
+ function updateBodyForAccount(itemIndex) {
66
+ const options = this.getNodeParameter('accountsUpdateOptions', itemIndex, {});
67
+ const customFields = convertCustomFields(options);
68
+ const primaryBillingOptions = (0, utils_1.extractBillingOptions)(this, 'accountPrimaryBillingUpdateOptions', itemIndex, true);
69
+ const contactBillingOptions = (0, utils_1.extractBillingOptions)(this, 'accountContactBillingUpdateOptions', itemIndex, false);
70
+ return {
71
+ easy_contact: {
72
+ firstname: options.firstname,
73
+ easy_contact_industry_id: options.industryId,
74
+ easy_contact_type_id: options.typeId,
75
+ custom_fields: customFields,
76
+ assigned_to_id: options.assignedToId,
77
+ external_assigned_to_id: options.externalAssignedToId,
78
+ easy_contact_status_id: options.contactStatusId,
79
+ easy_contact_level_id: options.contactLevelId,
80
+ author_id: options.authorId,
81
+ account_opened: options.accountOpened,
82
+ account_closed: options.accountClosed,
83
+ easy_contact_customer_left_reason_id: options.customerLeftReasonId,
84
+ contact_easy_billing_info_attributes: contactBillingOptions,
85
+ primary_easy_billing_info_attributes: primaryBillingOptions,
86
+ },
87
+ };
88
+ }
89
+ function updateBodyForAttendance(itemIndex) {
90
+ const options = this.getNodeParameter('attendanceUpdateOptions', itemIndex, {});
91
+ const body = {
92
+ easy_attendance: {
93
+ arrival: options.arrival,
94
+ departure: options.departure,
95
+ description: options.description,
96
+ easy_attendance_activity_id: options.activityId,
97
+ },
98
+ };
99
+ this.logger.debug(`Updating attendance with body: ${JSON.stringify(body)}`);
100
+ return body;
101
+ }
102
+ function updateBodyForPersonalContact(itemIndex) {
103
+ const options = this.getNodeParameter('personalContactUpdateOptions', itemIndex, {});
104
+ const customFields = convertCustomFields(options);
105
+ return {
106
+ easy_personal_contact: {
107
+ account_id: options.accountId,
108
+ easy_partner_id: options.partnerId,
109
+ first_name: options.firstname,
110
+ last_name: options.lastname,
111
+ email: options.email,
112
+ job_title: options.jobTitle,
113
+ custom_fields: customFields,
114
+ },
115
+ };
116
+ }
117
+ function updateBodyForTimeEntry(itemIndex) {
118
+ const options = this.getNodeParameter('timeEntryUpdateOptions', itemIndex, {});
119
+ const customFields = convertCustomFields(options);
120
+ return {
121
+ time_entry: {
122
+ comments: options.comment,
123
+ hours: options.hours,
124
+ spent_on: options.spentOn,
125
+ project_id: options.projectId,
126
+ activity_id: options.activityId,
127
+ user_id: options.userId,
128
+ custom_fields: customFields,
129
+ },
130
+ };
131
+ }
132
+ function updateBodyForUser(itemIndex) {
133
+ const options = this.getNodeParameter('userUpdateOptions', itemIndex, {});
134
+ const customFields = convertCustomFields(options);
135
+ return {
136
+ user: {
137
+ login: options.login,
138
+ firstname: options.firstname,
139
+ lastname: options.lastname,
140
+ mail: options.mail,
141
+ phone: options.phone,
142
+ custom_fields: customFields,
143
+ },
144
+ };
145
+ }
146
+ async function updateOperation(resource, itemIndex) {
147
+ const credentials = await this.getCredentials('easy8Api');
148
+ const domain = (0, utils_1.sanitizeDomain)(credentials.domain);
149
+ let body;
150
+ switch (resource) {
151
+ case Model_1.EasyNodeResourceType.accounts:
152
+ body = updateBodyForAccount.call(this, itemIndex);
153
+ break;
154
+ case Model_1.EasyNodeResourceType.attendances:
155
+ body = updateBodyForAttendance.call(this, itemIndex);
156
+ break;
157
+ case Model_1.EasyNodeResourceType.issues:
158
+ body = updateBodyForIssue.call(this, itemIndex);
159
+ break;
160
+ case Model_1.EasyNodeResourceType.leads:
161
+ body = updateBodyForLead.call(this, itemIndex);
162
+ break;
163
+ case Model_1.EasyNodeResourceType.opportunities:
164
+ body = updateBodyForOpportunity.call(this, itemIndex);
165
+ break;
166
+ case Model_1.EasyNodeResourceType.personalContacts:
167
+ body = updateBodyForPersonalContact.call(this, itemIndex);
168
+ break;
169
+ case Model_1.EasyNodeResourceType.timeEntries:
170
+ body = updateBodyForTimeEntry.call(this, itemIndex);
171
+ break;
172
+ case Model_1.EasyNodeResourceType.users:
173
+ body = updateBodyForUser.call(this, itemIndex);
174
+ break;
175
+ default:
176
+ throw new Error('Unsupported resource type: ' + resource);
177
+ }
178
+ const id = this.getNodeParameter('id', itemIndex);
179
+ const options = {
180
+ method: 'PUT',
181
+ url: `${domain}/${resource}/${id}.json`,
182
+ body,
183
+ json: true,
184
+ };
185
+ this.logger.debug(`Update ${resource} with ${JSON.stringify(options)}`);
186
+ return await this.helpers.httpRequestWithAuthentication.call(this, 'easy8Api', options);
187
+ }
188
+ //# sourceMappingURL=UpdateOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateOperation.js","sourceRoot":"","sources":["../../../../nodes/Easy8/operations/UpdateOperation.ts"],"names":[],"mappings":";;AAwOA,0CAiDC;AAxRD,oCAAgD;AAahD,oCAAoF;AAEpF,SAAS,mBAAmB,CAAC,OAAsC;;IACjE,OAAO,MAAA,OAAO,CAAC,YAAY,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACvD,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,KAAK,EAAE,WAAW,CAAC,KAAK;KACzB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CAA0B,SAAiB;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,CAAuB,CAAC;IAEjG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3E,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO;QACL,KAAK,EAAE;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,eAAe,EAAE,OAAO,CAAC,aAAa;YACtC,cAAc,EAAE,OAAO,CAAC,YAAY;YACpC,eAAe,EAAE,OAAO,CAAC,cAAc;YACvC,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,UAAU,EAAE,IAAA,yBAAiB,EAAC,OAAO,CAAC,SAAS,CAAC;YAChD,QAAQ,EAAE,IAAA,yBAAiB,EAAC,OAAO,CAAC,OAAO,CAAC;YAC5C,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,aAAa,EAAE,YAAY;SAC5B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAA0B,SAAiB;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,CAAsB,CAAC;IAE/F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAE1E,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO;QACL,SAAS,EAAE;YACT,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,WAAW;YACjC,aAAa,EAAE,YAAY;SAC5B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAE/B,SAAiB;IAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CACnC,0BAA0B,EAC1B,SAAS,EACT,EAAE,CACyB,CAAC;IAE9B,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO;QACL,aAAa,EAAE;YACb,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,aAAa,EAAE,YAAY;YAE3B,uBAAuB,EAAE,OAAO,CAAC,QAAQ;YACzC,cAAc,EAAE,OAAO,CAAC,YAAY;YACpC,uBAAuB,EAAE,OAAO,CAAC,oBAAoB;YACrD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,YAAY;YAEnC,UAAU,EAAE,OAAO,CAAC,SAAS;SAC9B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAA0B,SAAiB;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CACnC,uBAAuB,EACvB,SAAS,EACT,EAAE,CACqB,CAAC;IAE1B,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,qBAAqB,GAAG,IAAA,6BAAqB,EACjD,IAAI,EACJ,oCAAoC,EACpC,SAAS,EACT,IAAI,CACL,CAAC;IAEF,MAAM,qBAAqB,GAAG,IAAA,6BAAqB,EACjD,IAAI,EACJ,oCAAoC,EACpC,SAAS,EACT,KAAK,CACN,CAAC;IAEF,OAAO;QACL,YAAY,EAAE;YACZ,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,wBAAwB,EAAE,OAAO,CAAC,UAAU;YAC5C,oBAAoB,EAAE,OAAO,CAAC,MAAM;YACpC,aAAa,EAAE,YAAY;YAE3B,cAAc,EAAE,OAAO,CAAC,YAAY;YACpC,uBAAuB,EAAE,OAAO,CAAC,oBAAoB;YACrD,sBAAsB,EAAE,OAAO,CAAC,eAAe;YAC/C,qBAAqB,EAAE,OAAO,CAAC,cAAc;YAC7C,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,cAAc,EAAE,OAAO,CAAC,aAAa;YACrC,cAAc,EAAE,OAAO,CAAC,aAAa;YACrC,oCAAoC,EAAE,OAAO,CAAC,oBAAoB;YAElE,oCAAoC,EAAE,qBAAqB;YAC3D,oCAAoC,EAAE,qBAAqB;SAC5D;KACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAE9B,SAAiB;IAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CACnC,yBAAyB,EACzB,SAAS,EACT,EAAE,CACwB,CAAC;IAE7B,MAAM,IAAI,GAAG;QACX,eAAe,EAAE;YACf,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,2BAA2B,EAAE,OAAO,CAAC,UAAU;SAChD;KACF,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CAEnC,SAAiB;IAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CACnC,8BAA8B,EAC9B,SAAS,EACT,EAAE,CAC6B,CAAC;IAElC,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO;QACL,qBAAqB,EAAE;YACrB,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,eAAe,EAAE,OAAO,CAAC,SAAS;YAClC,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,aAAa,EAAE,YAAY;SAC5B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAE7B,SAAiB;IAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CACnC,wBAAwB,EACxB,SAAS,EACT,EAAE,CACuB,CAAC;IAE5B,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO;QACL,UAAU,EAAE;YACV,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,aAAa,EAAE,YAAY;SAC5B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAA0B,SAAiB;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,CAAsB,CAAC;IAE/F,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YAIpB,aAAa,EAAE,YAAY;SAC5B;KACF,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,eAAe,CAEnC,QAA8B,EAC9B,SAAiB;IAEjB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAA,sBAAc,EAAC,WAAW,CAAC,MAAgB,CAAC,CAAC;IAE5D,IAAI,IAA4B,CAAC;IACjC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,4BAAoB,CAAC,QAAQ;YAChC,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,4BAAoB,CAAC,WAAW;YACnC,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACrD,MAAM;QACR,KAAK,4BAAoB,CAAC,MAAM;YAC9B,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAChD,MAAM;QACR,KAAK,4BAAoB,CAAC,KAAK;YAC7B,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/C,MAAM;QACR,KAAK,4BAAoB,CAAC,aAAa;YACrC,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACtD,MAAM;QACR,KAAK,4BAAoB,CAAC,gBAAgB;YACxC,IAAI,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC1D,MAAM;QACR,KAAK,4BAAoB,CAAC,WAAW;YACnC,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpD,MAAM;QACR,KAAK,4BAAoB,CAAC,KAAK;YAC7B,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/C,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAW,CAAC;IAC5D,MAAM,OAAO,GAAwB;QACnC,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,MAAM,IAAI,QAAQ,IAAI,EAAE,OAAO;QACvC,IAAI;QACJ,IAAI,EAAE,IAAI;KACX,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,QAAQ,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAExE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAC1F,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function convertToEasyDate(input: string | undefined): string | undefined;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertToEasyDate = convertToEasyDate;
4
+ function convertToEasyDate(input) {
5
+ if (!input) {
6
+ return undefined;
7
+ }
8
+ try {
9
+ const simpleMatch = input.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/);
10
+ if (simpleMatch) {
11
+ return input;
12
+ }
13
+ const date = new Date(input);
14
+ if (isNaN(date.getTime())) {
15
+ return undefined;
16
+ }
17
+ const year = date.getFullYear();
18
+ const month = String(date.getMonth() + 1).padStart(2, '0');
19
+ const day = String(date.getDate()).padStart(2, '0');
20
+ return `${year}-${month}-${day}`;
21
+ }
22
+ catch (error) {
23
+ return undefined;
24
+ }
25
+ }
26
+ //# sourceMappingURL=ConvertToEasyDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConvertToEasyDate.js","sourceRoot":"","sources":["../../../../nodes/Easy8/utils/ConvertToEasyDate.ts"],"names":[],"mappings":";;AAIA,8CA4BC;AA5BD,SAAgB,iBAAiB,CAAC,KAAyB;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QAEH,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACjE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QAKD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEpD,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { IExecuteFunctions } from 'n8n-workflow';
2
+ export declare function extractBillingOptions(that: IExecuteFunctions, parameterName: string, itemIndex: number, isPrimary: boolean): {
3
+ primary: number | undefined;
4
+ contact: number | undefined;
5
+ organization: string | undefined;
6
+ street: string | undefined;
7
+ city: string | undefined;
8
+ country_code: string | undefined;
9
+ subdivision_code: string | undefined;
10
+ postal_code: string | undefined;
11
+ email: string | undefined;
12
+ telephone: string | undefined;
13
+ vat_no: string | undefined;
14
+ vat_rate: number | undefined;
15
+ bank_account: string | undefined;
16
+ iban: string | undefined;
17
+ variable_symbol: string | undefined;
18
+ swift: string | undefined;
19
+ bic: string | undefined;
20
+ } | undefined;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractBillingOptions = extractBillingOptions;
4
+ function extractBillingOptions(that, parameterName, itemIndex, isPrimary) {
5
+ const options = that.getNodeParameter(parameterName, itemIndex, {});
6
+ if (options) {
7
+ return {
8
+ primary: isPrimary ? 1 : undefined,
9
+ contact: isPrimary ? undefined : 1,
10
+ organization: options.organization,
11
+ street: options.street,
12
+ city: options.city,
13
+ country_code: options.countryCode,
14
+ subdivision_code: options.countrySubdivisionCode,
15
+ postal_code: options.postalCode,
16
+ email: options.email,
17
+ telephone: options.phone,
18
+ vat_no: options.vatNo,
19
+ vat_rate: options.vatRate,
20
+ bank_account: options.bankAccount,
21
+ iban: options.iban,
22
+ variable_symbol: options.variableSymbol,
23
+ swift: options.swift,
24
+ bic: options.bic,
25
+ };
26
+ }
27
+ return undefined;
28
+ }
29
+ //# sourceMappingURL=ExtractBillingOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtractBillingOptions.js","sourceRoot":"","sources":["../../../../nodes/Easy8/utils/ExtractBillingOptions.ts"],"names":[],"mappings":";;AAGA,sDAmCC;AAnCD,SAAgB,qBAAqB,CACpC,IAAuB,EACvB,aAAqB,EACrB,SAAiB,EACjB,SAAkB;IAElB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CACpC,aAAa,EACb,SAAS,EACT,EAAE,CAC6B,CAAC;IAEjC,IAAI,OAAO,EAAE,CAAC;QACb,OAAO;YACN,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAClC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,YAAY,EAAE,OAAO,CAAC,WAAW;YACjC,gBAAgB,EAAE,OAAO,CAAC,sBAAsB;YAChD,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,KAAK;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,YAAY,EAAE,OAAO,CAAC,WAAW;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,eAAe,EAAE,OAAO,CAAC,cAAc;YACvC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;SAChB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function sanitizeDomain(domain: string): string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sanitizeDomain = sanitizeDomain;
4
+ function sanitizeDomain(domain) {
5
+ if (domain.endsWith('/')) {
6
+ return domain.slice(0, -1);
7
+ }
8
+ return domain;
9
+ }
10
+ //# sourceMappingURL=SanitizeDomain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SanitizeDomain.js","sourceRoot":"","sources":["../../../../nodes/Easy8/utils/SanitizeDomain.ts"],"names":[],"mappings":";;AAGA,wCAKC;AALD,SAAgB,cAAc,CAAC,MAAc;IAC5C,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ILoadOptionsFunctions } from 'n8n-workflow';
2
+ export declare function tryToParseParameterAsNumber(optionsFn: ILoadOptionsFunctions, paramName: string): number | undefined;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tryToParseParameterAsNumber = tryToParseParameterAsNumber;
4
+ function tryToParseParameterAsNumber(optionsFn, paramName) {
5
+ let projectIdParam = optionsFn.getNodeParameter(paramName, 0);
6
+ let projectId;
7
+ if (typeof projectIdParam === 'string') {
8
+ projectId = parseInt(projectIdParam.trim(), 10);
9
+ if (isNaN(projectId)) {
10
+ projectId = undefined;
11
+ }
12
+ }
13
+ else if (typeof projectIdParam === 'number') {
14
+ projectId = projectIdParam;
15
+ }
16
+ return projectId;
17
+ }
18
+ //# sourceMappingURL=TryToParseParameterAsNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TryToParseParameterAsNumber.js","sourceRoot":"","sources":["../../../../nodes/Easy8/utils/TryToParseParameterAsNumber.ts"],"names":[],"mappings":";;AAEA,kEAYC;AAZD,SAAgB,2BAA2B,CAAC,SAAgC,EAAE,SAAiB;IAC9F,IAAI,cAAc,GAAQ,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAoB,CAAC;IACtF,IAAI,SAA6B,CAAC;IAClC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACxC,SAAS,GAAG,QAAQ,CAAE,cAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,SAAS,GAAG,SAAS,CAAC;QACvB,CAAC;IACF,CAAC;SAAM,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC/C,SAAS,GAAG,cAAwB,CAAC;IACtC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './ConvertToEasyDate';
2
+ export * from './ExtractBillingOptions';
3
+ export * from './SanitizeDomain';
4
+ export * from './TryToParseParameterAsNumber';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ConvertToEasyDate"), exports);
18
+ __exportStar(require("./ExtractBillingOptions"), exports);
19
+ __exportStar(require("./SanitizeDomain"), exports);
20
+ __exportStar(require("./TryToParseParameterAsNumber"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../nodes/Easy8/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,0DAAwC;AACxC,mDAAiC;AACjC,gEAA8C"}
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@easy8/n8n-nodes-easy8",
3
+ "version": "0.1.0",
4
+ "description": "n8n integration with Easy8",
5
+ "keywords": [
6
+ "n8n-community-node-package"
7
+ ],
8
+ "license": "MIT",
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
12
+ "homepage": "https://easy8.com",
13
+ "author": {
14
+ "name": "Martin Novák",
15
+ "email": "martin.novak@easysoftware.com"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/Easy8Com/n8n-nodes-easy8"
20
+ },
21
+ "engines": {
22
+ "node": ">=18.10",
23
+ "pnpm": ">=9.1"
24
+ },
25
+ "packageManager": "pnpm@9.1.4",
26
+ "main": "index.js",
27
+ "scripts": {
28
+ "build": "n8n-node build",
29
+ "build:watch": "tsc --watch",
30
+ "dev": "N8N_LOG_LEVEL=debug n8n-node dev",
31
+ "lint": "n8n-node lint",
32
+ "lint:fix": "n8n-node lint --fix",
33
+ "release": "n8n-node release",
34
+ "prepublishOnly": "n8n-node prerelease"
35
+ },
36
+ "files": [
37
+ "dist"
38
+ ],
39
+ "n8n": {
40
+ "n8nNodesApiVersion": 1,
41
+ "credentials": [
42
+ "dist/credentials/Easy8Api.credentials.js"
43
+ ],
44
+ "nodes": [
45
+ "dist/nodes/Easy8/Easy8.node.js"
46
+ ]
47
+ },
48
+ "devDependencies": {
49
+ "@n8n/node-cli": "*",
50
+ "eslint": "^9.39.3",
51
+ "prettier": "^3.8.1",
52
+ "release-it": "^19.2.4",
53
+ "typescript": "~5.9.3"
54
+ },
55
+ "peerDependencies": {
56
+ "n8n-workflow": "*"
57
+ }
58
+ }