n8n-nodes-innotes 1.0.7 → 1.0.8

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.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
- * @author Marco Visin
4
- * @date 2025-06-02
3
+ * @author Marco
4
+ * @date 2025-06-27
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.jobFields = exports.jobOperations = void 0;
@@ -237,6 +237,52 @@ exports.jobFields = [
237
237
  description: 'External ID to filter jobs',
238
238
  },
239
239
  // Search fields
240
+ {
241
+ displayName: 'Search Method',
242
+ name: 'searchMethod',
243
+ type: 'options',
244
+ required: true,
245
+ displayOptions: {
246
+ show: {
247
+ resource: ['job'],
248
+ operation: ['search'],
249
+ },
250
+ },
251
+ options: [
252
+ {
253
+ name: 'General Search',
254
+ value: 'general',
255
+ description: 'Search across job title and company name (default behavior)',
256
+ },
257
+ {
258
+ name: 'External ID',
259
+ value: 'ext_id',
260
+ description: 'Search by specific external ID (exact match)',
261
+ },
262
+ {
263
+ name: 'Job Title',
264
+ value: 'title',
265
+ description: 'Search specifically in job titles (partial match)',
266
+ },
267
+ {
268
+ name: 'Company Name',
269
+ value: 'company',
270
+ description: 'Search specifically in company names (partial match)',
271
+ },
272
+ {
273
+ name: 'Location',
274
+ value: 'location',
275
+ description: 'Search specifically in job locations (partial match)',
276
+ },
277
+ {
278
+ name: 'Description',
279
+ value: 'description',
280
+ description: 'Search in job descriptions (partial match, may be slower)',
281
+ },
282
+ ],
283
+ default: 'general',
284
+ description: 'Choose which field to search in',
285
+ },
240
286
  {
241
287
  displayName: 'Search Query',
242
288
  name: 'searchQuery',
@@ -249,13 +295,13 @@ exports.jobFields = [
249
295
  },
250
296
  },
251
297
  default: '',
252
- description: 'Search query to find jobs (searches in title, company, and description)',
298
+ description: 'Enter your search term. The search will be performed in the field specified by the Search Method above. Use partial matches for most fields, exact match for External ID.',
253
299
  },
