@tuanltntu/n8n-nodes-bitrix24
Version:
Comprehensive n8n community node for Bitrix24 API integration with CRM, Tasks, Chat, Telephony, and more
194 lines • 6.03 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.userFields = exports.userOperationFields = void 0;
const ModuleManager_1 = require("../ModuleManager");
// Operation field for user operations
const operationField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "Operation",
name: "operation",
type: "options",
noDataExpression: true,
required: true,
options: [
{
name: "Get",
value: "get",
description: "Get a single user",
action: "Get a single user",
},
{
name: "Get All",
value: "getAll",
description: "Get all users",
action: "Get all users",
},
{
name: "Get Current",
value: "getCurrent",
description: "Get current user information",
action: "Get current user information",
},
],
default: "get",
}, ModuleManager_1.BITRIX24_MODULES.USER);
// User ID field for get operation (from userOperationFields)
const userIdOperationField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "User ID",
name: "id",
type: "string",
required: true,
default: "",
description: "ID of the user to retrieve",
}, ModuleManager_1.BITRIX24_MODULES.USER, {
operation: ["get"],
});
// Additional Options collection for get and getAll
const additionalOptionsCollection = ModuleManager_1.ModuleManager.createSimpleCollection("Additional Options", ModuleManager_1.BITRIX24_MODULES.USER, {
operation: ["get", "getAll"],
}, [
{
displayName: "Filter",
name: "filter",
type: "json",
default: "{}",
description: "Filter criteria for the query (as JSON object)",
typeOptions: { alwaysOpenEditWindow: true },
},
{
displayName: "Return All",
name: "returnAll",
type: "boolean",
default: false,
description: "Whether to return all results or only up to a given limit",
},
{
displayName: "Limit",
name: "limit",
type: "number",
typeOptions: { minValue: 1 },
default: 50,
description: "Max number of results to return",
},
{
displayName: "Sort Order",
name: "order",
type: "json",
default: "{}",
description: "Sort order for results (as JSON object)",
typeOptions: { alwaysOpenEditWindow: true },
},
{
displayName: "Select Fields",
name: "select",
type: "multiOptions",
typeOptions: { loadOptionsMethod: "getUserFields" },
default: [],
description: "Fields to return in the response",
},
]);
// Additional Fields collection for all operations
const additionalFieldsCollection = ModuleManager_1.ModuleManager.createSimpleCollection("Additional Fields", ModuleManager_1.BITRIX24_MODULES.USER, {}, [
{
displayName: "Custom Parameters",
name: "customParameters",
type: "json",
default: "{}",
description: "Additional parameters to include in the request",
typeOptions: { alwaysOpenEditWindow: true },
},
]);
// User ID field (from userFields)
const userIdField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "User ID",
name: "userId",
type: "string",
required: true,
default: "",
description: "ID of the user to retrieve",
}, ModuleManager_1.BITRIX24_MODULES.USER, {
operation: ["get"],
});
// Return All field
const returnAllField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "Return All",
name: "returnAll",
type: "boolean",
default: false,
description: "Whether to return all results or only up to a given limit",
}, ModuleManager_1.BITRIX24_MODULES.USER, {
operation: ["getAll"],
});
// Limit field
const limitField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "Limit",
name: "limit",
type: "number",
typeOptions: { minValue: 1 },
default: 50,
description: "Max number of results to return",
}, ModuleManager_1.BITRIX24_MODULES.USER, {
operation: ["getAll"],
returnAll: [false],
});
// Options collection
const optionsCollection = ModuleManager_1.ModuleManager.createSimpleCollection("Options", ModuleManager_1.BITRIX24_MODULES.USER, {}, [
{
displayName: "Access Token",
name: "accessToken",
type: "string",
default: "",
description: "Access token to use for API requests",
},
{
displayName: "Filter",
name: "filter",
type: "json",
default: "{}",
description: "Filter criteria for the query",
typeOptions: { alwaysOpenEditWindow: true },
},
{
displayName: "Sort Order",
name: "order",
type: "json",
default: "{}",
description: "Sort order for results",
typeOptions: { alwaysOpenEditWindow: true },
},
{
displayName: "Select Fields",
name: "select",
type: "string",
default: "",
description: "Comma-separated list of fields to return",
},
{
displayName: "Admin Mode",
name: "adminMode",
type: "boolean",
default: false,
description: "If true, returns more detailed user information (requires admin privileges)",
},
{
displayName: "Custom Parameters",
name: "customParameters",
type: "json",
default: "{}",
description: "Additional parameters to include in the request",
typeOptions: { alwaysOpenEditWindow: true },
},
]);
// Common fields used in user operations
exports.userOperationFields = [
operationField,
userIdOperationField,
additionalOptionsCollection,
additionalFieldsCollection,
];
exports.userFields = [
userIdField,
returnAllField,
limitField,
optionsCollection,
];
//# sourceMappingURL=UserDescription.js.map