n8n-nodes-innotes 1.0.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 (31) hide show
  1. package/README.md +305 -0
  2. package/dist/credentials/InNotesApi.credentials.js +108 -0
  3. package/dist/credentials/InNotesApi.credentials.js.map +1 -0
  4. package/dist/credentials/InNotesApi.credentials.ts +111 -0
  5. package/dist/credentials/Logo_128.png +0 -0
  6. package/dist/descriptions/ContactDescription.js +291 -0
  7. package/dist/descriptions/ContactDescription.js.map +1 -0
  8. package/dist/descriptions/JobDescription.js +413 -0
  9. package/dist/descriptions/JobDescription.js.map +1 -0
  10. package/dist/descriptions/NoteDescription.js +130 -0
  11. package/dist/descriptions/NoteDescription.js.map +1 -0
  12. package/dist/descriptions/StatusDescription.js +78 -0
  13. package/dist/descriptions/StatusDescription.js.map +1 -0
  14. package/dist/descriptions/TagDescription.js +34 -0
  15. package/dist/descriptions/TagDescription.js.map +1 -0
  16. package/dist/descriptions/UserDescription.js +40 -0
  17. package/dist/descriptions/UserDescription.js.map +1 -0
  18. package/dist/icons/Logo_128.png +0 -0
  19. package/dist/nodes/InNotes/InNotes.node.js +679 -0
  20. package/dist/nodes/InNotes/InNotes.node.js.map +1 -0
  21. package/dist/nodes/InNotes/Logo_128.png +0 -0
  22. package/dist/package.json +70 -0
  23. package/dist/test/InNotes.node.test.js +144 -0
  24. package/dist/test/InNotes.node.test.js.map +1 -0
  25. package/dist/test/setup.js +38 -0
  26. package/dist/test/setup.js.map +1 -0
  27. package/dist/types/InNotesTypes.js +8 -0
  28. package/dist/types/InNotesTypes.js.map +1 -0
  29. package/dist/utils/helpers.js +172 -0
  30. package/dist/utils/helpers.js.map +1 -0
  31. package/package.json +70 -0
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+ /**
3
+ * @author Marco Visin
4
+ * @date 2025-05-30
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.contactFields = exports.contactOperations = void 0;
8
+ exports.contactOperations = [
9
+ {
10
+ displayName: 'Operation',
11
+ name: 'operation',
12
+ type: 'options',
13
+ noDataExpression: true,
14
+ displayOptions: {
15
+ show: {
16
+ resource: ['contact'],
17
+ },
18
+ },
19
+ options: [
20
+ {
21
+ name: 'Create',
22
+ value: 'create',
23
+ description: 'Create a new contact',
24
+ action: 'Create a contact',
25
+ },
26
+ {
27
+ name: 'Get',
28
+ value: 'get',
29
+ description: 'Get a contact by ID',
30
+ action: 'Get a contact',
31
+ },
32
+ {
33
+ name: 'Get Many',
34
+ value: 'getAll',
35
+ description: 'Get multiple contacts',
36
+ action: 'Get many contacts',
37
+ },
38
+ {
39
+ name: 'Update',
40
+ value: 'update',
41
+ description: 'Update a contact',
42
+ action: 'Update a contact',
43
+ },
44
+ {
45
+ name: 'Delete',
46
+ value: 'delete',
47
+ description: 'Delete a contact',
48
+ action: 'Delete a contact',
49
+ },
50
+ ],
51
+ default: 'getAll',
52
+ },
53
+ ];
54
+ exports.contactFields = [
55
+ // Create fields
56
+ {
57
+ displayName: 'Name',
58
+ name: 'name',
59
+ type: 'string',
60
+ required: true,
61
+ displayOptions: {
62
+ show: {
63
+ resource: ['contact'],
64
+ operation: ['create'],
65
+ },
66
+ },
67
+ default: '',
68
+ description: 'The name of the contact',
69
+ },
70
+ {
71
+ displayName: 'LinkedIn Key',
72
+ name: 'linkedin_key',
73
+ type: 'string',
74
+ required: true,
75
+ displayOptions: {
76
+ show: {
77
+ resource: ['contact'],
78
+ operation: ['create'],
79
+ },
80
+ },
81
+ default: '',
82
+ description: 'The LinkedIn profile key/username',
83
+ },
84
+ {
85
+ displayName: 'LinkedIn User',
86
+ name: 'linkedin_user',
87
+ type: 'string',
88
+ displayOptions: {
89
+ show: {
90
+ resource: ['contact'],
91
+ operation: ['create'],
92
+ },
93
+ },
94
+ default: '',
95
+ description: 'The LinkedIn username',
96
+ },
97
+ {
98
+ displayName: 'Location',
99
+ name: 'location',
100
+ type: 'string',
101
+ displayOptions: {
102
+ show: {
103
+ resource: ['contact'],
104
+ operation: ['create', 'update'],
105
+ },
106
+ },
107
+ default: '',
108
+ description: 'The location of the contact',
109
+ },
110
+ {
111
+ displayName: 'Current Company',
112
+ name: 'current_company',
113
+ type: 'string',
114
+ displayOptions: {
115
+ show: {
116
+ resource: ['contact'],
117
+ operation: ['create', 'update'],
118
+ },
119
+ },
120
+ default: '',
121
+ description: 'The current company of the contact',
122
+ },
123
+ {
124
+ displayName: 'Picture URL',
125
+ name: 'picture_url',
126
+ type: 'string',
127
+ displayOptions: {
128
+ show: {
129
+ resource: ['contact'],
130
+ operation: ['create', 'update'],
131
+ },
132
+ },
133
+ default: '',
134
+ description: 'URL of the contact profile picture',
135
+ },
136
+ {
137
+ displayName: 'Tags',
138
+ name: 'tags',
139
+ type: 'collection',
140
+ placeholder: 'Add Tag',
141
+ displayOptions: {
142
+ show: {
143
+ resource: ['contact'],
144
+ operation: ['create', 'update'],
145
+ },
146
+ },
147
+ default: [],
148
+ options: [
149
+ {
150
+ displayName: 'Tag',
151
+ name: 'tag',
152
+ type: 'string',
153
+ default: '',
154
+ },
155
+ ],
156
+ description: 'Tags to assign to the contact',
157
+ },
158
+ {
159
+ displayName: 'Status ID',
160
+ name: 'status_id',
161
+ type: 'string',
162
+ displayOptions: {
163
+ show: {
164
+ resource: ['contact'],
165
+ operation: ['create', 'update'],
166
+ },
167
+ },
168
+ default: '',
169
+ description: 'The status ID for the contact',
170
+ },
171
+ // Get fields
172
+ {
173
+ displayName: 'Contact ID',
174
+ name: 'contactId',
175
+ type: 'string',
176
+ required: true,
177
+ displayOptions: {
178
+ show: {
179
+ resource: ['contact'],
180
+ operation: ['get', 'update', 'delete'],
181
+ },
182
+ },
183
+ default: '',
184
+ description: 'The ID of the contact',
185
+ },
186
+ // Get All fields
187
+ {
188
+ displayName: 'Return All',
189
+ name: 'returnAll',
190
+ type: 'boolean',
191
+ displayOptions: {
192
+ show: {
193
+ resource: ['contact'],
194
+ operation: ['getAll'],
195
+ },
196
+ },
197
+ default: false,
198
+ description: 'Whether to return all results or only up to a given limit',
199
+ },
200
+ {
201
+ displayName: 'Limit',
202
+ name: 'limit',
203
+ type: 'number',
204
+ displayOptions: {
205
+ show: {
206
+ resource: ['contact'],
207
+ operation: ['getAll'],
208
+ returnAll: [false],
209
+ },
210
+ },
211
+ typeOptions: {
212
+ minValue: 1,
213
+ },
214
+ default: 24,
215
+ description: 'Max number of results to return',
216
+ },
217
+ {
218
+ displayName: 'Search Term',
219
+ name: 'search',
220
+ type: 'string',
221
+ displayOptions: {
222
+ show: {
223
+ resource: ['contact'],
224
+ operation: ['getAll'],
225
+ },
226
+ },
227
+ default: '',
228
+ description: 'Search term to filter contacts',
229
+ },
230
+ {
231
+ displayName: 'Filter by Tags',
232
+ name: 'tags',
233
+ type: 'string',
234
+ displayOptions: {
235
+ show: {
236
+ resource: ['contact'],
237
+ operation: ['getAll'],
238
+ },
239
+ },
240
+ default: '',
241
+ description: 'Comma-separated list of tags to filter by',
242
+ },
243
+ // Update fields
244
+ {
245
+ displayName: 'Update Fields',
246
+ name: 'updateFields',
247
+ type: 'collection',
248
+ placeholder: 'Add Field',
249
+ default: {},
250
+ displayOptions: {
251
+ show: {
252
+ resource: ['contact'],
253
+ operation: ['update'],
254
+ },
255
+ },
256
+ options: [
257
+ {
258
+ displayName: 'Name',
259
+ name: 'name',
260
+ type: 'string',
261
+ default: '',
262
+ },
263
+ {
264
+ displayName: 'Location',
265
+ name: 'location',
266
+ type: 'string',
267
+ default: '',
268
+ },
269
+ {
270
+ displayName: 'Current Company',
271
+ name: 'current_company',
272
+ type: 'string',
273
+ default: '',
274
+ },
275
+ {
276
+ displayName: 'Picture URL',
277
+ name: 'picture_url',
278
+ type: 'string',
279
+ default: '',
280
+ },
281
+ {
282
+ displayName: 'Status ID',
283
+ name: 'status_id',
284
+ type: 'string',
285
+ default: '',
286
+ },
287
+ ],
288
+ },
289
+ ];
290
+
291
+ //# sourceMappingURL=ContactDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../descriptions/ContactDescription.ts"],"names":[],"mappings":"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","file":"ContactDescription.js","sourcesContent":["/**\n * @author Marco Visin\n * @date 2025-05-30\n */\n\nimport { INodeProperties } from 'n8n-workflow';\n\nexport const contactOperations: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Operation',\n\t\tname: 'operation',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Create',\n\t\t\t\tvalue: 'create',\n\t\t\t\tdescription: 'Create a new contact',\n\t\t\t\taction: 'Create a contact',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get',\n\t\t\t\tvalue: 'get',\n\t\t\t\tdescription: 'Get a contact by ID',\n\t\t\t\taction: 'Get a contact',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get Many',\n\t\t\t\tvalue: 'getAll',\n\t\t\t\tdescription: 'Get multiple contacts',\n\t\t\t\taction: 'Get many contacts',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Update',\n\t\t\t\tvalue: 'update',\n\t\t\t\tdescription: 'Update a contact',\n\t\t\t\taction: 'Update a contact',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Delete',\n\t\t\t\tvalue: 'delete',\n\t\t\t\tdescription: 'Delete a contact',\n\t\t\t\taction: 'Delete a contact',\n\t\t\t},\n\t\t],\n\t\tdefault: 'getAll',\n\t},\n];\n\nexport const contactFields: INodeProperties[] = [\n\t// Create fields\n\t{\n\t\tdisplayName: 'Name',\n\t\tname: 'name',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The name of the contact',\n\t},\n\t{\n\t\tdisplayName: 'LinkedIn Key',\n\t\tname: 'linkedin_key',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The LinkedIn profile key/username',\n\t},\n\t{\n\t\tdisplayName: 'LinkedIn User',\n\t\tname: 'linkedin_user',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The LinkedIn username',\n\t},\n\t{\n\t\tdisplayName: 'Location',\n\t\tname: 'location',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['create', 'update'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The location of the contact',\n\t},\n\t{\n\t\tdisplayName: 'Current Company',\n\t\tname: 'current_company',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['create', 'update'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The current company of the contact',\n\t},\n\t{\n\t\tdisplayName: 'Picture URL',\n\t\tname: 'picture_url',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['create', 'update'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'URL of the contact profile picture',\n\t},\n\t{\n\t\tdisplayName: 'Tags',\n\t\tname: 'tags',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Tag',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['create', 'update'],\n\t\t\t},\n\t\t},\n\t\tdefault: [],\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Tag',\n\t\t\t\tname: 'tag',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t],\n\t\tdescription: 'Tags to assign to the contact',\n\t},\n\t{\n\t\tdisplayName: 'Status ID',\n\t\tname: 'status_id',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['create', 'update'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The status ID for the contact',\n\t},\n\n\t// Get fields\n\t{\n\t\tdisplayName: 'Contact ID',\n\t\tname: 'contactId',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['get', 'update', 'delete'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The ID of the contact',\n\t},\n\n\t// Get All fields\n\t{\n\t\tdisplayName: 'Return All',\n\t\tname: 'returnAll',\n\t\ttype: 'boolean',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdefault: false,\n\t\tdescription: 'Whether to return all results or only up to a given limit',\n\t},\n\t{\n\t\tdisplayName: 'Limit',\n\t\tname: 'limit',\n\t\ttype: 'number',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t\treturnAll: [false],\n\t\t\t},\n\t\t},\n\t\ttypeOptions: {\n\t\t\tminValue: 1,\n\t\t},\n\t\tdefault: 24,\n\t\tdescription: 'Max number of results to return',\n\t},\n\t{\n\t\tdisplayName: 'Search Term',\n\t\tname: 'search',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'Search term to filter contacts',\n\t},\n\t{\n\t\tdisplayName: 'Filter by Tags',\n\t\tname: 'tags',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'Comma-separated list of tags to filter by',\n\t},\n\n\t// Update fields\n\t{\n\t\tdisplayName: 'Update Fields',\n\t\tname: 'updateFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['contact'],\n\t\t\t\toperation: ['update'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Name',\n\t\t\t\tname: 'name',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Location',\n\t\t\t\tname: 'location',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Current Company',\n\t\t\t\tname: 'current_company',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Picture URL',\n\t\t\t\tname: 'picture_url',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Status ID',\n\t\t\t\tname: 'status_id',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t],\n\t},\n];\n"]}