UNPKG

@tuanltntu/n8n-nodes-bitrix24

Version:

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

1,459 lines 39.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.listsOperationFields = exports.listsFields = exports.listsGetElementFileUrlFields = exports.listsUpdateFieldFields = exports.listsGetFieldTypesFields = exports.listsDeleteFieldFields = exports.listsAddFieldFields = exports.listsDeleteSectionFields = exports.listsUpdateSectionFields = exports.listsGetSectionFields = exports.listsAddSectionFields = exports.listsGetSectionsFields = exports.listsGetElementFileFields = exports.listsGetSectionElementFields = exports.listsDeleteElementFields = exports.listsUpdateElementFields = exports.listsAddElementFields = void 0; const ModuleManager_1 = require("../ModuleManager"); /** * Lists operations. */ const operationField = ModuleManager_1.ModuleManager.createSimpleField({ displayName: "Operation", name: "operation", type: "options", noDataExpression: true, displayOptions: { show: {}, }, options: [ { name: "Add", value: "add", description: "Creates a list (lists.add)", action: "Create a list", }, { name: "Delete", value: "delete", description: "Deletes a list (lists.delete)", action: "Delete a list", }, { name: "Get", value: "get", description: "Returns data on lists (lists.get)", action: "Get lists data", }, { name: "Update", value: "update", description: "Updates an existing list (lists.update)", action: "Update an existing list", }, { name: "Get IBLOCK Type ID", value: "getIblockTypeId", description: "Returns the information block type identifier (lists.get.iblock.type.id)", action: "Get the information block type identifier", }, { name: "Add Field", value: "addField", description: "Creates a list field (lists.field.add)", action: "Create a list field", }, { name: "Delete Field", value: "deleteField", description: "Deletes a list field (lists.field.delete)", action: "Delete a list field", }, { name: "Get Fields", value: "getFields", description: "Returns field data (lists.field.get)", action: "Get fields data", }, { name: "Get Field Types", value: "getFieldTypes", description: "Returns available field types for the specified list (lists.field.type.get)", action: "Get available field types", }, { name: "Update Field", value: "updateField", description: "Updates a list field (lists.field.update)", action: "Update a list field", }, { name: "Get Element Fields", value: "getElementFields", description: "Returns element field data for a list (lists.element.field.get)", action: "Get element fields for a list", }, { name: "Get Elements", value: "getElements", description: "Returns a list of elements (lists.element.get)", action: "Get elements from a list", }, { name: "Get Element", value: "getElement", description: "Returns an element (lists.element.get.by.id)", action: "Get element by ID", }, { name: "Add Element", value: "addElement", description: "Creates a list element (lists.element.add)", action: "Create a list element", }, { name: "Update Element", value: "updateElement", description: "Updates a list element (lists.element.update)", action: "Update a list element", }, { name: "Delete Element", value: "deleteElement", description: "Deletes a list element (lists.element.delete)", action: "Delete a list element", }, { name: "Get Element File URL", value: "getElementFileUrl", description: "Returns the file path (lists.element.file.url.get)", action: "Get file path", }, { name: "Get Section Element", value: "getSectionElement", description: "Returns section element data (lists.section.element.get)", action: "Get section element data", }, { name: "Get Element File", value: "getElementFile", description: "Returns element file data (lists.element.file.get)", action: "Get element file data", }, { name: "Get Sections", value: "getSections", description: "Returns data about sections (lists.section.get)", action: "Get sections data", }, { name: "Add Section", value: "addSection", description: "Creates a list section (lists.section.add)", action: "Create a list section", }, { name: "Get Section", value: "getSection", description: "Returns section data (lists.section.get.by.id)", action: "Get section data", }, { name: "Update Section", value: "updateSection", description: "Updates a list section (lists.section.update)", action: "Update a list section", }, { name: "Delete Section", value: "deleteSection", description: "Deletes a list section (lists.section.delete)", action: "Delete a list section", }, ], default: "get", }, ModuleManager_1.BITRIX24_MODULES.LISTS); /** * Add a new list */ const listsAddFields = [ { displayName: "IBLOCK Type ID", name: "IBLOCK_TYPE_ID", type: "options", options: [ { name: "Lists", value: "lists", }, { name: "Social Network Lists", value: "lists_socnet", }, { name: "Business Processes", value: "bitrix_processes", }, ], required: true, default: "lists", displayOptions: { show: { operation: ["add"], }, }, description: "Type identifier of the information block", }, { displayName: "IBLOCK Code", name: "IBLOCK_CODE", type: "string", required: true, default: "", displayOptions: { show: { operation: ["add"], }, }, description: "Information block code (required)", }, { displayName: "SOCNET Group ID", name: "SOCNET_GROUP_ID", type: "string", default: "", displayOptions: { show: { operation: ["add"], }, }, description: "ID of the group (required if the list is created for a group)", }, // FIELDS Object { displayName: "FIELDS", name: "fieldsUi", placeholder: "Fields Configuration", type: "fixedCollection", default: { fieldsValues: [ { fieldName: "NAME", fieldValue: "New List", }, ], }, typeOptions: { multipleValues: true, }, options: [ { name: "fieldsValues", displayName: "Fields", values: [ { displayName: "Name", name: "fieldName", type: "options", default: "NAME", options: [ { name: "Name (required)", value: "NAME", }, { name: "Description", value: "DESCRIPTION", }, { name: "Sort", value: "SORT", }, { name: "Enable Workflows", value: "BIZPROC", }, ], description: "The field name to set", }, { displayName: "Value", name: "fieldValue", type: "string", default: "", description: "The value to set for the field", }, ], }, ], description: "Information block fields. Name field is required.", }, // MESSAGES Object { displayName: "MESSAGES", name: "messagesUi", placeholder: "Add Message", type: "collection", default: {}, options: [ { displayName: "Element Name", name: "ELEMENT_NAME", type: "string", default: "Element", description: "Name for the list element in singular form", }, { displayName: "Elements Name", name: "ELEMENTS_NAME", type: "string", default: "Elements", description: "Name for the list elements in plural form", }, { displayName: "Add Element", name: "ELEMENT_ADD", type: "string", default: "Add element", description: "Label for the add element action", }, { displayName: "Edit Element", name: "ELEMENT_EDIT", type: "string", default: "Edit element", description: "Label for the edit element action", }, { displayName: "Delete Element", name: "ELEMENT_DELETE", type: "string", default: "Delete element", description: "Label for the delete element action", }, { displayName: "Section Name", name: "SECTION_NAME", type: "string", default: "Section", description: "Name for the list section in singular form", }, { displayName: "Sections Name", name: "SECTIONS_NAME", type: "string", default: "Sections", description: "Name for the list sections in plural form", }, { displayName: "Add Section", name: "SECTION_ADD", type: "string", default: "Add section", description: "Label for the add section action", }, { displayName: "Edit Section", name: "SECTION_EDIT", type: "string", default: "Edit section", description: "Label for the edit section action", }, { displayName: "Delete Section", name: "SECTION_DELETE", type: "string", default: "Delete section", description: "Label for the delete section action", }, ], description: "Labels for list items and sections", }, // RIGHTS Object { displayName: "Rights", name: "rightsUi", placeholder: "Add Right", type: "fixedCollection", typeOptions: { multipleValues: true, }, default: {}, options: [ { name: "rightsValues", displayName: "Right", values: [ { displayName: "User/Group Code", name: "code", type: "string", required: true, default: "", description: "Code for user, group or role (e.g. SG4_A, AU, G2)", }, { displayName: "Permission", name: "permission", type: "options", options: [ { name: "Read", value: "R", }, { name: "Write", value: "W", }, { name: "Deny", value: "D", }, ], required: true, default: "R", description: "Permission level: Read (R), Write (W), or Deny (D)", }, ], }, ], description: "Access permission management. Example: SG4_A (group admin), AU (authorized), G2 (all users)", }, ]; /** * Delete a list */ const listsDeleteFields = [ { displayName: "IBLOCK Type ID", name: "IBLOCK_TYPE_ID", type: "options", options: [ { name: "Lists", value: "lists", }, { name: "Social Network Lists", value: "lists_socnet", }, { name: "Business Processes", value: "bitrix_processes", }, ], required: true, default: "lists", displayOptions: { show: { operation: ["delete"], }, }, description: "Type identifier of the information block", }, { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["delete"], }, }, description: "ID of the list to delete", }, ]; /** * Update an existing list */ const listsUpdateFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["update"], }, }, description: "ID of the list to update", }, { displayName: "Fields", name: "fields", type: "json", required: true, default: "{}", displayOptions: { show: { operation: ["update"], }, }, description: "Updated fields for the list in JSON format", }, ]; /** * Get IBLOCK Type ID */ const listsGetIblockTypeIdFields = [ { displayName: "Filter", name: "filter", type: "json", required: true, default: {}, displayOptions: { show: { operation: ["getIblockTypeId"], }, }, description: "Filter for IBLOCK type ID search, e.g. {'ID': 'lists'}", }, ]; /** * Lists fields */ const listsGetFields = [ { displayName: "IBLOCK Type ID", name: "IBLOCK_TYPE_ID", type: "options", options: [ { name: "Lists", value: "lists", }, { name: "Social Network Lists", value: "lists_socnet", }, { name: "Business Processes", value: "bitrix_processes", }, ], required: true, displayOptions: { show: { operation: ["get"], }, }, default: "lists", description: "ID of information block type", }, { displayName: "Return All", name: "returnAll", type: "boolean", displayOptions: { show: { operation: ["get"], }, }, default: true, description: "Whether to return all results", }, { displayName: "Filter", name: "FILTER", type: "json", displayOptions: { show: { operation: ["get"], }, }, default: {}, description: "Filter for lists, use REST format e.g. {'>ID': '10', 'NAME': 'test'}", }, { displayName: "SOCNET Group ID", name: "SOCNET_GROUP_ID", type: "string", displayOptions: { show: { operation: ["get"], }, }, default: "", description: "Social network group ID", }, { displayName: "Check Permissions", name: "CHECK_PERMISSIONS", type: "boolean", displayOptions: { show: { operation: ["get"], }, }, default: true, description: "When true, information blocks will be filtered to contain only those available to the current user", }, ]; /** * Get fields for a list */ const listsGetFieldsFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getFields"], }, }, description: "ID of the list to get fields for", }, ]; /** * Get element fields for a list */ const listsGetElementFieldsFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getElementFields"], }, }, description: "ID of the list to get element fields for", }, ]; /** * Get elements from a list */ const listsGetElementsFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getElements"], }, }, description: "ID of the list to get elements from", }, { displayName: "Filter", name: "filter", type: "json", required: true, displayOptions: { show: { operation: ["getElements"], }, }, default: {}, description: "Filter for elements search, e.g. {'ID': '10'} or {'>ID': '10', '<=ID': '100'}", }, { displayName: "Return All", name: "returnAll", type: "boolean", displayOptions: { show: { operation: ["getElements"], }, }, default: true, description: "Whether to return all results", }, { displayName: "Order", name: "order", type: "json", displayOptions: { show: { operation: ["getElements"], }, }, default: {}, description: "Order of the elements, e.g. {'ID': 'ASC'} or {'ID': 'DESC', 'NAME': 'ASC'}", }, { displayName: "Select", name: "select", type: "string", displayOptions: { show: { operation: ["getElements"], }, }, default: "", description: "Fields to select, comma-separated field codes, e.g. 'ID,NAME,DATE_CREATE'", }, ]; /** * Get element by ID */ const listsGetElementFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getElement"], }, }, description: "ID of the list", }, { displayName: "Element ID", name: "elementId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getElement"], }, }, description: "ID of the element to retrieve", }, ]; /** * Add element to a list */ exports.listsAddElementFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["addElement"], }, }, description: "ID of the list to add element to", }, { displayName: "Element Fields", name: "elementFields", type: "json", required: true, default: "{}", displayOptions: { show: { operation: ["addElement"], }, }, description: "Fields for the new element in JSON format", }, ]; /** * Update element in a list */ exports.listsUpdateElementFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["updateElement"], }, }, description: "ID of the list", }, { displayName: "Element ID", name: "elementId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["updateElement"], }, }, description: "ID of the element to update", }, { displayName: "Element Fields", name: "elementFields", type: "json", required: true, default: "{}", displayOptions: { show: { operation: ["updateElement"], }, }, description: "Updated fields for the element in JSON format", }, ]; /** * Delete element from a list */ exports.listsDeleteElementFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["deleteElement"], }, }, description: "ID of the list", }, { displayName: "Element ID", name: "elementId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["deleteElement"], }, }, description: "ID of the element to delete", }, ]; /** * Get section element */ exports.listsGetSectionElementFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getSectionElement"], }, }, description: "ID of the list", }, { displayName: "Section ID", name: "sectionId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getSectionElement"], }, }, description: "ID of the section", }, ]; /** * Get element file */ exports.listsGetElementFileFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getElementFile"], }, }, description: "ID of the list", }, { displayName: "Element ID", name: "elementId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getElementFile"], }, }, description: "ID of the element", }, { displayName: "Field ID", name: "fieldId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getElementFile"], }, }, description: "ID of the field containing the file", }, ]; /** * Get sections */ exports.listsGetSectionsFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getSections"], }, }, description: "ID of the list", }, { displayName: "Filter", name: "filter", type: "json", required: true, displayOptions: { show: { operation: ["getSections"], }, }, default: {}, description: "Filter for sections search, e.g. {'ID': '10'} or {'>ID': '10', '<=ID': '100'}", }, { displayName: "Return All", name: "returnAll", type: "boolean", displayOptions: { show: { operation: ["getSections"], }, }, default: true, description: "Whether to return all results", }, { displayName: "Order", name: "order", type: "json", displayOptions: { show: { operation: ["getSections"], }, }, default: {}, description: "Order of the sections, e.g. {'ID': 'ASC'} or {'ID': 'DESC', 'NAME': 'ASC'}", }, { displayName: "Select", name: "select", type: "string", displayOptions: { show: { operation: ["getSections"], }, }, default: "", description: "Fields to select, comma-separated field codes, e.g. 'ID,NAME,CODE'", }, ]; /** * Add section */ exports.listsAddSectionFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["addSection"], }, }, description: "ID of the list to add section to", }, { displayName: "Section Fields", name: "sectionFields", type: "json", required: true, default: "{}", displayOptions: { show: { operation: ["addSection"], }, }, description: "Fields for the new section in JSON format", }, ]; /** * Get section by ID */ exports.listsGetSectionFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getSection"], }, }, description: "ID of the list", }, { displayName: "Section ID", name: "sectionId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getSection"], }, }, description: "ID of the section to retrieve", }, ]; /** * Update section */ exports.listsUpdateSectionFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["updateSection"], }, }, description: "ID of the list", }, { displayName: "Section ID", name: "sectionId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["updateSection"], }, }, description: "ID of the section to update", }, { displayName: "Section Fields", name: "sectionFields", type: "json", required: true, default: "{}", displayOptions: { show: { operation: ["updateSection"], }, }, description: "Updated fields for the section in JSON format", }, ]; /** * Delete section */ exports.listsDeleteSectionFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["deleteSection"], }, }, description: "ID of the list", }, { displayName: "Section ID", name: "sectionId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["deleteSection"], }, }, description: "ID of the section to delete", }, ]; /** * Add a field to a list */ exports.listsAddFieldFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["addField"], }, }, description: "ID of the list to add field to", }, { displayName: "IBLOCK Type ID", name: "IBLOCK_TYPE_ID", type: "options", options: [ { name: "Lists", value: "lists", }, { name: "Social Network Lists", value: "lists_socnet", }, { name: "Business Processes", value: "bitrix_processes", }, ], required: true, default: "lists", displayOptions: { show: { operation: ["addField"], }, }, description: "Type identifier of the information block", }, { displayName: "Field Type", name: "FIELD_TYPE", type: "options", options: [ { name: "String", value: "S" }, { name: "Number", value: "N" }, { name: "Date/Time", value: "L" }, { name: "Element Link", value: "E" }, { name: "File", value: "F" }, { name: "List", value: "L" }, { name: "Yes/No", value: "B" }, { name: "HTML/Text", value: "S:HTML" }, { name: "User", value: "S:employee" }, { name: "CRM Element", value: "S:ECrm" }, ], required: true, default: "S", displayOptions: { show: { operation: ["addField"], }, }, description: "The field type", }, { displayName: "Field Name", name: "NAME", type: "string", required: true, default: "", displayOptions: { show: { operation: ["addField"], }, }, description: "The name of the field", }, { displayName: "Field Code", name: "FIELD_ID", type: "string", required: true, default: "", displayOptions: { show: { operation: ["addField"], }, }, description: "The code of the field (e.g. PROPERTY_123)", }, { displayName: "CRM Entity Types", name: "CRM_ENTITY_TYPES", type: "multiOptions", typeOptions: { loadOptionsMethod: "getCrmEntityTypes", }, default: ["LEAD", "DEAL", "CONTACT", "COMPANY"], displayOptions: { show: { operation: ["addField"], FIELD_TYPE: ["S:ECrm"], }, }, description: "Select which CRM entity types can be selected in this field. Selected types will be set to 'Y'", }, { displayName: "Field Parameters", name: "fieldParametersUi", placeholder: "Add Field Parameter", type: "fixedCollection", typeOptions: { multipleValues: true, multipleValueButtonText: "Add Another Parameter", }, default: { parameters: [ { name: "IS_REQUIRED", value: "Y", }, ], }, displayOptions: { show: { operation: ["addField"], }, }, options: [ { name: "parameters", displayName: "Parameter", values: [ { displayName: "Parameter Name", name: "name", type: "options", options: [ { name: "Required", value: "IS_REQUIRED" }, { name: "Multiple", value: "MULTIPLE" }, { name: "Default Value", value: "DEFAULT_VALUE" }, { name: "Sort", value: "SORT" }, { name: "Settings", value: "SETTINGS" }, { name: "List Values", value: "VALUES" }, { name: "Custom Parameter", value: "custom" }, ], default: "IS_REQUIRED", description: "Name of the parameter", }, { displayName: "Custom Parameter Name", name: "customName", type: "string", default: "", description: "Name of the custom parameter", }, { displayName: "Parameter Value", name: "value", type: "string", default: "", description: "Value of the parameter. For boolean parameters like IS_REQUIRED and MULTIPLE, use Y or N.", }, ], }, ], description: "Configure parameters for the field. For List type fields, add a VALUES parameter with options.", }, ]; /** * Delete a field from a list */ exports.listsDeleteFieldFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["deleteField"], }, }, description: "ID of the list", }, { displayName: "Field ID", name: "fieldId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["deleteField"], }, }, description: "ID of the field to delete", }, ]; /** * Get field types for a list */ exports.listsGetFieldTypesFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getFieldTypes"], }, }, description: "ID of the list to get field types for", }, ]; /** * Update a field in a list */ exports.listsUpdateFieldFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["updateField"], }, }, description: "ID of the list", }, { displayName: "Field ID", name: "fieldId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["updateField"], }, }, description: "ID of the field to update", }, { displayName: "Field Data", name: "fieldData", type: "json", required: true, default: "{}", displayOptions: { show: { operation: ["updateField"], }, }, description: "Updated field data in JSON format", }, ]; /** * Get element file URL */ exports.listsGetElementFileUrlFields = [ { displayName: "List ID", name: "listId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getElementFileUrl"], }, }, description: "ID of the list", }, { displayName: "Element ID", name: "elementId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getElementFileUrl"], }, }, description: "ID of the element", }, { displayName: "Field ID", name: "fieldId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getElementFileUrl"], }, }, description: "ID of the field containing the file", }, { displayName: "File ID", name: "fileId", type: "string", required: true, default: "", displayOptions: { show: { operation: ["getElementFileUrl"], }, }, description: "ID of the file", }, ]; /** * Combine all lists fields */ exports.listsFields = [ ...listsAddFields, ...listsDeleteFields, ...listsGetFields, ...listsUpdateFields, ...listsGetIblockTypeIdFields, ...exports.listsAddFieldFields, ...exports.listsDeleteFieldFields, ...listsGetFieldsFields, ...exports.listsGetFieldTypesFields, ...exports.listsUpdateFieldFields, ...listsGetElementFieldsFields, ...listsGetElementsFields, ...listsGetElementFields, ...exports.listsAddElementFields, ...exports.listsUpdateElementFields, ...exports.listsDeleteElementFields, ...exports.listsGetElementFileUrlFields, ...exports.listsGetSectionElementFields, ...exports.listsGetElementFileFields, ...exports.listsGetSectionsFields, ...exports.listsAddSectionFields, ...exports.listsGetSectionFields, ...exports.listsUpdateSectionFields, ...exports.listsDeleteSectionFields, ]; // Missing export for operation fields exports.listsOperationFields = [operationField]; //# sourceMappingURL=ListsDescription.js.map