UNPKG

n8n-nodes-placid

Version:

n8n node to interact with Placid API for creative generation

211 lines 8.6 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.Placid = void 0; const n8n_workflow_1 = require("n8n-workflow"); const transport_1 = require("./transport"); const methods_1 = require("./methods"); const image_1 = require("./actions/image"); const pdf_1 = require("./actions/pdf"); const video_1 = require("./actions/video"); const other_1 = require("./actions/other"); const template_1 = require("./actions/template"); const imageCreate = __importStar(require("./actions/image/create.operation")); const imageGet = __importStar(require("./actions/image/get.operation")); const imageDelete = __importStar(require("./actions/image/delete.operation")); const pdfCreate = __importStar(require("./actions/pdf/create.operation")); const pdfMerge = __importStar(require("./actions/pdf/merge.operation")); const pdfGet = __importStar(require("./actions/pdf/get.operation")); const pdfDelete = __importStar(require("./actions/pdf/delete.operation")); const videoCreate = __importStar(require("./actions/video/create.operation")); const videoGet = __importStar(require("./actions/video/get.operation")); const videoDelete = __importStar(require("./actions/video/delete.operation")); const otherUploadMedia = __importStar(require("./actions/other/uploadMedia.operation")); const templateCreate = __importStar(require("./actions/template/create.operation")); const templateGet = __importStar(require("./actions/template/get.operation")); const templateGetMany = __importStar(require("./actions/template/getMany.operation")); const templateUpdate = __importStar(require("./actions/template/update.operation")); const templateDelete = __importStar(require("./actions/template/delete.operation")); class Placid { constructor() { this.description = { displayName: 'Placid', name: 'placid', icon: 'file:placid.svg', group: ['transform'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'Generate images, PDFs, and videos via Placid\'s API', defaults: { name: 'Placid', }, inputs: ["main"], outputs: ["main"], usableAsTool: true, credentials: [ { name: 'placidApi', required: true, }, ], requestDefaults: transport_1.requestDefaults, properties: [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Image', value: 'image', }, { name: 'PDF', value: 'pdf', }, { name: 'Video', value: 'video', }, { name: 'Template', value: 'template', }, { name: 'Other', value: 'other', }, ], default: 'image', }, ...image_1.imageOperations, ...pdf_1.pdfOperations, ...video_1.videoOperations, ...template_1.templateOperations, ...other_1.otherOperations, ...image_1.imageFields, ...pdf_1.pdfFields, ...video_1.videoFields, ...template_1.templateFields, ...other_1.otherFields, ], }; this.methods = { listSearch: { getTemplates: methods_1.getTemplates, }, loadOptions: { getTemplateLayers: methods_1.getTemplateLayers, getTextLayers: methods_1.getTextLayers, getPictureLayers: methods_1.getPictureLayers, getPdfPageTextLayers: methods_1.getPdfPageTextLayers, getPdfPagePictureLayers: methods_1.getPdfPagePictureLayers, }, }; } async execute() { const items = this.getInputData(); const returnData = []; const resource = this.getNodeParameter('resource', 0); const operation = this.getNodeParameter('operation', 0); const operationMap = { image: { create: imageCreate.execute, get: imageGet.execute, delete: imageDelete.execute, }, pdf: { create: pdfCreate.execute, merge: pdfMerge.execute, get: pdfGet.execute, delete: pdfDelete.execute, }, video: { create: videoCreate.execute, get: videoGet.execute, delete: videoDelete.execute, }, template: { create: templateCreate.execute, get: templateGet.execute, getMany: templateGetMany.execute, update: templateUpdate.execute, delete: templateDelete.execute, }, other: { uploadMedia: otherUploadMedia.execute, }, }; const resourceOperations = operationMap[resource]; if (!resourceOperations) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The resource "${resource}" is not supported`); } const operationHandler = resourceOperations[operation]; if (!operationHandler) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The operation "${operation}" is not supported for resource "${resource}"`); } for (let i = 0; i < items.length; i++) { try { if (operation === 'getMany') { const results = await operationHandler.call(this, i); returnData.push(...results); } else { const result = await operationHandler.call(this, i); returnData.push(result); } } catch (error) { if (this.continueOnFail()) { returnData.push({ json: this.getInputData()[i].json, error, pairedItem: { item: i }, }); } else { if (error instanceof n8n_workflow_1.NodeOperationError) { throw error; } throw new n8n_workflow_1.NodeOperationError(this.getNode(), error.message, { itemIndex: i }); } } } return [returnData]; } } exports.Placid = Placid; //# sourceMappingURL=Placid.node.js.map