254
300
  {
255
- displayName: 'Additional Options',
301
+ displayName: 'Additional Filters',
256
302
  name: 'searchOptions',
257
303
  type: 'collection',
258
- placeholder: 'Add Option',
304
+ placeholder: 'Add Filter',
259
305
  default: {},
260
306
  displayOptions: {
261
307
  show: {
@@ -264,20 +310,6 @@ exports.jobFields = [
264
310
  },
265
311
  },
266
312
  options: [
267
- {
268
- displayName: 'Location',
269
- name: 'location',
270
- type: 'string',
271
- default: '',
272
- description: 'Filter by job location',
273
- },
274
- {
275
- displayName: 'Company',
276
- name: 'company',
277
- type: 'string',
278
- default: '',
279
- description: 'Filter by company name',
280
- },
281
313
  {
282
314
  displayName: 'Remote Setting',
283
315
  name: 'remote_setting',
@@ -1 +1 @@
1
- {"version":3,"sources":["../descriptions/JobDescription.ts"],"names":[],"mappings":"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","file":"JobDescription.js","sourcesContent":["/**\n * @author Marco Visin\n * @date 2025-06-02\n */\n\nimport {INodeProperties} from 'n8n-workflow';\n\nexport const jobOperations: 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: ['job'],\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 job',\n\t\t\t\taction: 'Create a job',\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 job by ID',\n\t\t\t\taction: 'Get a job',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get All',\n\t\t\t\tvalue: 'getAll',\n\t\t\t\tdescription: 'Get all jobs',\n\t\t\t\taction: 'Get all jobs',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Search',\n\t\t\t\tvalue: 'search',\n\t\t\t\tdescription: 'Search for jobs',\n\t\t\t\taction: 'Search for jobs',\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 job',\n\t\t\t\taction: 'Update a job',\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 job',\n\t\t\t\taction: 'Delete a job',\n\t\t\t},\n\t\t],\n\t\tdefault: 'getAll',\n\t},\n];\n\nexport const jobFields: INodeProperties[] = [\n\t// Create fields\n\t{\n\t\tdisplayName: 'Job 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: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The name of the job position',\n\t},\n\t{\n\t\tdisplayName: 'Company Name',\n\t\tname: 'company_name',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The name of the company',\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: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The job location',\n\t},\n\t{\n\t\tdisplayName: 'Description',\n\t\tname: 'description',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The job description',\n\t},\n\t{\n\t\tdisplayName: 'Remote Setting',\n\t\tname: 'remote_setting',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'Remote work setting (e.g., \"Remote\", \"Hybrid\", \"On-site\")',\n\t},\n\t{\n\t\tdisplayName: 'Company URL',\n\t\tname: 'company_url',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The company website URL',\n\t},\n\t{\n\t\tdisplayName: 'Status',\n\t\tname: 'status',\n\t\ttype: 'options',\n\t\ttypeOptions: {\n\t\t\tloadOptionsMethod: 'jobStatuses',\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The job status to assign',\n\t},\n\t{\n\t\tdisplayName: 'External ID',\n\t\tname: 'ext_id',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'External identifier for the job',\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: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'URL to the job or company logo image',\n\t},\n\t{\n\t\tdisplayName: 'Tags',\n\t\tname: 'tags',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'Tags to associate with this job (comma-separated)',\n\t},\n\n\t// Get operations\n\t{\n\t\tdisplayName: 'Job ID',\n\t\tname: 'jobId',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\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 job',\n\t},\n\n\t// Get All fields\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: ['job'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'Search term to filter jobs',\n\t},\n\t{\n\t\tdisplayName: 'External ID',\n\t\tname: 'ext_id',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'External ID to filter jobs',\n\t},\n\n\t// Search fields\n\t{\n\t\tdisplayName: 'Search Query',\n\t\tname: 'searchQuery',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['search'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'Search query to find jobs (searches in title, company, and description)',\n\t},\n\t{\n\t\tdisplayName: 'Additional Options',\n\t\tname: 'searchOptions',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Option',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['search'],\n\t\t\t},\n\t\t},\n\t\toptions: [\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\tdescription: 'Filter by job location',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Company',\n\t\t\t\tname: 'company',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Filter by company name',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Remote Setting',\n\t\t\t\tname: 'remote_setting',\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'On-site',\n\t\t\t\t\t\tvalue: 'on-site',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Remote',\n\t\t\t\t\t\tvalue: 'remote',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Hybrid',\n\t\t\t\t\t\tvalue: 'hybrid',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Filter by remote work setting',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Status',\n\t\t\t\tname: 'status',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Filter by job status',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Tags',\n\t\t\t\tname: 'tags',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Filter by tags (comma-separated)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Limit',\n\t\t\t\tname: 'limit',\n\t\t\t\ttype: 'number',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tminValue: 1,\n\t\t\t\t\tmaxValue: 100,\n\t\t\t\t},\n\t\t\t\tdefault: 24,\n\t\t\t\tdescription: 'Maximum number of results to return',\n\t\t\t},\n\t\t],\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: ['job'],\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: 'Company Name',\n\t\t\t\tname: 'company_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: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Remote Setting',\n\t\t\t\tname: 'remote_setting',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Company URL',\n\t\t\t\tname: 'company_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\t{\n\t\t\t\tdisplayName: 'Status',\n\t\t\t\tname: 'status',\n\t\t\t\ttype: 'options',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'jobStatuses',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Status name (takes precedence over Status ID)',\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\tdescription: 'URL to the job or company logo image',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Tags',\n\t\t\t\tname: 'tags',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Tags to associate with this job (comma-separated)',\n\t\t\t},\n\t\t],\n\t},\n];\n\n"]}
1
+ {"version":3,"sources":["../descriptions/JobDescription.ts"],"names":[],"mappings":"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","file":"JobDescription.js","sourcesContent":["/**\n * @author Marco\n * @date 2025-06-27\n */\n\nimport {INodeProperties} from 'n8n-workflow';\n\nexport const jobOperations: 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: ['job'],\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 job',\n\t\t\t\taction: 'Create a job',\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 job by ID',\n\t\t\t\taction: 'Get a job',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get All',\n\t\t\t\tvalue: 'getAll',\n\t\t\t\tdescription: 'Get all jobs',\n\t\t\t\taction: 'Get all jobs',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Search',\n\t\t\t\tvalue: 'search',\n\t\t\t\tdescription: 'Search for jobs',\n\t\t\t\taction: 'Search for jobs',\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 job',\n\t\t\t\taction: 'Update a job',\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 job',\n\t\t\t\taction: 'Delete a job',\n\t\t\t},\n\t\t],\n\t\tdefault: 'getAll',\n\t},\n];\n\nexport const jobFields: INodeProperties[] = [\n\t// Create fields\n\t{\n\t\tdisplayName: 'Job 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: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The name of the job position',\n\t},\n\t{\n\t\tdisplayName: 'Company Name',\n\t\tname: 'company_name',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The name of the company',\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: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The job location',\n\t},\n\t{\n\t\tdisplayName: 'Description',\n\t\tname: 'description',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The job description',\n\t},\n\t{\n\t\tdisplayName: 'Remote Setting',\n\t\tname: 'remote_setting',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'Remote work setting (e.g., \"Remote\", \"Hybrid\", \"On-site\")',\n\t},\n\t{\n\t\tdisplayName: 'Company URL',\n\t\tname: 'company_url',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The company website URL',\n\t},\n\t{\n\t\tdisplayName: 'Status',\n\t\tname: 'status',\n\t\ttype: 'options',\n\t\ttypeOptions: {\n\t\t\tloadOptionsMethod: 'jobStatuses',\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'The job status to assign',\n\t},\n\t{\n\t\tdisplayName: 'External ID',\n\t\tname: 'ext_id',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'External identifier for the job',\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: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'URL to the job or company logo image',\n\t},\n\t{\n\t\tdisplayName: 'Tags',\n\t\tname: 'tags',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'Tags to associate with this job (comma-separated)',\n\t},\n\n\t// Get operations\n\t{\n\t\tdisplayName: 'Job ID',\n\t\tname: 'jobId',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\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 job',\n\t},\n\n\t// Get All fields\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: ['job'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'Search term to filter jobs',\n\t},\n\t{\n\t\tdisplayName: 'External ID',\n\t\tname: 'ext_id',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'External ID to filter jobs',\n\t},\n\n\t// Search fields\n\t{\n\t\tdisplayName: 'Search Method',\n\t\tname: 'searchMethod',\n\t\ttype: 'options',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['search'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'General Search',\n\t\t\t\tvalue: 'general',\n\t\t\t\tdescription: 'Search across job title and company name (default behavior)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'External ID',\n\t\t\t\tvalue: 'ext_id',\n\t\t\t\tdescription: 'Search by specific external ID (exact match)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Job Title',\n\t\t\t\tvalue: 'title',\n\t\t\t\tdescription: 'Search specifically in job titles (partial match)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Company Name',\n\t\t\t\tvalue: 'company',\n\t\t\t\tdescription: 'Search specifically in company names (partial match)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Location',\n\t\t\t\tvalue: 'location',\n\t\t\t\tdescription: 'Search specifically in job locations (partial match)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Description',\n\t\t\t\tvalue: 'description',\n\t\t\t\tdescription: 'Search in job descriptions (partial match, may be slower)',\n\t\t\t},\n\t\t],\n\t\tdefault: 'general',\n\t\tdescription: 'Choose which field to search in',\n\t},\n\t{\n\t\tdisplayName: 'Search Query',\n\t\tname: 'searchQuery',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['search'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription: 'Enter your search term. The search will be performed in the field specified by the Search Method above. Use partial matches for most fields, exact match for External ID.',\n\t},\n\t{\n\t\tdisplayName: 'Additional Filters',\n\t\tname: 'searchOptions',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Filter',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['job'],\n\t\t\t\toperation: ['search'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Remote Setting',\n\t\t\t\tname: 'remote_setting',\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'On-site',\n\t\t\t\t\t\tvalue: 'on-site',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Remote',\n\t\t\t\t\t\tvalue: 'remote',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Hybrid',\n\t\t\t\t\t\tvalue: 'hybrid',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Filter by remote work setting',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Status',\n\t\t\t\tname: 'status',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Filter by job status',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Tags',\n\t\t\t\tname: 'tags',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Filter by tags (comma-separated)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Limit',\n\t\t\t\tname: 'limit',\n\t\t\t\ttype: 'number',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tminValue: 1,\n\t\t\t\t\tmaxValue: 100,\n\t\t\t\t},\n\t\t\t\tdefault: 24,\n\t\t\t\tdescription: 'Maximum number of results to return',\n\t\t\t},\n\t\t],\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: ['job'],\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: 'Company Name',\n\t\t\t\tname: 'company_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: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Remote Setting',\n\t\t\t\tname: 'remote_setting',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Company URL',\n\t\t\t\tname: 'company_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\t{\n\t\t\t\tdisplayName: 'Status',\n\t\t\t\tname: 'status',\n\t\t\t\ttype: 'options',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'jobStatuses',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Status name (takes precedence over Status ID)',\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\tdescription: 'URL to the job or company logo image',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Tags',\n\t\t\t\tname: 'tags',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Tags to associate with this job (comma-separated)',\n\t\t\t},\n\t\t],\n\t},\n];\n\n"]}
@@ -510,16 +510,38 @@ class InNotes {
510
510
  return { success: true };
511
511
  }
512
512
  if (operation === 'search') {
513
+ const searchMethod = executeFunctions.getNodeParameter('searchMethod', itemIndex);
513
514
  const searchQuery = executeFunctions.getNodeParameter('searchQuery', itemIndex);
514
515
  const searchOptions = executeFunctions.getNodeParameter('searchOptions', itemIndex, {});
515
- const qs = {
516
- search: searchQuery,
517
- };
518
- // Add optional search parameters
519
- if (searchOptions.location)
520
- qs.location = searchOptions.location;
521
- if (searchOptions.company)
522
- qs.company = searchOptions.company;
516
+ const qs = {};
517
+ // Handle different search methods
518
+ switch (searchMethod) {
519
+ case 'general':
520
+ qs.searchTerm = searchQuery;
521
+ break;
522
+ case 'ext_id':
523
+ qs.ext_id = searchQuery;
524
+ break;
525
+ case 'title':
526
+ qs.searchTerm = searchQuery;
527
+ qs.searchField = 'title';
528
+ break;
529
+ case 'company':
530
+ qs.searchTerm = searchQuery;
531
+ qs.searchField = 'company';
532
+ break;
533
+ case 'location':
534
+ qs.searchTerm = searchQuery;
535
+ qs.searchField = 'location';
536
+ break;
537
+ case 'description':
538
+ qs.searchTerm = searchQuery;
539
+ qs.searchField = 'description';
540
+ break;
541
+ default:
542
+ qs.searchTerm = searchQuery;
543
+ }
544
+ // Add additional filter parameters
523
545
  if (searchOptions.remote_setting)
524
546
  qs.remote_setting = searchOptions.remote_setting;
525
547
  if (searchOptions.status)
@@ -1 +1 @@
1
- {"version":3,"sources":["../nodes/InNotes/InNotes.node.ts"],"names":[],"mappings":"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","file":"InNotes.node.js","sourcesContent":["/**\n * @author Marco Visin\n * @date 2025-06-02\n */\n\nimport {\n\tIDataObject,\n\tIExecuteFunctions,\n\tIHttpRequestMethods,\n\tILoadOptionsFunctions,\n\tINodeExecutionData,\n\tINodePropertyOptions,\n\tINodeType,\n\tINodeTypeDescription,\n\tNodeApiError,\n\tNodeConnectionType,\n} from 'n8n-workflow';\n\nimport {contactFields, contactOperations} from '../../descriptions/ContactDescription';\nimport {noteFields, noteOperations} from '../../descriptions/NoteDescription';\nimport {jobFields, jobOperations} from '../../descriptions/JobDescription';\nimport {statusFields, statusOperations} from '../../descriptions/StatusDescription';\nimport {tagFields, tagOperations} from '../../descriptions/TagDescription';\nimport {userFields, userOperations} from '../../descriptions/UserDescription';\n\nexport class InNotes implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'InNotes',\n\t\tname: 'inNotes',\n\t\ticon: 'file:Logo_128.png',\n\t\tgroup: ['output'],\n\t\tversion: 1,\n\t\tsubtitle: '={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}',\n\t\tdescription: 'Consume InNotes CRM API',\n\t\tdefaults: {\n\t\t\tname: 'InNotes',\n\t\t},\n\t\tinputs: [NodeConnectionType.Main],\n\t\toutputs: [NodeConnectionType.Main],\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'inNotesApi',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Resource',\n\t\t\t\tname: 'resource',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Contact',\n\t\t\t\t\t\tvalue: 'contact',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Note',\n\t\t\t\t\t\tvalue: 'note',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Job',\n\t\t\t\t\t\tvalue: 'job',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Status',\n\t\t\t\t\t\tvalue: 'status',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Tag',\n\t\t\t\t\t\tvalue: 'tag',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'User',\n\t\t\t\t\t\tvalue: 'user',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'contact',\n\t\t\t},\n\t\t\t...contactOperations,\n\t\t\t...noteOperations,\n\t\t\t...jobOperations,\n\t\t\t...statusOperations,\n\t\t\t...tagOperations,\n\t\t\t...userOperations,\n\t\t\t...contactFields,\n\t\t\t...noteFields,\n\t\t\t...jobFields,\n\t\t\t...statusFields,\n\t\t\t...tagFields,\n\t\t\t...userFields,\n\t\t],\n\t};\n\n\tmethods = {\n\t\tloadOptions: {\n\t\t\tasync jobStatuses(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {\n\t\t\t\ttry {\n\t\t\t\t\tconst credentials = await this.getCredentials('inNotesApi');\n\t\t\t\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\t\t\t\tconst response = await this.helpers.httpRequestWithAuthentication.call(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\t'inNotesApi',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\t\t\turl: `${baseUrl}/api/statuses`,\n\t\t\t\t\t\t\tqs: { type: 'job' },\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\n\t\t\t\t\tconst statuses = Array.isArray(response) ? response : [response];\n\t\t\t\t\treturn statuses.map((status: any) => ({\n\t\t\t\t\t\tname: status.name,\n\t\t\t\t\t\tvalue: status.name,\n\t\t\t\t\t}));\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthrow new NodeApiError(this.getNode(), {\n\t\t\t\t\t\tmessage: `Failed to load job statuses: ${(error as Error).message}`,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst items = this.getInputData();\n\t\tconst returnData: IDataObject[] = [];\n\t\tconst resource = this.getNodeParameter('resource', 0);\n\t\tconst operation = this.getNodeParameter('operation', 0);\n\n\t\t// Create a node instance to access the methods\n\t\tconst nodeInstance = new InNotes();\n\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\ttry {\n\t\t\t\tlet responseData: IDataObject | IDataObject[] = {};\n\n\t\t\t\tif (resource === 'contact') {\n\t\t\t\t\tresponseData = await nodeInstance.executeContactOperation(this, i, operation);\n\t\t\t\t} else if (resource === 'note') {\n\t\t\t\t\tresponseData = await nodeInstance.executeNoteOperation(this, i, operation);\n\t\t\t\t} else if (resource === 'job') {\n\t\t\t\t\tresponseData = await nodeInstance.executeJobOperation(this, i, operation);\n\t\t\t\t} else if (resource === 'status') {\n\t\t\t\t\tresponseData = await nodeInstance.executeStatusOperation(this, i, operation);\n\t\t\t\t} else if (resource === 'tag') {\n\t\t\t\t\tresponseData = await nodeInstance.executeTagOperation(this, i, operation);\n\t\t\t\t} else if (resource === 'user') {\n\t\t\t\t\tresponseData = await nodeInstance.executeUserOperation(this, i, operation);\n\t\t\t\t}\n\n\t\t\t\tif (Array.isArray(responseData)) {\n\t\t\t\t\treturnData.push(...responseData);\n\t\t\t\t} else {\n\t\t\t\t\treturnData.push(responseData);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (this.continueOnFail()) {\n\t\t\t\t\treturnData.push({ error: (error as Error).message });\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\treturn [this.helpers.returnJsonArray(returnData)];\n\t}\n\n\tprivate async executeContactOperation(executeFunctions: IExecuteFunctions, itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'create') {\n\t\t\tconst name = executeFunctions.getNodeParameter('name', itemIndex) as string;\n\t\t\tconst linkedin_key = executeFunctions.getNodeParameter('linkedin_key', itemIndex) as string;\n\t\t\tconst linkedin_user = executeFunctions.getNodeParameter('linkedin_user', itemIndex, '') as string;\n\t\t\tconst location = executeFunctions.getNodeParameter('location', itemIndex, '') as string;\n\t\t\tconst current_company = executeFunctions.getNodeParameter('current_company', itemIndex, '') as string;\n\t\t\tconst picture_url = executeFunctions.getNodeParameter('picture_url', itemIndex, '') as string;\n\t\t\tconst tags = executeFunctions.getNodeParameter('tags', itemIndex, '') as string;\n\t\t\tconst status_id = executeFunctions.getNodeParameter('status_id', itemIndex, '') as string;\n\n\t\t\tconst body: IDataObject = {\n\t\t\t\tname,\n\t\t\t\tlinkedin_key,\n\t\t\t\t...(linkedin_user && { linkedin_user }),\n\t\t\t\t...(location && { location }),\n\t\t\t\t...(current_company && { current_company }),\n\t\t\t\t...(picture_url && { picture_url }),\n\t\t\t\t...(tags && { tags: tags.split(',').map((tag: string) => tag.trim()) }),\n\t\t\t\t...(status_id && { status_id }),\n\t\t\t};\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/contacts`,\n\t\t\t\t\tbody,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'get') {\n\t\t\tconst contactId = executeFunctions.getNodeParameter('contactId', itemIndex) as string;\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/contacts/${contactId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'getAll') {\n\t\t\tconst returnAll = executeFunctions.getNodeParameter('returnAll', itemIndex, false) as boolean;\n\t\t\tconst search = executeFunctions.getNodeParameter('search', itemIndex, '') as string;\n\t\t\tconst tags = executeFunctions.getNodeParameter('tags', itemIndex, '') as string;\n\n\t\t\tconst qs: IDataObject = {};\n\t\t\tif (search) qs.search = search;\n\t\t\tif (tags) qs.tags = tags;\n\n\t\t\tif (!returnAll) {\n\t\t\t\tconst limit = executeFunctions.getNodeParameter('limit', itemIndex, 24);\n\t\t\t\tqs.pageSize = limit;\n\t\t\t\tqs.page = 1;\n\t\t\t}\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/contacts`,\n\t\t\t\t\tqs,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tif (operation === 'update') {\n\t\t\tconst contactId = executeFunctions.getNodeParameter('contactId', itemIndex) as string;\n\t\t\tconst updateFields = executeFunctions.getNodeParameter('updateFields', itemIndex);\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'PUT' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/contacts/${contactId}`,\n\t\t\t\t\tbody: updateFields,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'delete') {\n\t\t\tconst contactId = executeFunctions.getNodeParameter('contactId', itemIndex) as string;\n\n\t\t\tawait executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'DELETE' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/contacts/${contactId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn { success: true };\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"contact\"!`,\n\t\t});\n\t}\n\n\tprivate async executeNoteOperation(executeFunctions: IExecuteFunctions, itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'create') {\n\t\t\tconst content = executeFunctions.getNodeParameter('content', itemIndex) as string;\n\t\t\tconst contactId = executeFunctions.getNodeParameter('contactId', itemIndex) as string | number;\n\t\t\tconst visibility = executeFunctions.getNodeParameter('visibility', itemIndex, '') as string;\n\t\t\tconst ext_table_name = executeFunctions.getNodeParameter('ext_table_name', itemIndex, '') as string;\n\n\t\t\tconst body: IDataObject = {\n\t\t\t\tcontent,\n\t\t\t\tcontact_id: contactId,\n\t\t\t\t...(visibility && { visibility }),\n\t\t\t\t...(ext_table_name && { ext_table_name }),\n\t\t\t};\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/note`,\n\t\t\t\t\tbody,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'get') {\n\t\t\tconst noteId = executeFunctions.getNodeParameter('noteId', itemIndex) as string | number;\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/note/${noteId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'getAll') {\n\t\t\tconst contactId = executeFunctions.getNodeParameter('contactId', itemIndex) as string | number;\n\t\t\tconst returnAll = executeFunctions.getNodeParameter('returnAll', itemIndex, false) as boolean;\n\n\t\t\tconst qs: IDataObject = {\n\t\t\t\tcontact_id: contactId,\n\t\t\t};\n\n\t\t\tif (!returnAll) {\n\t\t\t\tconst limit = executeFunctions.getNodeParameter('limit', itemIndex, 24);\n\t\t\t\tqs.pageSize = limit;\n\t\t\t\tqs.page = 1;\n\t\t\t}\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/note`,\n\t\t\t\t\tqs,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tif (operation === 'update') {\n\t\t\tconst noteId = executeFunctions.getNodeParameter('noteId', itemIndex) as string | number;\n\t\t\tconst updateFields = executeFunctions.getNodeParameter('updateFields', itemIndex);\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'PUT' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/note/${noteId}`,\n\t\t\t\t\tbody: updateFields,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'delete') {\n\t\t\tconst noteId = executeFunctions.getNodeParameter('noteId', itemIndex) as string | number;\n\n\t\t\tawait executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'DELETE' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/note/${noteId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn { success: true };\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"note\"!`,\n\t\t});\n\t}\n\n\tprivate async executeJobOperation(executeFunctions: IExecuteFunctions, itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'create') {\n\t\t\tconst name = executeFunctions.getNodeParameter('name', itemIndex) as string;\n\t\t\tconst company_name = executeFunctions.getNodeParameter('company_name', itemIndex) as string;\n\t\t\tconst status = executeFunctions.getNodeParameter('status', itemIndex, '') as string;\n\t\t\tconst description = executeFunctions.getNodeParameter('description', itemIndex, '') as string;\n\t\t\tconst location = executeFunctions.getNodeParameter('location', itemIndex, '') as string;\n\t\t\tconst remote_setting = executeFunctions.getNodeParameter('remote_setting', itemIndex, '') as string;\n\t\t\tconst company_url = executeFunctions.getNodeParameter('company_url', itemIndex, '') as string;\n\t\t\tconst ext_id = executeFunctions.getNodeParameter('ext_id', itemIndex, '') as string;\n\t\t\tconst picture_url = executeFunctions.getNodeParameter('picture_url', itemIndex, '') as string;\n\t\t\tconst tags = executeFunctions.getNodeParameter('tags', itemIndex, '') as string;\n\n\t\t\tlet status_id: string | undefined;\n\n\t\t\t// If status is provided, lookup the status ID\n\t\t\tif (status) {\n\t\t\t\ttry {\n\t\t\t\t\t// Get all job statuses\n\t\t\t\t\tconst statusResponse = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\t\t\texecuteFunctions,\n\t\t\t\t\t\t'inNotesApi',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\t\t\turl: `${baseUrl}/api/statuses`,\n\t\t\t\t\t\t\tqs: { type: 'job' },\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\n\t\t\t\t\t// Find matching status by name (case-insensitive)\n\t\t\t\t\tconst statuses = Array.isArray(statusResponse) ? statusResponse : [statusResponse];\n\t\t\t\t\tconst matchingStatus = statuses.find((s: any) =>\n\t\t\t\t\t\ts.name && s.name.toLowerCase() === status.toLowerCase(),\n\t\t\t\t\t);\n\n\t\t\t\t\tif (matchingStatus) {\n\t\t\t\t\t\tstatus_id = matchingStatus.id.toString();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\t\t\t\t\tmessage: `Status \"${status}\" not found. Available statuses: ${statuses.map((s: any) => s.name).join(', ')}`,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error instanceof NodeApiError) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\t\t\t\tmessage: `Failed to lookup status \"${status}\": ${(error as Error).message}`,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst body: IDataObject = {\n\t\t\t\tname,\n\t\t\t\tcompany_name,\n\t\t\t\tstatus,\n\t\t\t\t...(description && { description }),\n\t\t\t\t...(location && { location }),\n\t\t\t\t...(remote_setting && { remote_setting }),\n\t\t\t\t...(company_url && { company_url }),\n\t\t\t\t...(status_id && { status_id }),\n\t\t\t\t...(ext_id && { ext_id }),\n\t\t\t\t...(picture_url && { picture_url }),\n\t\t\t\t...(tags && { tags: tags.split(',').map((tag: string) => tag.trim()) }),\n\t\t\t};\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job`,\n\t\t\t\t\tbody,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'get') {\n\t\t\tconst jobId = executeFunctions.getNodeParameter('jobId', itemIndex) as string | number;\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job/${jobId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'getAll') {\n\t\t\tconst returnAll = executeFunctions.getNodeParameter('returnAll', itemIndex, false) as boolean;\n\t\t\tconst search = executeFunctions.getNodeParameter('search', itemIndex, '') as string;\n\t\t\tconst tags = executeFunctions.getNodeParameter('tags', itemIndex, '') as string;\n\n\t\t\tconst qs: IDataObject = {};\n\t\t\tif (search) qs.search = search;\n\t\t\tif (tags) qs.tags = tags;\n\n\t\t\tif (!returnAll) {\n\t\t\t\tconst limit = executeFunctions.getNodeParameter('limit', itemIndex, 24);\n\t\t\t\tqs.pageSize = limit;\n\t\t\t\tqs.page = 1;\n\t\t\t}\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job`,\n\t\t\t\t\tqs,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tif (operation === 'update') {\n\t\t\tconst jobId = executeFunctions.getNodeParameter('jobId', itemIndex) as string | number;\n\t\t\tconst updateFields = executeFunctions.getNodeParameter('updateFields', itemIndex);\n\n\t\t\t// Handle status string lookup if provided\n\t\t\tif (updateFields.status && typeof updateFields.status === 'string') {\n\t\t\t\ttry {\n\t\t\t\t\t// Get all job statuses\n\t\t\t\t\tconst statusResponse = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\t\t\texecuteFunctions,\n\t\t\t\t\t\t'inNotesApi',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\t\t\turl: `${baseUrl}/api/statuses`,\n\t\t\t\t\t\t\tqs: { type: 'job' },\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\n\t\t\t\t\t// Find matching status by name (case-insensitive)\n\t\t\t\t\tconst statuses = Array.isArray(statusResponse) ? statusResponse : [statusResponse];\n\t\t\t\t\tconst matchingStatus = statuses.find((s: any) =>\n\t\t\t\t\t\ts.name && s.name.toLowerCase() === (updateFields.status as string).toLowerCase(),\n\t\t\t\t\t);\n\n\t\t\t\t\tif (matchingStatus) {\n\t\t\t\t\t\t// Replace status with status_id and remove status field\n\t\t\t\t\t\tupdateFields.status_id = matchingStatus.id.toString();\n\t\t\t\t\t\tdelete updateFields.status;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\t\t\t\t\tmessage: `Status \"${updateFields.status}\" not found. Available statuses: ${statuses.map((s: any) => s.name).join(', ')}`,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error instanceof NodeApiError) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\t\t\t\tmessage: `Failed to lookup status \"${updateFields.status}\": ${(error as Error).message}`,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Process tags if provided as comma-separated string\n\t\t\tif (updateFields.tags && typeof updateFields.tags === 'string') {\n\t\t\t\tupdateFields.tags = (updateFields.tags).split(',').map((tag: string) => tag.trim());\n\t\t\t}\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'PUT' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job/${jobId}`,\n\t\t\t\t\tbody: updateFields,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'delete') {\n\t\t\tconst jobId = executeFunctions.getNodeParameter('jobId', itemIndex) as string | number;\n\n\t\t\tawait executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'DELETE' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job/${jobId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn { success: true };\n\t\t}\n\n\t\tif (operation === 'search') {\n\t\t\tconst searchQuery = executeFunctions.getNodeParameter('searchQuery', itemIndex) as string;\n\t\t\tconst searchOptions = executeFunctions.getNodeParameter('searchOptions', itemIndex, {}) as IDataObject;\n\n\t\t\tconst qs: IDataObject = {\n\t\t\t\tsearch: searchQuery,\n\t\t\t};\n\n\t\t\t// Add optional search parameters\n\t\t\tif (searchOptions.location) qs.location = searchOptions.location;\n\t\t\tif (searchOptions.company) qs.company = searchOptions.company;\n\t\t\tif (searchOptions.remote_setting) qs.remote_setting = searchOptions.remote_setting;\n\t\t\tif (searchOptions.status) qs.status = searchOptions.status;\n\t\t\tif (searchOptions.tags) qs.tags = searchOptions.tags;\n\n\t\t\t// Set limit with default value\n\t\t\tconst limit = (searchOptions.limit as number) || 24;\n\t\t\tqs.pageSize = limit;\n\t\t\tqs.page = 1;\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job`,\n\t\t\t\t\tqs,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"job\"!`,\n\t\t});\n\t}\n\n\tprivate async executeStatusOperation(executeFunctions: IExecuteFunctions, itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'create') {\n\t\t\tconst name = executeFunctions.getNodeParameter('name', itemIndex) as string;\n\t\t\tconst type = executeFunctions.getNodeParameter('type', itemIndex) as string;\n\t\t\tconst color = executeFunctions.getNodeParameter('color', itemIndex, '') as string;\n\n\t\t\tconst body: IDataObject = {\n\t\t\t\tname,\n\t\t\t\ttype,\n\t\t\t\t...(color && { color }),\n\t\t\t};\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/statuses`,\n\t\t\t\t\tbody,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'getAll') {\n\t\t\tconst type = executeFunctions.getNodeParameter('type', itemIndex, 'contact') as string;\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/statuses`,\n\t\t\t\t\tqs: { type },\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tif (operation === 'update') {\n\t\t\tconst statusId = executeFunctions.getNodeParameter('statusId', itemIndex) as string | number;\n\t\t\tconst updateFields = executeFunctions.getNodeParameter('updateFields', itemIndex);\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'PUT' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/statuses/${statusId}`,\n\t\t\t\t\tbody: updateFields,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'delete') {\n\t\t\tconst statusId = executeFunctions.getNodeParameter('statusId', itemIndex) as string | number;\n\n\t\t\tawait executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'DELETE' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/statuses/${statusId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn { success: true };\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"status\"!`,\n\t\t});\n\t}\n\n\tprivate async executeTagOperation(executeFunctions: IExecuteFunctions, _itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'getAll') {\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/tags`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"tag\"! Supported operations: getAll`,\n\t\t});\n\t}\n\n\tprivate async executeUserOperation(executeFunctions: IExecuteFunctions, itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'get') {\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/user`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'getCv') {\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/user`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\t// Return only CV-related fields\n\t\t\tconst { cv, job_preferences, cv_updated_at } = response;\n\n\t\t\t// Parse job_preferences if it's a JSON string\n\t\t\tlet parsedPreferences = null;\n\t\t\tlet searchJobTitles = [];\n\t\t\tlet locations = [];\n\n\t\t\tif (job_preferences) {\n\t\t\t\ttry {\n\t\t\t\t\tparsedPreferences = typeof job_preferences === 'string'\n\t\t\t\t\t\t? JSON.parse(job_preferences)\n\t\t\t\t\t\t: job_preferences;\n\n\t\t\t\t\tsearchJobTitles = parsedPreferences.searchJobTitles || [];\n\t\t\t\t\tlocations = parsedPreferences.locations || [];\n\t\t\t\t} catch (error) {\n\t\t\t\t\t// If parsing fails, keep empty arrays\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcv,\n\t\t\t\tjob_preferences: parsedPreferences,\n\t\t\t\tcv_updated_at,\n\t\t\t\tsearchJobTitles: searchJobTitles.join(', '),\n\t\t\t\tlocations: locations.join(', '),\n\t\t\t};\n\t\t}\n\n\t\tif (operation === 'update') {\n\t\t\tconst updateFields = executeFunctions.getNodeParameter('updateFields', itemIndex);\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'PUT' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/user`,\n\t\t\t\t\tbody: updateFields,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"user\"! Supported operations: get, getCv, update`,\n\t\t});\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../nodes/InNotes/InNotes.node.ts"],"names":[],"mappings":"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","file":"InNotes.node.js","sourcesContent":["/**\n * @author Marco Visin\n * @date 2025-06-02\n */\n\nimport {\n\tIDataObject,\n\tIExecuteFunctions,\n\tIHttpRequestMethods,\n\tILoadOptionsFunctions,\n\tINodeExecutionData,\n\tINodePropertyOptions,\n\tINodeType,\n\tINodeTypeDescription,\n\tNodeApiError,\n\tNodeConnectionType,\n} from 'n8n-workflow';\n\nimport {contactFields, contactOperations} from '../../descriptions/ContactDescription';\nimport {noteFields, noteOperations} from '../../descriptions/NoteDescription';\nimport {jobFields, jobOperations} from '../../descriptions/JobDescription';\nimport {statusFields, statusOperations} from '../../descriptions/StatusDescription';\nimport {tagFields, tagOperations} from '../../descriptions/TagDescription';\nimport {userFields, userOperations} from '../../descriptions/UserDescription';\n\nexport class InNotes implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'InNotes',\n\t\tname: 'inNotes',\n\t\ticon: 'file:Logo_128.png',\n\t\tgroup: ['output'],\n\t\tversion: 1,\n\t\tsubtitle: '={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}',\n\t\tdescription: 'Consume InNotes CRM API',\n\t\tdefaults: {\n\t\t\tname: 'InNotes',\n\t\t},\n\t\tinputs: [NodeConnectionType.Main],\n\t\toutputs: [NodeConnectionType.Main],\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'inNotesApi',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Resource',\n\t\t\t\tname: 'resource',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Contact',\n\t\t\t\t\t\tvalue: 'contact',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Note',\n\t\t\t\t\t\tvalue: 'note',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Job',\n\t\t\t\t\t\tvalue: 'job',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Status',\n\t\t\t\t\t\tvalue: 'status',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Tag',\n\t\t\t\t\t\tvalue: 'tag',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'User',\n\t\t\t\t\t\tvalue: 'user',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'contact',\n\t\t\t},\n\t\t\t...contactOperations,\n\t\t\t...noteOperations,\n\t\t\t...jobOperations,\n\t\t\t...statusOperations,\n\t\t\t...tagOperations,\n\t\t\t...userOperations,\n\t\t\t...contactFields,\n\t\t\t...noteFields,\n\t\t\t...jobFields,\n\t\t\t...statusFields,\n\t\t\t...tagFields,\n\t\t\t...userFields,\n\t\t],\n\t};\n\n\tmethods = {\n\t\tloadOptions: {\n\t\t\tasync jobStatuses(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {\n\t\t\t\ttry {\n\t\t\t\t\tconst credentials = await this.getCredentials('inNotesApi');\n\t\t\t\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\t\t\t\tconst response = await this.helpers.httpRequestWithAuthentication.call(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\t'inNotesApi',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\t\t\turl: `${baseUrl}/api/statuses`,\n\t\t\t\t\t\t\tqs: { type: 'job' },\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\n\t\t\t\t\tconst statuses = Array.isArray(response) ? response : [response];\n\t\t\t\t\treturn statuses.map((status: any) => ({\n\t\t\t\t\t\tname: status.name,\n\t\t\t\t\t\tvalue: status.name,\n\t\t\t\t\t}));\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthrow new NodeApiError(this.getNode(), {\n\t\t\t\t\t\tmessage: `Failed to load job statuses: ${(error as Error).message}`,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst items = this.getInputData();\n\t\tconst returnData: IDataObject[] = [];\n\t\tconst resource = this.getNodeParameter('resource', 0);\n\t\tconst operation = this.getNodeParameter('operation', 0);\n\n\t\t// Create a node instance to access the methods\n\t\tconst nodeInstance = new InNotes();\n\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\ttry {\n\t\t\t\tlet responseData: IDataObject | IDataObject[] = {};\n\n\t\t\t\tif (resource === 'contact') {\n\t\t\t\t\tresponseData = await nodeInstance.executeContactOperation(this, i, operation);\n\t\t\t\t} else if (resource === 'note') {\n\t\t\t\t\tresponseData = await nodeInstance.executeNoteOperation(this, i, operation);\n\t\t\t\t} else if (resource === 'job') {\n\t\t\t\t\tresponseData = await nodeInstance.executeJobOperation(this, i, operation);\n\t\t\t\t} else if (resource === 'status') {\n\t\t\t\t\tresponseData = await nodeInstance.executeStatusOperation(this, i, operation);\n\t\t\t\t} else if (resource === 'tag') {\n\t\t\t\t\tresponseData = await nodeInstance.executeTagOperation(this, i, operation);\n\t\t\t\t} else if (resource === 'user') {\n\t\t\t\t\tresponseData = await nodeInstance.executeUserOperation(this, i, operation);\n\t\t\t\t}\n\n\t\t\t\tif (Array.isArray(responseData)) {\n\t\t\t\t\treturnData.push(...responseData);\n\t\t\t\t} else {\n\t\t\t\t\treturnData.push(responseData);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (this.continueOnFail()) {\n\t\t\t\t\treturnData.push({ error: (error as Error).message });\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\treturn [this.helpers.returnJsonArray(returnData)];\n\t}\n\n\tprivate async executeContactOperation(executeFunctions: IExecuteFunctions, itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'create') {\n\t\t\tconst name = executeFunctions.getNodeParameter('name', itemIndex) as string;\n\t\t\tconst linkedin_key = executeFunctions.getNodeParameter('linkedin_key', itemIndex) as string;\n\t\t\tconst linkedin_user = executeFunctions.getNodeParameter('linkedin_user', itemIndex, '') as string;\n\t\t\tconst location = executeFunctions.getNodeParameter('location', itemIndex, '') as string;\n\t\t\tconst current_company = executeFunctions.getNodeParameter('current_company', itemIndex, '') as string;\n\t\t\tconst picture_url = executeFunctions.getNodeParameter('picture_url', itemIndex, '') as string;\n\t\t\tconst tags = executeFunctions.getNodeParameter('tags', itemIndex, '') as string;\n\t\t\tconst status_id = executeFunctions.getNodeParameter('status_id', itemIndex, '') as string;\n\n\t\t\tconst body: IDataObject = {\n\t\t\t\tname,\n\t\t\t\tlinkedin_key,\n\t\t\t\t...(linkedin_user && { linkedin_user }),\n\t\t\t\t...(location && { location }),\n\t\t\t\t...(current_company && { current_company }),\n\t\t\t\t...(picture_url && { picture_url }),\n\t\t\t\t...(tags && { tags: tags.split(',').map((tag: string) => tag.trim()) }),\n\t\t\t\t...(status_id && { status_id }),\n\t\t\t};\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/contacts`,\n\t\t\t\t\tbody,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'get') {\n\t\t\tconst contactId = executeFunctions.getNodeParameter('contactId', itemIndex) as string;\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/contacts/${contactId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'getAll') {\n\t\t\tconst returnAll = executeFunctions.getNodeParameter('returnAll', itemIndex, false) as boolean;\n\t\t\tconst search = executeFunctions.getNodeParameter('search', itemIndex, '') as string;\n\t\t\tconst tags = executeFunctions.getNodeParameter('tags', itemIndex, '') as string;\n\n\t\t\tconst qs: IDataObject = {};\n\t\t\tif (search) qs.search = search;\n\t\t\tif (tags) qs.tags = tags;\n\n\t\t\tif (!returnAll) {\n\t\t\t\tconst limit = executeFunctions.getNodeParameter('limit', itemIndex, 24);\n\t\t\t\tqs.pageSize = limit;\n\t\t\t\tqs.page = 1;\n\t\t\t}\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/contacts`,\n\t\t\t\t\tqs,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tif (operation === 'update') {\n\t\t\tconst contactId = executeFunctions.getNodeParameter('contactId', itemIndex) as string;\n\t\t\tconst updateFields = executeFunctions.getNodeParameter('updateFields', itemIndex);\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'PUT' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/contacts/${contactId}`,\n\t\t\t\t\tbody: updateFields,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'delete') {\n\t\t\tconst contactId = executeFunctions.getNodeParameter('contactId', itemIndex) as string;\n\n\t\t\tawait executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'DELETE' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/contacts/${contactId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn { success: true };\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"contact\"!`,\n\t\t});\n\t}\n\n\tprivate async executeNoteOperation(executeFunctions: IExecuteFunctions, itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'create') {\n\t\t\tconst content = executeFunctions.getNodeParameter('content', itemIndex) as string;\n\t\t\tconst contactId = executeFunctions.getNodeParameter('contactId', itemIndex) as string | number;\n\t\t\tconst visibility = executeFunctions.getNodeParameter('visibility', itemIndex, '') as string;\n\t\t\tconst ext_table_name = executeFunctions.getNodeParameter('ext_table_name', itemIndex, '') as string;\n\n\t\t\tconst body: IDataObject = {\n\t\t\t\tcontent,\n\t\t\t\tcontact_id: contactId,\n\t\t\t\t...(visibility && { visibility }),\n\t\t\t\t...(ext_table_name && { ext_table_name }),\n\t\t\t};\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/note`,\n\t\t\t\t\tbody,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'get') {\n\t\t\tconst noteId = executeFunctions.getNodeParameter('noteId', itemIndex) as string | number;\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/note/${noteId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'getAll') {\n\t\t\tconst contactId = executeFunctions.getNodeParameter('contactId', itemIndex) as string | number;\n\t\t\tconst returnAll = executeFunctions.getNodeParameter('returnAll', itemIndex, false) as boolean;\n\n\t\t\tconst qs: IDataObject = {\n\t\t\t\tcontact_id: contactId,\n\t\t\t};\n\n\t\t\tif (!returnAll) {\n\t\t\t\tconst limit = executeFunctions.getNodeParameter('limit', itemIndex, 24);\n\t\t\t\tqs.pageSize = limit;\n\t\t\t\tqs.page = 1;\n\t\t\t}\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/note`,\n\t\t\t\t\tqs,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tif (operation === 'update') {\n\t\t\tconst noteId = executeFunctions.getNodeParameter('noteId', itemIndex) as string | number;\n\t\t\tconst updateFields = executeFunctions.getNodeParameter('updateFields', itemIndex);\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'PUT' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/note/${noteId}`,\n\t\t\t\t\tbody: updateFields,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'delete') {\n\t\t\tconst noteId = executeFunctions.getNodeParameter('noteId', itemIndex) as string | number;\n\n\t\t\tawait executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'DELETE' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/note/${noteId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn { success: true };\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"note\"!`,\n\t\t});\n\t}\n\n\tprivate async executeJobOperation(executeFunctions: IExecuteFunctions, itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'create') {\n\t\t\tconst name = executeFunctions.getNodeParameter('name', itemIndex) as string;\n\t\t\tconst company_name = executeFunctions.getNodeParameter('company_name', itemIndex) as string;\n\t\t\tconst status = executeFunctions.getNodeParameter('status', itemIndex, '') as string;\n\t\t\tconst description = executeFunctions.getNodeParameter('description', itemIndex, '') as string;\n\t\t\tconst location = executeFunctions.getNodeParameter('location', itemIndex, '') as string;\n\t\t\tconst remote_setting = executeFunctions.getNodeParameter('remote_setting', itemIndex, '') as string;\n\t\t\tconst company_url = executeFunctions.getNodeParameter('company_url', itemIndex, '') as string;\n\t\t\tconst ext_id = executeFunctions.getNodeParameter('ext_id', itemIndex, '') as string;\n\t\t\tconst picture_url = executeFunctions.getNodeParameter('picture_url', itemIndex, '') as string;\n\t\t\tconst tags = executeFunctions.getNodeParameter('tags', itemIndex, '') as string;\n\n\t\t\tlet status_id: string | undefined;\n\n\t\t\t// If status is provided, lookup the status ID\n\t\t\tif (status) {\n\t\t\t\ttry {\n\t\t\t\t\t// Get all job statuses\n\t\t\t\t\tconst statusResponse = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\t\t\texecuteFunctions,\n\t\t\t\t\t\t'inNotesApi',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\t\t\turl: `${baseUrl}/api/statuses`,\n\t\t\t\t\t\t\tqs: { type: 'job' },\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\n\t\t\t\t\t// Find matching status by name (case-insensitive)\n\t\t\t\t\tconst statuses = Array.isArray(statusResponse) ? statusResponse : [statusResponse];\n\t\t\t\t\tconst matchingStatus = statuses.find((s: any) =>\n\t\t\t\t\t\ts.name && s.name.toLowerCase() === status.toLowerCase(),\n\t\t\t\t\t);\n\n\t\t\t\t\tif (matchingStatus) {\n\t\t\t\t\t\tstatus_id = matchingStatus.id.toString();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\t\t\t\t\tmessage: `Status \"${status}\" not found. Available statuses: ${statuses.map((s: any) => s.name).join(', ')}`,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error instanceof NodeApiError) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\t\t\t\tmessage: `Failed to lookup status \"${status}\": ${(error as Error).message}`,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst body: IDataObject = {\n\t\t\t\tname,\n\t\t\t\tcompany_name,\n\t\t\t\tstatus,\n\t\t\t\t...(description && { description }),\n\t\t\t\t...(location && { location }),\n\t\t\t\t...(remote_setting && { remote_setting }),\n\t\t\t\t...(company_url && { company_url }),\n\t\t\t\t...(status_id && { status_id }),\n\t\t\t\t...(ext_id && { ext_id }),\n\t\t\t\t...(picture_url && { picture_url }),\n\t\t\t\t...(tags && { tags: tags.split(',').map((tag: string) => tag.trim()) }),\n\t\t\t};\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job`,\n\t\t\t\t\tbody,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'get') {\n\t\t\tconst jobId = executeFunctions.getNodeParameter('jobId', itemIndex) as string | number;\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job/${jobId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'getAll') {\n\t\t\tconst returnAll = executeFunctions.getNodeParameter('returnAll', itemIndex, false) as boolean;\n\t\t\tconst search = executeFunctions.getNodeParameter('search', itemIndex, '') as string;\n\t\t\tconst tags = executeFunctions.getNodeParameter('tags', itemIndex, '') as string;\n\n\t\t\tconst qs: IDataObject = {};\n\t\t\tif (search) qs.search = search;\n\t\t\tif (tags) qs.tags = tags;\n\n\t\t\tif (!returnAll) {\n\t\t\t\tconst limit = executeFunctions.getNodeParameter('limit', itemIndex, 24);\n\t\t\t\tqs.pageSize = limit;\n\t\t\t\tqs.page = 1;\n\t\t\t}\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job`,\n\t\t\t\t\tqs,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tif (operation === 'update') {\n\t\t\tconst jobId = executeFunctions.getNodeParameter('jobId', itemIndex) as string | number;\n\t\t\tconst updateFields = executeFunctions.getNodeParameter('updateFields', itemIndex);\n\n\t\t\t// Handle status string lookup if provided\n\t\t\tif (updateFields.status && typeof updateFields.status === 'string') {\n\t\t\t\ttry {\n\t\t\t\t\t// Get all job statuses\n\t\t\t\t\tconst statusResponse = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\t\t\texecuteFunctions,\n\t\t\t\t\t\t'inNotesApi',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\t\t\turl: `${baseUrl}/api/statuses`,\n\t\t\t\t\t\t\tqs: { type: 'job' },\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\n\t\t\t\t\t// Find matching status by name (case-insensitive)\n\t\t\t\t\tconst statuses = Array.isArray(statusResponse) ? statusResponse : [statusResponse];\n\t\t\t\t\tconst matchingStatus = statuses.find((s: any) =>\n\t\t\t\t\t\ts.name && s.name.toLowerCase() === (updateFields.status as string).toLowerCase(),\n\t\t\t\t\t);\n\n\t\t\t\t\tif (matchingStatus) {\n\t\t\t\t\t\t// Replace status with status_id and remove status field\n\t\t\t\t\t\tupdateFields.status_id = matchingStatus.id.toString();\n\t\t\t\t\t\tdelete updateFields.status;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\t\t\t\t\tmessage: `Status \"${updateFields.status}\" not found. Available statuses: ${statuses.map((s: any) => s.name).join(', ')}`,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error instanceof NodeApiError) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\t\t\t\tmessage: `Failed to lookup status \"${updateFields.status}\": ${(error as Error).message}`,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Process tags if provided as comma-separated string\n\t\t\tif (updateFields.tags && typeof updateFields.tags === 'string') {\n\t\t\t\tupdateFields.tags = (updateFields.tags).split(',').map((tag: string) => tag.trim());\n\t\t\t}\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'PUT' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job/${jobId}`,\n\t\t\t\t\tbody: updateFields,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'delete') {\n\t\t\tconst jobId = executeFunctions.getNodeParameter('jobId', itemIndex) as string | number;\n\n\t\t\tawait executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'DELETE' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job/${jobId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn { success: true };\n\t\t}\n\n\t\tif (operation === 'search') {\n\t\t\tconst searchMethod = executeFunctions.getNodeParameter('searchMethod', itemIndex) as string;\n\t\t\tconst searchQuery = executeFunctions.getNodeParameter('searchQuery', itemIndex) as string;\n\t\t\tconst searchOptions = executeFunctions.getNodeParameter('searchOptions', itemIndex, {}) as IDataObject;\n\n\t\t\tconst qs: IDataObject = {};\n\n\t\t\t// Handle different search methods\n\t\t\tswitch (searchMethod) {\n\t\t\tcase 'general':\n\t\t\t\tqs.searchTerm = searchQuery;\n\t\t\t\tbreak;\n\t\t\tcase 'ext_id':\n\t\t\t\tqs.ext_id = searchQuery;\n\t\t\t\tbreak;\n\t\t\tcase 'title':\n\t\t\t\tqs.searchTerm = searchQuery;\n\t\t\t\tqs.searchField = 'title';\n\t\t\t\tbreak;\n\t\t\tcase 'company':\n\t\t\t\tqs.searchTerm = searchQuery;\n\t\t\t\tqs.searchField = 'company';\n\t\t\t\tbreak;\n\t\t\tcase 'location':\n\t\t\t\tqs.searchTerm = searchQuery;\n\t\t\t\tqs.searchField = 'location';\n\t\t\t\tbreak;\n\t\t\tcase 'description':\n\t\t\t\tqs.searchTerm = searchQuery;\n\t\t\t\tqs.searchField = 'description';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tqs.searchTerm = searchQuery;\n\t\t\t}\n\n\t\t\t// Add additional filter parameters\n\t\t\tif (searchOptions.remote_setting) qs.remote_setting = searchOptions.remote_setting;\n\t\t\tif (searchOptions.status) qs.status = searchOptions.status;\n\t\t\tif (searchOptions.tags) qs.tags = searchOptions.tags;\n\n\t\t\t// Set limit with default value\n\t\t\tconst limit = (searchOptions.limit as number) || 24;\n\t\t\tqs.pageSize = limit;\n\t\t\tqs.page = 1;\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/job`,\n\t\t\t\t\tqs,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"job\"!`,\n\t\t});\n\t}\n\n\tprivate async executeStatusOperation(executeFunctions: IExecuteFunctions, itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'create') {\n\t\t\tconst name = executeFunctions.getNodeParameter('name', itemIndex) as string;\n\t\t\tconst type = executeFunctions.getNodeParameter('type', itemIndex) as string;\n\t\t\tconst color = executeFunctions.getNodeParameter('color', itemIndex, '') as string;\n\n\t\t\tconst body: IDataObject = {\n\t\t\t\tname,\n\t\t\t\ttype,\n\t\t\t\t...(color && { color }),\n\t\t\t};\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/statuses`,\n\t\t\t\t\tbody,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'getAll') {\n\t\t\tconst type = executeFunctions.getNodeParameter('type', itemIndex, 'contact') as string;\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/statuses`,\n\t\t\t\t\tqs: { type },\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tif (operation === 'update') {\n\t\t\tconst statusId = executeFunctions.getNodeParameter('statusId', itemIndex) as string | number;\n\t\t\tconst updateFields = executeFunctions.getNodeParameter('updateFields', itemIndex);\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'PUT' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/statuses/${statusId}`,\n\t\t\t\t\tbody: updateFields,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'delete') {\n\t\t\tconst statusId = executeFunctions.getNodeParameter('statusId', itemIndex) as string | number;\n\n\t\t\tawait executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'DELETE' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/statuses/${statusId}`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn { success: true };\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"status\"!`,\n\t\t});\n\t}\n\n\tprivate async executeTagOperation(executeFunctions: IExecuteFunctions, _itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'getAll') {\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/tags`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn Array.isArray(response) ? response : [response];\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"tag\"! Supported operations: getAll`,\n\t\t});\n\t}\n\n\tprivate async executeUserOperation(executeFunctions: IExecuteFunctions, itemIndex: number, operation: string): Promise<IDataObject | IDataObject[]> {\n\t\tconst credentials = await executeFunctions.getCredentials('inNotesApi');\n\t\tconst baseUrl = credentials.baseUrl as string;\n\n\t\tif (operation === 'get') {\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/user`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tif (operation === 'getCv') {\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/user`,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\t// Return only CV-related fields\n\t\t\tconst { cv, job_preferences, cv_updated_at } = response;\n\n\t\t\t// Parse job_preferences if it's a JSON string\n\t\t\tlet parsedPreferences = null;\n\t\t\tlet searchJobTitles = [];\n\t\t\tlet locations = [];\n\n\t\t\tif (job_preferences) {\n\t\t\t\ttry {\n\t\t\t\t\tparsedPreferences = typeof job_preferences === 'string'\n\t\t\t\t\t\t? JSON.parse(job_preferences)\n\t\t\t\t\t\t: job_preferences;\n\n\t\t\t\t\tsearchJobTitles = parsedPreferences.searchJobTitles || [];\n\t\t\t\t\tlocations = parsedPreferences.locations || [];\n\t\t\t\t} catch (error) {\n\t\t\t\t\t// If parsing fails, keep empty arrays\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcv,\n\t\t\t\tjob_preferences: parsedPreferences,\n\t\t\t\tcv_updated_at,\n\t\t\t\tsearchJobTitles: searchJobTitles.join(', '),\n\t\t\t\tlocations: locations.join(', '),\n\t\t\t};\n\t\t}\n\n\t\tif (operation === 'update') {\n\t\t\tconst updateFields = executeFunctions.getNodeParameter('updateFields', itemIndex);\n\n\t\t\tconst response = await executeFunctions.helpers.httpRequestWithAuthentication.call(\n\t\t\t\texecuteFunctions,\n\t\t\t\t'inNotesApi',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'PUT' as IHttpRequestMethods,\n\t\t\t\t\turl: `${baseUrl}/api/user`,\n\t\t\t\t\tbody: updateFields,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAccept: 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn response;\n\t\t}\n\n\t\tthrow new NodeApiError(executeFunctions.getNode(), {\n\t\t\tmessage: `The operation \"${operation}\" is not supported for resource \"user\"! Supported operations: get, getCv, update`,\n\t\t});\n\t}\n}\n"]}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-innotes",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "N8N node for InNotes CRM API integration",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-innotes",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "N8N node for InNotes CRM API integration",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",