n8n-nodes-innotes
Version:
N8N node for InNotes CRM API integration
467 lines (465 loc) • 12.8 kB
JavaScript
"use strict";
/**
* @author Marco
* @date 2025-06-28
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.jobFields = exports.jobOperations = void 0;
exports.jobOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['job'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a new job',
action: 'Create a job',
},
{
name: 'Get',
value: 'get',
description: 'Get a job by ID',
action: 'Get a job',
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all jobs',
action: 'Get all jobs',
},
{
name: 'Search',
value: 'search',
description: 'Search for jobs',
action: 'Search for jobs',
},
{
name: 'Update',
value: 'update',
description: 'Update a job',
action: 'Update a job',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a job',
action: 'Delete a job',
},
{
name: 'Exists',
value: 'exists',
description: 'Check if a job exists by ID or External ID',
action: 'Check if job exists',
},
],
default: 'getAll',
},
];
exports.jobFields = [
// Create fields
{
displayName: 'Job Name',
name: 'name',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['job'],
operation: ['create'],
},
},
default: '',
description: 'The name of the job position',
},
{
displayName: 'Company Name',
name: 'company_name',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['job'],
operation: ['create'],
},
},
default: '',
description: 'The name of the company',
},
{
displayName: 'Location',
name: 'location',
type: 'string',
displayOptions: {
show: {
resource: ['job'],
operation: ['create'],
},
},
default: '',
description: 'The job location',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
displayOptions: {
show: {
resource: ['job'],
operation: ['create'],
},
},
default: '',
description: 'The job description',
},
{
displayName: 'Remote Setting',
name: 'remote_setting',
type: 'string',
displayOptions: {
show: {
resource: ['job'],
operation: ['create'],
},
},
default: '',
description: 'Remote work setting (e.g., "Remote", "Hybrid", "On-site")',
},
{
displayName: 'Company URL',
name: 'company_url',
type: 'string',
displayOptions: {
show: {
resource: ['job'],
operation: ['create'],
},
},
default: '',
description: 'The company website URL',
},
{
displayName: 'Status',
name: 'status',
type: 'options',
typeOptions: {
loadOptionsMethod: 'jobStatuses',
},
displayOptions: {
show: {
resource: ['job'],
operation: ['create'],
},
},
default: '',
description: 'The job status to assign',
},
{
displayName: 'External ID',
name: 'ext_id',
type: 'string',
displayOptions: {
show: {
resource: ['job'],
operation: ['create'],
},
},
default: '',
description: 'External identifier for the job',
},
{
displayName: 'Picture URL',
name: 'picture_url',
type: 'string',
displayOptions: {
show: {
resource: ['job'],
operation: ['create'],
},
},
default: '',
description: 'URL to the job or company logo image',
},
{
displayName: 'Tags',
name: 'tags',
type: 'string',
displayOptions: {
show: {
resource: ['job'],
operation: ['create'],
},
},
default: '',
description: 'Tags to associate with this job (comma-separated)',
},
// Get operations
{
displayName: 'Job ID',
name: 'jobId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['job'],
operation: ['get', 'update', 'delete'],
},
},
default: '',
description: 'The ID of the job',
},
// Exists operation
{
displayName: 'ID',
name: 'id',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['job'],
operation: ['exists'],
},
},
default: '',
description: 'The ID to search for (will check both Job ID and External ID)',
},
// Get All fields
{
displayName: 'Search Term',
name: 'search',
type: 'string',
displayOptions: {
show: {
resource: ['job'],
operation: ['getAll'],
},
},
default: '',
description: 'Search term to filter jobs',
},
{
displayName: 'External ID',
name: 'ext_id',
type: 'string',
displayOptions: {
show: {
resource: ['job'],
operation: ['getAll'],
},
},
default: '',
description: 'External ID to filter jobs',
},
// Search fields
{
displayName: 'Search Method',
name: 'searchMethod',
type: 'options',
required: true,
displayOptions: {
show: {
resource: ['job'],
operation: ['search'],
},
},
options: [
{
name: 'General Search',
value: 'general',
description: 'Search across job title and company name (default behavior)',
},
{
name: 'External ID',
value: 'ext_id',
description: 'Search by specific external ID (exact match)',
},
{
name: 'Job Title',
value: 'title',
description: 'Search specifically in job titles (partial match)',
},
{
name: 'Company Name',
value: 'company',
description: 'Search specifically in company names (partial match)',
},
{
name: 'Location',
value: 'location',
description: 'Search specifically in job locations (partial match)',
},
{
name: 'Description',
value: 'description',
description: 'Search in job descriptions (partial match, may be slower)',
},
],
default: 'general',
description: 'Choose which field to search in',
},
{
displayName: 'Search Query',
name: 'searchQuery',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['job'],
operation: ['search'],
},
},
default: '',
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.',
},
{
displayName: 'Additional Filters',
name: 'searchOptions',
type: 'collection',
placeholder: 'Add Filter',
default: {},
displayOptions: {
show: {
resource: ['job'],
operation: ['search'],
},
},
options: [
{
displayName: 'Remote Setting',
name: 'remote_setting',
type: 'options',
options: [
{
name: 'On-site',
value: 'on-site',
},
{
name: 'Remote',
value: 'remote',
},
{
name: 'Hybrid',
value: 'hybrid',
},
],
default: '',
description: 'Filter by remote work setting',
},
{
displayName: 'Status',
name: 'status',
type: 'string',
default: '',
description: 'Filter by job status',
},
{
displayName: 'Tags',
name: 'tags',
type: 'string',
default: '',
description: 'Filter by tags (comma-separated)',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
typeOptions: {
minValue: 1,
maxValue: 100,
},
default: 24,
description: 'Maximum number of results to return',
},
],
},
// Update fields
{
displayName: 'Update Fields',
name: 'updateFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: ['job'],
operation: ['update'],
},
},
options: [
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
},
{
displayName: 'Company Name',
name: 'company_name',
type: 'string',
default: '',
},
{
displayName: 'Location',
name: 'location',
type: 'string',
default: '',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
},
{
displayName: 'Remote Setting',
name: 'remote_setting',
type: 'string',
default: '',
},
{
displayName: 'Company URL',
name: 'company_url',
type: 'string',
default: '',
},
{
displayName: 'Status ID',
name: 'status_id',
type: 'string',
default: '',
},
{
displayName: 'Status',
name: 'status',
type: 'options',
typeOptions: {
loadOptionsMethod: 'jobStatuses',
},
default: '',
description: 'Status name (takes precedence over Status ID)',
},
{
displayName: 'Picture URL',
name: 'picture_url',
type: 'string',
default: '',
description: 'URL to the job or company logo image',
},
{
displayName: 'Tags',
name: 'tags',
type: 'string',
default: '',
description: 'Tags to associate with this job (comma-separated)',
},
],
},
];
//# sourceMappingURL=JobDescription.js.map