@tuanltntu/n8n-nodes-bitrix24
Version:
Comprehensive n8n community node for Bitrix24 API integration with CRM, Tasks, Chat, Telephony, and more
348 lines • 10.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.diskOptions = exports.diskSharingFields = exports.diskFileShareFields = exports.diskOptionsFields = exports.diskListFields = exports.diskFileFields = exports.diskFolderFields = exports.diskStorageFields = exports.diskOperationFields = void 0;
const ModuleManager_1 = require("../ModuleManager");
// Disk operations
const operationField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "Operation",
name: "operation",
type: "options",
noDataExpression: true,
options: [
{
name: "Get Storage",
value: "getStorage",
description: "Get storage information",
action: "Get storage information",
},
{
name: "Get Storages",
value: "getStorages",
description: "Get list of storages",
action: "Get list of storages",
},
{
name: "Get Folder",
value: "getFolder",
description: "Get folder information",
action: "Get folder information",
},
{
name: "Get Folders",
value: "getFolders",
description: "Get list of folders",
action: "Get list of folders",
},
{
name: "Create Folder",
value: "createFolder",
description: "Create a new folder",
action: "Create a new folder",
},
{
name: "Upload File",
value: "uploadFile",
description: "Upload a file",
action: "Upload a file",
},
{
name: "Get File",
value: "getFile",
description: "Get file information",
action: "Get file information",
},
{
name: "Get Files",
value: "getFiles",
description: "Get list of files",
action: "Get list of files",
},
],
default: "getStorages",
}, ModuleManager_1.BITRIX24_MODULES.DISK);
// Storage ID field
const storageIdField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "Storage ID",
name: "storageId",
type: "string",
required: true,
default: "",
displayOptions: {
show: {
operation: ["getFolders", "uploadFile", "createFolder"],
},
},
description: "ID of the storage",
}, ModuleManager_1.BITRIX24_MODULES.DISK, {
operation: ["getStorage", "getFolders", "createFolder"],
});
// Folder ID field
const folderIdField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "Folder ID",
name: "folderId",
type: "string",
required: true,
default: "",
displayOptions: {
show: {
operation: ["uploadFile", "createFolder", "getFiles"],
},
},
description: "ID of the folder",
}, ModuleManager_1.BITRIX24_MODULES.DISK, {
operation: ["getFolder", "uploadFile", "getFiles"],
});
// File ID field
const fileIdField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "File ID",
name: "fileId",
type: "string",
required: true,
default: "",
displayOptions: {
show: {
operation: ["downloadFile", "deleteFile"],
},
},
description: "ID of the file",
}, ModuleManager_1.BITRIX24_MODULES.DISK, {
operation: ["getFile"],
});
// Folder Name field
const folderNameField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "Folder Name",
name: "folderName",
type: "string",
required: true,
default: "",
description: "Name of the folder to create",
}, ModuleManager_1.BITRIX24_MODULES.DISK, {
operation: ["createFolder"],
});
// Binary Property field
const binaryPropertyField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "Binary Property",
name: "binaryProperty",
type: "string",
default: "data",
required: true,
description: "Name of the binary property to upload",
}, ModuleManager_1.BITRIX24_MODULES.DISK, {
operation: ["uploadFile"],
});
// 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 the limit",
}, ModuleManager_1.BITRIX24_MODULES.DISK, {
operation: ["getStorages", "getFolders", "getFiles"],
});
// Limit field
const limitField = ModuleManager_1.ModuleManager.createSimpleField({
displayName: "Limit",
name: "limit",
type: "number",
typeOptions: {
minValue: 1,
maxValue: 500,
},
default: 50,
description: "Max number of results to return",
}, ModuleManager_1.BITRIX24_MODULES.DISK, {
operation: ["getStorages", "getFolders", "getFiles"],
returnAll: [false],
});
// Options collection
const optionsCollection = ModuleManager_1.ModuleManager.createSimpleCollection("Options", ModuleManager_1.BITRIX24_MODULES.DISK, {}, [
{
displayName: "Access Token",
name: "accessToken",
type: "string",
default: "",
description: "Access token for authentication",
},
{
displayName: "Filter",
name: "filter",
type: "json",
default: "{}",
description: "Filter criteria",
},
{
displayName: "Order",
name: "order",
type: "json",
default: "{}",
description: "Sort order for results",
},
]);
exports.diskOperationFields = [operationField];
exports.diskStorageFields = [storageIdField];
exports.diskFolderFields = [
folderIdField,
folderNameField,
];
exports.diskFileFields = [
fileIdField,
binaryPropertyField,
];
exports.diskListFields = [returnAllField, limitField];
exports.diskOptionsFields = [optionsCollection];
exports.diskFileShareFields = [
// Fields for sharing
{
displayName: "Item Type",
name: "itemType",
type: "options",
options: [
{
name: "File",
value: "file",
},
{
name: "Folder",
value: "folder",
},
],
required: true,
default: "file",
displayOptions: {
show: {
operation: ["shareItem", "getSharingRights", "updateSharingRights"],
},
},
description: "Type of item to share",
},
{
displayName: "Item ID",
name: "itemId",
type: "string",
required: true,
default: "",
displayOptions: {
show: {
operation: ["shareItem", "getSharingRights", "updateSharingRights"],
},
},
description: "ID of the item to share",
},
{
displayName: "Share With",
name: "shareWith",
type: "json",
required: true,
default: "[]",
displayOptions: {
show: {
operation: ["shareItem", "updateSharingRights"],
},
},
description: "Array of users or groups to share with in JSON format",
},
{
displayName: "Rights",
name: "rights",
type: "options",
options: [
{
name: "Read",
value: "read",
},
{
name: "Write",
value: "write",
},
{
name: "Full",
value: "full",
},
],
required: true,
default: "read",
displayOptions: {
show: {
operation: ["shareItem", "updateSharingRights"],
},
},
description: "Rights to grant",
},
];
// Reexport with the original name for backwards compatibility
exports.diskSharingFields = exports.diskFileShareFields;
exports.diskOptions = [
// Options for list 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: "Filter",
name: "filter",
type: "json",
default: "",
description: "Filter to apply when retrieving items",
},
{
displayName: "Order",
name: "order",
type: "json",
default: "",
description: "Sort order of results",
},
{
displayName: "Select",
name: "select",
type: "string",
default: "",
description: "Comma-separated list of fields to return",
},
{
displayName: "Custom Parameters",
name: "customParameters",
type: "json",
default: "",
description: "Additional parameters to include in the request",
},
],
},
// Options for non-list 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=DiskDescription.js.map