@tuanltntu/n8n-nodes-bitrix24
Version:
Comprehensive n8n community node for Bitrix24 API integration with CRM, Tasks, Chat, Telephony, and more
299 lines • 7.94 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fileFields = void 0;
/**
* File Description - CLEAN VERSION without circular dependencies
*/
// File ID Field
const fileIdField = {
displayName: "File ID",
name: "fileId",
type: "string",
required: true,
default: "",
description: "The ID of the file",
displayOptions: {
show: {
resource: ["file"],
operation: ["get", "download", "delete", "move", "copy"],
},
},
};
// Folder ID Field
const folderIdField = {
displayName: "Folder ID",
name: "folderId",
type: "string",
default: "",
description: "ID of the folder (leave empty for root)",
displayOptions: {
show: {
resource: ["file"],
operation: ["upload", "getAll", "move", "copy"],
},
},
};
// File Name Field
const fileNameField = {
displayName: "File Name",
name: "fileName",
type: "string",
required: true,
default: "",
description: "Name of the file",
displayOptions: {
show: {
resource: ["file"],
operation: ["upload"],
},
},
};
// File Content Field
const fileContentField = {
displayName: "File Content",
name: "fileContent",
type: "string",
typeOptions: {
rows: 4,
},
default: "",
description: "Content of the file (base64 encoded for binary files)",
displayOptions: {
show: {
resource: ["file"],
operation: ["upload"],
},
},
};
// Upload operation fields
const uploadFields = [
{
displayName: "Options",
name: "uploadOptions",
type: "collection",
placeholder: "Add Option",
default: {},
displayOptions: {
show: {
resource: ["file"],
operation: ["upload"],
},
},
options: [
{
displayName: "Generate Unique Name",
name: "generateUniqueName",
type: "boolean",
default: false,
description: "Generate unique name if file already exists",
},
{
displayName: "Rights",
name: "rights",
type: "json",
default: "{}",
description: "File access rights in JSON format",
},
{
displayName: "Access Token",
name: "accessToken",
type: "string",
default: "",
description: "Access token for authentication",
},
],
},
];
// Get All operation fields
const getAllFields = [
folderIdField,
fileIdField,
fileNameField,
fileContentField,
{
displayName: "Filter",
name: "filter",
type: "collection",
placeholder: "Add Filter",
default: {},
displayOptions: {
show: {
resource: ["file"],
operation: ["getAll"],
},
},
options: [
{
displayName: "File Type",
name: "type",
type: "options",
options: [
{ name: "All", value: "" },
{ name: "File", value: "file" },
{ name: "Folder", value: "folder" },
],
default: "",
description: "Filter by file type",
},
{
displayName: "Name Contains",
name: "nameContains",
type: "string",
default: "",
description: "Filter by files containing this text in name",
},
{
displayName: "Access Token",
name: "accessToken",
type: "string",
default: "",
description: "Access token for authentication",
},
],
},
{
displayName: "Return All",
name: "returnAll",
type: "boolean",
default: false,
displayOptions: {
show: {
resource: ["file"],
operation: ["getAll"],
},
},
description: "Whether to return all results or only a subset",
},
{
displayName: "Max Pages to Load",
name: "maxPages",
type: "number",
default: 5,
displayOptions: {
show: {
resource: ["file"],
operation: ["getAll"],
returnAll: [false],
},
},
description: "Maximum number of pages to load. If response has 'next', continue loading up to this limit (50 items per page)",
},
{
displayName: "Options",
name: "options",
type: "collection",
placeholder: "Add Option",
default: {},
displayOptions: {
show: {
resource: ["file"],
operation: ["get", "delete", "move", "copy"],
},
},
options: [
{
displayName: "Access Token",
name: "accessToken",
type: "string",
default: "",
description: "Access token for authentication",
},
],
},
];
// Move/Copy operation fields
const moveFields = [
{
displayName: "Target Folder ID",
name: "targetFolderId",
type: "string",
required: true,
default: "",
description: "ID of the target folder",
displayOptions: {
show: {
resource: ["file"],
operation: ["move", "copy"],
},
},
},
{
displayName: "New Name",
name: "newName",
type: "string",
default: "",
description: "New name for the file (optional)",
displayOptions: {
show: {
resource: ["file"],
operation: ["move", "copy"],
},
},
},
];
// Operation field
const operationField = {
displayName: "Operation",
name: "operation",
type: "options",
noDataExpression: true,
required: true,
default: "upload",
displayOptions: {
show: {
resource: ["file"],
},
},
options: [
{
name: "Upload File",
value: "upload",
description: "Upload a file (disk.file.upload)",
action: "Upload a file",
},
{
name: "Get File",
value: "get",
description: "Get file information (disk.file.get)",
action: "Get file information",
},
{
name: "Get All Files",
value: "getAll",
description: "Get all files (disk.file.list)",
action: "Get all files",
},
{
name: "Download File",
value: "download",
description: "Download a file (disk.file.download)",
action: "Download a file",
},
{
name: "Delete File",
value: "delete",
description: "Delete a file (disk.file.delete)",
action: "Delete a file",
},
{
name: "Move File",
value: "move",
description: "Move a file (disk.file.move)",
action: "Move a file",
},
{
name: "Copy File",
value: "copy",
description: "Copy a file (disk.file.copy)",
action: "Copy a file",
},
],
};
// Export all File fields - cleaned up without duplicates
exports.fileFields = [
operationField,
...moveFields,
...getAllFields,
...uploadFields,
];
//# sourceMappingURL=FileDescription.js.map