@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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Easy Software
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,310 @@
1
+ # Easy8 credentials and node for n8n
2
+
3
+ This repo contains n8n node for communication with Easy8.
4
+
5
+ ## How to install
6
+
7
+ ### ⚙️ Requirements
8
+
9
+ To use our community node, you need to have the following requirements:
10
+
11
+ - n8n 1.54.4 or newer
12
+
13
+ ### 🛠️ Installation in n8n
14
+
15
+ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) to install the Easy
16
+ 8 node in n8n.
17
+
18
+ ### 🔑 Setup credentials
19
+
20
+ You need to set up credentials for the Easy8 node.
21
+ You can do this by going to the credentials section in n8n and adding a new credential of type "Easy8".
22
+
23
+ In the newly created credential, you need to fill in domain, and user api key.
24
+
25
+ The domain should be, for example, `https://instance.easyproject.com`.
26
+
27
+ To find the API key, go to your Easy8 instance, click on your profile in the top right corner.
28
+
29
+ ![Go to profile](images/cred-guide-1.png)
30
+
31
+ Your profile window will open. Click on the "Edit" button.
32
+
33
+ ![Profile window](images/cred-guide-2.png)
34
+
35
+ Your profile edit page will open. Scroll down to the Preferences section. Here just copy the API access key.
36
+
37
+ ![Preferences section with API key](images/cred-guide-3.png)
38
+
39
+ Now, your credentials are ready to use.
40
+
41
+ # Easy8 node
42
+
43
+ The custom node is created to handle all aspects of Easy8 integration with n8n.
44
+ Currently available operations and resources are:
45
+
46
+ ## Easy8 Entities
47
+
48
+ A list of all available entities in Easy8 node.
49
+
50
+ - Accounts
51
+ - Issues
52
+ - Leads
53
+ - Opportunities
54
+ - Personal contacts
55
+ - Users
56
+
57
+ ## Accounts
58
+
59
+ Account entity is used to manage company contacts. It has identifier `easy_contacts`
60
+
61
+ **Operations**
62
+
63
+ - **Get one** - returns a detailed view of a single entity. The entity is specified by its ID.
64
+ - **Get many** - returns a list of entities. You should use easy query id to specify the filter.
65
+ - **Add comment** - adds a comment to the entity.
66
+ - **Create** - creates a new account.
67
+ - Custom fields
68
+ - Industry ID
69
+ - Name (known as `firstname` in the entity schema)
70
+ - Type ID
71
+ - Account Manager ID
72
+ - External Account Manager ID
73
+ - Account Status ID
74
+ - Account Level ID
75
+ - Author ID
76
+ - Account Opened
77
+ - Account Closed
78
+ - Customer Left Reason ID
79
+ - Primary Billing Information (see below)
80
+ - Contact Information (see below)
81
+ - **Update** - updates some fields of the entity.
82
+ - Custom fields
83
+ - Industry ID
84
+ - Name (known as `firstname` in the entity schema)
85
+ - Type ID
86
+ - Account Manager ID
87
+ - External Account Manager ID
88
+ - Account Status ID
89
+ - Account Level ID
90
+ - Author ID
91
+ - Account Opened
92
+ - Account Closed
93
+ - Customer Left Reason ID
94
+ - Primary Billing Information (see below)
95
+ - Contact Information (see below)
96
+
97
+ ### Primary Billing and Contact Information
98
+
99
+ This is a complex field that contains information about the account's billing and contact details. The structure
100
+ is the same for both cases.
101
+
102
+ - Company Name
103
+ - Street
104
+ - City
105
+ - Country Code
106
+ - Country Division
107
+ - Postal Code
108
+ - Email
109
+ - Telephone
110
+ - VAT Number
111
+ - VAT Rate
112
+ - Bank Account Number
113
+ - IBAN
114
+ - Variable Symbol
115
+ - SWIFT
116
+ - BIC
117
+
118
+ ## Attendance
119
+
120
+ Attendance is used to track user attendance. The entity name is `easy_attendance`.
121
+
122
+ **Operations**
123
+
124
+ - **Get one** - returns a detailed view of a single attendance record. The entity is specified by its ID.
125
+ - **Get many** - returns a list of attendance records. You should use easy query id to specify the filter.
126
+ - **Create** - creates a new attendance record.
127
+ - Arrival (required)
128
+ - Departure
129
+ - Description
130
+ - Activity ID
131
+ - **Update** - updates some fields of the attendance record.
132
+ - Arrival
133
+ - Departure
134
+ - Description
135
+ - Activity ID
136
+
137
+ ## Issues
138
+
139
+ Issues are mostly Redmine issues. The identifier is `issue`.
140
+
141
+ **Operations**
142
+
143
+ - **Get one** - returns a detailed view of a single entity. The entity is specified by its ID.
144
+ - **Get many** - returns a list of entities. You should use easy query id to specify the filter.
145
+ - **Add comment** - adds a comment to the entity.
146
+ - **Create** - creates a new issue.
147
+ - Subject (required)
148
+ - Project ID (required)
149
+ - Assigned To ID
150
+ - Custom fields
151
+ - Description
152
+ - Done Ratio
153
+ - Due Date
154
+ - Estimated Hours
155
+ - Is Private
156
+ - Parent Issue ID
157
+ - Priority ID
158
+ - Start Date
159
+ - Status ID
160
+ - Tracker ID
161
+ - **Update** - updates some fields of the entity.
162
+ - Assigned To ID
163
+ - Custom fields
164
+ - Description
165
+ - Done Ratio
166
+ - Due Date
167
+ - Estimated Hours
168
+ - Is Private
169
+ - Parent Issue ID
170
+ - Priority ID
171
+ - Project ID
172
+ - Start Date
173
+ - Subject
174
+ - Tracker ID
175
+ - Status ID
176
+ - **Add Comment** - adds a comment to the issue.
177
+ - Comment (required)
178
+ - Private Note
179
+
180
+ ## Leads
181
+
182
+ Leads are CRM entities that refer to potential custom.
183
+ The identifier is `easy_lead`.
184
+
185
+ **Operations**
186
+
187
+ - **Get one** - returns a detailed view of a single lead. The entity is specified by its ID.
188
+ - **Get many** - returns a list of leads. You should use easy query id to specify the filter.
189
+ - **Add comment** - adds a comment to the lead.
190
+ - **Create** - creates a new lead.
191
+ - Company Name
192
+ - Description
193
+ - Custom fields
194
+ - **Update** - updates some fields of the leads.
195
+ - Company Name
196
+ - Description
197
+ - Custom fields
198
+
199
+ ## Opportunities
200
+
201
+ Opportunities are CRM entities that represent a potential sale. The entity name is `easy_crm_case`.
202
+
203
+ **Operations**
204
+
205
+ - **Get one** - returns a detailed view of a single opportunity. The entity is specified by its ID.
206
+ - **Get many** - returns a list of entities. You should use easy query id to specify the filter.
207
+ - **Add comment** - adds a comment to the opportunity.
208
+ - **Create** - creates a new opportunity.
209
+ - Name (required)
210
+ - Project ID (required)
211
+ - Account ID (required)
212
+ - Status ID
213
+ - Assigned To ID
214
+ - External Assigned To ID
215
+ - Price
216
+ - Contract Date
217
+ - Custom fields
218
+ - **Update** - updates some fields of the opportunity.
219
+ - Name
220
+ - Description
221
+ - Project ID
222
+ - Status ID
223
+ - Assigned To ID
224
+ - External Assigned To ID
225
+ - Price
226
+ - Contract Date
227
+ - Custom fields
228
+
229
+ ## Personal contacts
230
+
231
+ Personal contacts are CRM entities that represent a person. The entity name is `easy_personal_contacts`.
232
+
233
+ **Operations**
234
+
235
+ - **Get one** - returns a detailed view of a single personal contact. The entity is specified by its ID.
236
+ - **Get many** - returns a list of entities. You should use easy query id to specify the filter.
237
+ - **Create** - creates a new personal contact.
238
+ - Account ID (required or partner ID)
239
+ - Partner ID (required or account ID)
240
+ - First name (required)
241
+ - Last name (required)
242
+ - Email (required)
243
+ - Job title
244
+ - Custom fields
245
+ - **Update** - updates some fields of the personal contact.
246
+ - Account ID
247
+ - Partner ID
248
+ - First name
249
+ - Last name
250
+ - Email
251
+ - Job title
252
+ - Custom fields
253
+
254
+ ## Projects
255
+
256
+ Projects are used to manage project tasks. The entity name is `project`.
257
+
258
+ **Operations**
259
+
260
+ - **Get one** - returns a detailed view of a single project. The entity is specified by its ID.
261
+ - **Get many** - returns a list of projects. You should use easy query id to specify the filter.
262
+
263
+ ## Time entries
264
+
265
+ Time entries are used to track time spent on issues. The entity name is `time_entry`.
266
+
267
+ **Operations**
268
+
269
+ - **Get one** - returns a detailed view of a single time entry. The entity is specified by its ID.
270
+ - **Get many** - returns a list of time entries. You should use easy query id to specify the filter.
271
+ - **Create** - creates a new time entry.
272
+ - Hours (required)
273
+ - Activity ID
274
+ - Comment
275
+ - Project ID
276
+ - Spent On
277
+ - User ID
278
+ - Custom Fields
279
+ - **Update** - updates some fields of the time entry.
280
+ - Activity ID
281
+ - Comment
282
+ - Hours
283
+ - Project ID
284
+ - Spent On
285
+ - User ID
286
+ - Custom Fields
287
+
288
+ ## Users
289
+
290
+ Users are Easy8 users. The entity name is `user`.
291
+
292
+ **Operations**
293
+
294
+ - **Get one** - returns a detailed view of a single user. The entity is specified by its ID.
295
+ - **Get many** - returns a list of entities. You should use easy query id to specify the filter.
296
+ - **Create** - creates a new user
297
+ - Login (required)
298
+ - First name (required)
299
+ - Last name (required)
300
+ - Email (required)
301
+ - Phone
302
+ - Custom fields
303
+ - **Update** - updates some fields of the user.
304
+ - ID (required)
305
+ - Login
306
+ - First name
307
+ - Last name
308
+ - Email
309
+ - Phone
310
+ - Custom Fields
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Vrstva_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 182.85 182.8">
3
+ <defs>
4
+ <style>
5
+ .st0 {
6
+ fill: none;
7
+ stroke: #FFF;
8
+ stroke-width: 14px;
9
+ }
10
+ .st1 {
11
+ fill: #FFF;
12
+ }
13
+ </style>
14
+ </defs>
15
+ <path class="st0" d="M41.53,6.96h99.81c22.34,0,34.52,12.04,34.52,34.52v99.81c0,22.48-12.17,34.52-34.52,34.52H41.53c-22.34,0-34.52-12.04-34.52-34.52V41.48C7.01,19,19.18,6.96,41.53,6.96Z"/>
16
+ <path class="st1" d="M137.65,114.39c0-11.24-4.42-17.93-9.9-21.54-1.61-1.07-1.61-1.87,0-2.94,5.49-3.61,9.9-10.3,9.9-21.54,0-19.93-15.52-31.17-30.77-31.17h-30.1c-15.25,0-30.77,11.24-30.77,31.17,0,11.24,4.42,17.93,9.9,21.54,1.61,1.07,1.61,1.87,0,2.94-5.49,3.61-9.9,10.3-9.9,21.54,0,19.93,15.52,31.17,30.77,31.17h30.1c15.25,0,30.77-11.24,30.77-31.17ZM121.06,59.67v17.39c0,3.61-2.54,6.15-6.02,6.15h-46.42c-3.48,0-6.02-2.54-6.02-6.15v-17.39c0-3.61,2.54-6.02,6.02-6.02h46.42c3.48,0,6.02,2.41,6.02,6.02ZM121.06,105.7v17.39c0,3.61-2.54,6.02-6.02,6.02h-46.42c-3.48,0-6.02-2.41-6.02-6.02v-17.39c0-3.61,2.54-6.15,6.02-6.15h46.42c3.48,0,6.02,2.54,6.02,6.15Z"/>
17
+ </svg>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Vrstva_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 168.85 168.85">
3
+ <defs>
4
+ <style>
5
+ .st0 {
6
+ fill: #fff;
7
+ }
8
+
9
+ .st1 {
10
+ fill: #0d65f2;
11
+ }
12
+ </style>
13
+ </defs>
14
+ <path class="st1" d="M34.52,0h99.81c22.34,0,34.52,12.04,34.52,34.52v99.81c0,22.48-12.17,34.52-34.52,34.52H34.52c-22.34,0-34.52-12.04-34.52-34.52V34.52C0,12.04,12.17,0,34.52,0Z"/>
15
+ <path class="st0" d="M130.64,107.43c0-11.24-4.42-17.93-9.9-21.54-1.61-1.07-1.61-1.87,0-2.94,5.49-3.61,9.9-10.3,9.9-21.54,0-19.93-15.52-31.17-30.77-31.17h-30.1c-15.25,0-30.77,11.24-30.77,31.17,0,11.24,4.42,17.93,9.9,21.54,1.61,1.07,1.61,1.87,0,2.94-5.49,3.61-9.9,10.3-9.9,21.54,0,19.93,15.52,31.17,30.77,31.17h30.1c15.25,0,30.77-11.24,30.77-31.17ZM114.05,52.71v17.39c0,3.61-2.54,6.15-6.02,6.15h-46.42c-3.48,0-6.02-2.54-6.02-6.15v-17.39c0-3.61,2.54-6.02,6.02-6.02h46.42c3.48,0,6.02,2.41,6.02,6.02ZM114.05,98.74v17.39c0,3.61-2.54,6.02-6.02,6.02h-46.42c-3.48,0-6.02-2.41-6.02-6.02v-17.39c0-3.61,2.54-6.15,6.02-6.15h46.42c3.48,0,6.02,2.54,6.02,6.15Z"/>
16
+ </svg>
@@ -0,0 +1,13 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class Easy8Api implements ICredentialType {
3
+ name: string;
4
+ icon: {
5
+ readonly light: "file:Easy8.svg";
6
+ readonly dark: "file:Easy8.dark.svg";
7
+ };
8
+ displayName: string;
9
+ documentationUrl: string;
10
+ properties: INodeProperties[];
11
+ authenticate: IAuthenticateGeneric;
12
+ test: ICredentialTestRequest;
13
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Easy8Api = void 0;
4
+ class Easy8Api {
5
+ constructor() {
6
+ this.name = 'easy8Api';
7
+ this.icon = {
8
+ light: 'file:Easy8.svg',
9
+ dark: 'file:Easy8.dark.svg',
10
+ };
11
+ this.displayName = 'Easy8 API';
12
+ this.documentationUrl = 'https://easyredmine.com/documentation/';
13
+ this.properties = [
14
+ {
15
+ displayName: 'API Token',
16
+ name: 'token',
17
+ type: 'string',
18
+ default: '',
19
+ typeOptions: {
20
+ password: true,
21
+ },
22
+ },
23
+ {
24
+ displayName: 'Domain',
25
+ name: 'domain',
26
+ type: 'string',
27
+ default: '',
28
+ },
29
+ ];
30
+ this.authenticate = {
31
+ type: 'generic',
32
+ properties: {
33
+ headers: {
34
+ 'X-Redmine-API-Key': '={{$credentials.token}}',
35
+ },
36
+ },
37
+ };
38
+ this.test = {
39
+ request: {
40
+ baseURL: '={{$credentials?.domain}}',
41
+ url: '/issues.json',
42
+ },
43
+ };
44
+ }
45
+ }
46
+ exports.Easy8Api = Easy8Api;
47
+ //# sourceMappingURL=Easy8Api.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Easy8Api.credentials.js","sourceRoot":"","sources":["../../credentials/Easy8Api.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,QAAQ;IAArB;QACE,SAAI,GAAG,UAAU,CAAC;QAElB,SAAI,GAAG;YACL,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,qBAAqB;SACnB,CAAC;QAEX,gBAAW,GAAG,WAAW,CAAC;QAC1B,qBAAgB,GAAG,wCAAwC,CAAC;QAE5D,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;iBACf;aACF;YACD;gBACE,WAAW,EAAE,QAAQ;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;QAMF,iBAAY,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,mBAAmB,EAAE,yBAAyB;iBAC/C;aACF;SACF,CAAC;QAGF,SAAI,GAA2B;YAC7B,OAAO,EAAE;gBACP,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,cAAc;aACpB;SACF,CAAC;IACJ,CAAC;CAAA;AAjDD,4BAiDC"}
Binary file
Binary file
Binary file
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Vrstva_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 182.85 182.8">
3
+ <defs>
4
+ <style>
5
+ .st0 {
6
+ fill: none;
7
+ stroke: #FFF;
8
+ stroke-width: 14px;
9
+ }
10
+ .st1 {
11
+ fill: #FFF;
12
+ }
13
+ </style>
14
+ </defs>
15
+ <path class="st0" d="M41.53,6.96h99.81c22.34,0,34.52,12.04,34.52,34.52v99.81c0,22.48-12.17,34.52-34.52,34.52H41.53c-22.34,0-34.52-12.04-34.52-34.52V41.48C7.01,19,19.18,6.96,41.53,6.96Z"/>
16
+ <path class="st1" d="M137.65,114.39c0-11.24-4.42-17.93-9.9-21.54-1.61-1.07-1.61-1.87,0-2.94,5.49-3.61,9.9-10.3,9.9-21.54,0-19.93-15.52-31.17-30.77-31.17h-30.1c-15.25,0-30.77,11.24-30.77,31.17,0,11.24,4.42,17.93,9.9,21.54,1.61,1.07,1.61,1.87,0,2.94-5.49,3.61-9.9,10.3-9.9,21.54,0,19.93,15.52,31.17,30.77,31.17h30.1c15.25,0,30.77-11.24,30.77-31.17ZM121.06,59.67v17.39c0,3.61-2.54,6.15-6.02,6.15h-46.42c-3.48,0-6.02-2.54-6.02-6.15v-17.39c0-3.61,2.54-6.02,6.02-6.02h46.42c3.48,0,6.02,2.41,6.02,6.02ZM121.06,105.7v17.39c0,3.61-2.54,6.02-6.02,6.02h-46.42c-3.48,0-6.02-2.41-6.02-6.02v-17.39c0-3.61,2.54-6.15,6.02-6.15h46.42c3.48,0,6.02,2.54,6.02,6.15Z"/>
17
+ </svg>
@@ -0,0 +1,10 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class Easy8 implements INodeType {
3
+ description: INodeTypeDescription;
4
+ methods: {
5
+ loadOptions: {
6
+ [key: string]: (this: import("n8n-workflow").ILoadOptionsFunctions) => Promise<import("n8n-workflow").INodePropertyOptions[]>;
7
+ };
8
+ };
9
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
10
+ }