UNPKG

@tuanltntu/n8n-nodes-bitrix24

Version:

Comprehensive n8n community node for Bitrix24 API integration with CRM, Tasks, Chat, Telephony, and more

665 lines 25.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.userFieldConfigFields = exports.userFieldConfigOperations = void 0; const ModuleManager_1 = require("../ModuleManager"); /** * Operations for user field configuration */ exports.userFieldConfigOperations = [ ModuleManager_1.ModuleManager.createSimpleField({ displayName: "Operation", name: "operation", type: "options", noDataExpression: true, options: [ { name: "Add", value: "add", description: "Create a new user field configuration (userfieldconfig.add)", action: "Add a user field configuration", }, { name: "Add Multiple", value: "addMultiple", description: "Create multiple user field configurations at once", action: "Add multiple user field configurations", }, { name: "Delete", value: "delete", description: "Delete a user field configuration (userfieldconfig.delete)", action: "Delete a user field configuration", }, { name: "Get", value: "get", description: "Retrieve a user field configuration (userfieldconfig.get)", action: "Get a user field configuration", }, { name: "Get List", value: "getList", description: "Get a list of user field configurations (userfieldconfig.list)", action: "Get a list of user field configurations", }, { name: "Update", value: "update", description: "Update a user field configuration (userfieldconfig.update)", action: "Update a user field configuration", }, ], default: "add", }, ModuleManager_1.BITRIX24_MODULES.USER_FIELD_CONFIG), ]; /** * Fields for user field configuration operations */ exports.userFieldConfigFields = [ /* -------------------------------------------------------------------------- */ /* All Operations */ /* -------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------- */ /* Get Operation */ /* -------------------------------------------------------------------------- */ ModuleManager_1.ModuleManager.createSimpleField({ displayName: "ID", name: "id", type: "string", required: true, default: "", description: "ID of the user field configuration to operate on", }, ModuleManager_1.BITRIX24_MODULES.USER_FIELD_CONFIG, { operation: ["delete", "get", "update"], }), // Add Entity ID field for delete operation ModuleManager_1.ModuleManager.createSimpleField({ displayName: "Entity ID", name: "entityId", type: "string", required: true, default: "", description: "Entity ID (e.g., DEAL, LEAD, CONTACT, CRM_7 for Smart Process). For Smart Process use CRM_[ID] format.", }, ModuleManager_1.BITRIX24_MODULES.USER_FIELD_CONFIG, { operation: ["delete"], }), // Add Entity ID field for get operation ModuleManager_1.ModuleManager.createSimpleField({ displayName: "Entity ID", name: "getEntityId", type: "string", required: false, default: "CRM", description: "Entity ID (e.g., DEAL, LEAD, CONTACT, CRM_7 for Smart Process). For Smart Process use CRM_[ID] format.", }, ModuleManager_1.BITRIX24_MODULES.USER_FIELD_CONFIG, { operation: ["get"], }), /* -------------------------------------------------------------------------- */ /* Get List Operation */ /* -------------------------------------------------------------------------- */ ModuleManager_1.ModuleManager.createSimpleField({ displayName: "Filter", name: "filter", type: "json", default: "{}", description: "Filter criteria in JSON format", }, ModuleManager_1.BITRIX24_MODULES.USER_FIELD_CONFIG, { operation: ["getList"], }), ModuleManager_1.ModuleManager.createSimpleField({ displayName: "Order", name: "order", type: "json", default: "{}", description: "Order criteria in JSON format", }, ModuleManager_1.BITRIX24_MODULES.USER_FIELD_CONFIG, { operation: ["getList"], }), ModuleManager_1.ModuleManager.createSimpleField({ displayName: "Select", name: "select", type: "multiOptions", typeOptions: { loadOptionsMethod: "getUserFieldConfigListOptions", }, default: [], description: "Select specific fields to return. Empty means all fields.", }, ModuleManager_1.BITRIX24_MODULES.USER_FIELD_CONFIG, { operation: ["getList"], }), ModuleManager_1.ModuleManager.createSimpleField({ displayName: "Start", name: "start", type: "number", default: 0, description: "The offset to start retrieving records from", }, ModuleManager_1.BITRIX24_MODULES.USER_FIELD_CONFIG, { operation: ["getList"], }), /* -------------------------------------------------------------------------- */ /* Add Operation */ /* -------------------------------------------------------------------------- */ ModuleManager_1.ModuleManager.createSimpleField({ displayName: "Use Structure Builder", name: "useStructureBuilder", type: "boolean", default: true, description: "Whether to use the structured form or provide the parameters directly as JSON", }, ModuleManager_1.BITRIX24_MODULES.USER_FIELD_CONFIG, { operation: ["add"], }), // Entity Type Selection (moved outside collections) { displayName: "Entity Type", name: "entityType", type: "options", options: [ { name: "Deal", value: "DEAL" }, { name: "Lead", value: "LEAD" }, { name: "Contact", value: "CONTACT" }, { name: "Company", value: "COMPANY" }, { name: "Quote", value: "QUOTE" }, { name: "Smart Process", value: "DYNAMIC_ENTITY" }, { name: "Custom", value: "CUSTOM" }, ], default: "DEAL", required: true, description: "Type of entity for which the user field is being configured", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], }, }, }, // Custom Entity Type field (only shown when Custom is selected) { displayName: "Custom Entity Type", name: "customEntityType", type: "string", default: "", description: "Custom entity type if 'Custom' is selected as entity type", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], entityType: ["CUSTOM"], }, }, }, // Smart Process Type field (only shown when Smart Process is selected) { displayName: "Smart Process Type", name: "smartProcessType", type: "options", typeOptions: { loadOptionsMethod: "getUserFieldSmartProcessTypes", }, default: "", description: "Smart Process type if 'Smart Process' is selected as entity type", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], entityType: ["DYNAMIC_ENTITY"], }, }, }, // Field Type Selection (moved outside collections) { displayName: "Field Type", name: "fieldType", type: "options", options: [ { name: "String", value: "string" }, { name: "Integer", value: "integer" }, { name: "Double", value: "double" }, { name: "Boolean", value: "boolean" }, { name: "Date", value: "date" }, { name: "DateTime", value: "datetime" }, { name: "Enumeration", value: "enumeration" }, { name: "File", value: "file" }, { name: "Employee", value: "employee" }, { name: "Money", value: "money" }, { name: "URL", value: "url" }, { name: "Address", value: "address" }, { name: "Resource Booking", value: "resourcebooking" }, { name: "CRM Entity", value: "crm_entity" }, { name: "CRM Status", value: "crm_status" }, { name: "CRM Category", value: "crm_category" }, { name: "HTML", value: "html" }, ], default: "string", required: true, description: "Type of field to create", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], }, }, }, // Field Name (moved outside collections) { displayName: "Field Name", name: "fieldName", type: "string", default: "", required: true, placeholder: "CUSTOM_FIELD", description: "Name of the field (Latin letters, numbers, and underscores only). The appropriate prefix will be added automatically.", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], }, }, }, // Label field (moved outside collections) { displayName: "Label", name: "label", type: "string", default: "", required: true, description: "User-friendly label for the field", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], }, }, }, // Multi-language support { displayName: "Use Multi-Language Labels", name: "useMultiLanguageLabels", type: "boolean", default: false, description: "Whether to provide labels in multiple languages", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], }, }, }, // Language-specific labels { displayName: "Language Labels", name: "languageLabelsUi", placeholder: "Add Language Label", type: "fixedCollection", typeOptions: { multipleValues: true, }, default: {}, options: [ { name: "languageLabels", displayName: "Language Label", values: [ { displayName: "Language Code", name: "language", type: "options", options: [ { name: "English", value: "en" }, { name: "Russian", value: "ru" }, { name: "German", value: "de" }, { name: "French", value: "fr" }, { name: "Spanish", value: "es" }, { name: "Vietnamese", value: "vn" }, { name: "Chinese", value: "zh" }, { name: "Custom", value: "custom" }, ], default: "en", description: "Language code (ISO)", }, { displayName: "Custom Language Code", name: "customLanguage", type: "string", default: "", description: "Custom language code (ISO format)", }, { displayName: "Label", name: "label", type: "string", default: "", description: "Label text in this language", }, ], }, ], description: "Labels in different languages", }, // Field properties - Boolean options { displayName: "Is Multiple", name: "isMultiple", type: "boolean", default: false, description: "Whether the field can have multiple values", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], }, }, }, { displayName: "Is Mandatory", name: "isMandatory", type: "boolean", default: false, description: "Whether the field is required", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], }, }, }, { displayName: "Show In List", name: "showInList", type: "boolean", default: true, description: "Whether to show the field in lists", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], }, }, }, { displayName: "Edit In List", name: "editInList", type: "boolean", default: true, description: "Whether the field can be edited in lists", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], }, }, }, // Enumeration values for enum type { displayName: "List Values", name: "listValues", type: "string", typeOptions: { rows: 4, }, default: "Option 1\nOption 2\nOption 3", displayOptions: { show: { operation: ["add"], useStructureBuilder: [true], fieldType: ["enumeration"], }, }, description: "Values for enumeration field. Enter one option per line. The first option will be set as default.", }, // Direct JSON approach for advanced users { displayName: "Fields (JSON)", name: "fields", type: "json", default: '{\n "entityId": "DEAL",\n "fieldName": "UF_CRM_CUSTOM_FIELD",\n "userTypeId": "string",\n "editFormLabel": "My Custom Field"\n}', required: true, description: "User field configuration in JSON format according to Bitrix24 API. Reference: https://apidocs.bitrix24.com/api-reference/crm/universal/userfieldconfig/userfieldconfig/userfieldconfig-add.html", displayOptions: { show: { operation: ["add"], useStructureBuilder: [false], }, }, }, /* -------------------------------------------------------------------------- */ /* Add Multiple Operation */ /* -------------------------------------------------------------------------- */ { displayName: "Entity Type", name: "multipleEntityType", type: "options", options: [ { name: "Deal", value: "DEAL" }, { name: "Lead", value: "LEAD" }, { name: "Contact", value: "CONTACT" }, { name: "Company", value: "COMPANY" }, { name: "Quote", value: "QUOTE" }, { name: "Smart Process", value: "DYNAMIC_ENTITY" }, { name: "Custom", value: "CUSTOM" }, ], default: "DEAL", required: true, description: "Type of entity for which the fields will be configured", displayOptions: { show: { operation: ["addMultiple"], }, }, }, // Custom Entity Type field (only shown when Custom is selected) { displayName: "Custom Entity Type", name: "multipleCustomEntityType", type: "string", default: "", description: "Custom entity type if 'Custom' is selected as entity type", displayOptions: { show: { operation: ["addMultiple"], multipleEntityType: ["CUSTOM"], }, }, }, // Smart Process Type field for multiple operation { displayName: "Smart Process Type", name: "multipleSmartProcessType", type: "options", typeOptions: { loadOptionsMethod: "getUserFieldSmartProcessTypes", }, default: "", required: true, description: "Select the Smart Process type. The ID number shown will be used in the field name format (UF_CRM_[ID]_FIELDNAME)", displayOptions: { show: { operation: ["addMultiple"], multipleEntityType: ["DYNAMIC_ENTITY"], }, }, }, // Multiple Field Definitions { displayName: "Field Definitions", name: "fieldDefinitions", type: "fixedCollection", typeOptions: { multipleValues: true, sortable: true, }, default: {}, placeholder: "Add Field Definition", description: "Define multiple fields to create", options: [ { name: "fields", displayName: "Fields", values: [ { displayName: "Field Type", name: "USER_TYPE_ID", type: "options", options: [ { name: "String", value: "string" }, { name: "Integer", value: "integer" }, { name: "Double", value: "double" }, { name: "Boolean", value: "boolean" }, { name: "Date", value: "date" }, { name: "DateTime", value: "datetime" }, { name: "Enumeration", value: "enumeration" }, { name: "File", value: "file" }, { name: "Employee", value: "employee" }, { name: "Money", value: "money" }, { name: "URL", value: "url" }, { name: "Address", value: "address" }, { name: "Resource Booking", value: "resourcebooking" }, { name: "CRM Entity", value: "crm_entity" }, { name: "CRM Status", value: "crm_status" }, { name: "CRM Category", value: "crm_category" }, { name: "HTML", value: "html" }, ], default: "string", required: true, description: "Type of field to create", }, { displayName: "Field Name", name: "FIELD_NAME", type: "string", default: "", required: true, placeholder: "CUSTOM_FIELD", description: "Name of the field (Latin letters, numbers, and underscores only). The appropriate prefix will be added automatically.", }, { displayName: "Label", name: "EDIT_FORM_LABEL", type: "string", default: "", required: true, description: "User-friendly label for the field", }, { displayName: "Multiple Values", name: "MULTIPLE", type: "boolean", default: false, description: "Whether the field can have multiple values", }, { displayName: "Mandatory", name: "MANDATORY", type: "boolean", default: false, description: "Whether the field is required", }, { displayName: "Filterable", name: "SHOW_FILTER", type: "boolean", default: false, description: "Whether the field can be used in filters", }, { displayName: "Searchable", name: "IS_SEARCHABLE", type: "boolean", default: false, description: "Whether the field is searchable", }, { displayName: "Default Value", name: "DEFAULT_VALUE", type: "string", default: "", description: "Default value for the field", }, { displayName: "Additional Settings (JSON)", name: "additionalSettings", type: "json", default: "{}", description: "Additional settings for the field in JSON format", }, ], }, ], }, /* -------------------------------------------------------------------------- */ /* Update Operation */ /* -------------------------------------------------------------------------- */ { displayName: "Update Fields", name: "updateFields", type: "fixedCollection", typeOptions: { multipleValues: true, }, default: {}, placeholder: "Add Field To Update", description: "Select the fields to update", options: [ { name: "fields", displayName: "Fields", values: [ { displayName: "Field Name", name: "name", type: "string", default: "", required: true, description: "Name of the field to update (API field name)", }, { displayName: "Field Value", name: "value", type: "string", default: "", description: "New value for the field", }, { displayName: "Boolean Value", name: "boolValue", type: "boolean", default: false, description: "Use this for boolean fields (Y/N values)", }, { displayName: "Is Boolean", name: "isBoolean", type: "boolean", default: false, description: "Whether this field should be treated as a boolean (Y/N) value", }, ], }, ], }, // Options for all operations { displayName: "Options", name: "options", type: "collection", placeholder: "Add Option", default: {}, options: [ { displayName: "Access Token", name: "accessToken", type: "string", default: "", placeholder: "Enter the access token to use instead of credentials.", description: "Access token to use for API requests. If provided, will take priority over token in credentials.", }, { displayName: "Custom Parameters", name: "customParameters", type: "json", default: "{}", description: "Additional parameters to include in the request", }, ], }, ]; //# sourceMappingURL=UserFieldConfigDescription.js.map