@poli-digital/n8n-nodes-poli
Version:
Nó para interagir com a API da Poli
129 lines • 4.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateApp = void 0;
const n8n_workflow_1 = require("n8n-workflow");
const transport_1 = require("./transport");
const parameterUtils_1 = require("./utils/parameterUtils");
class CreateApp {
constructor() {
this.description = {
displayName: 'Create App',
name: 'createApp',
icon: 'file:poli.svg',
group: ['output'],
version: 1,
description: 'Create a new application',
defaults: {
name: 'Create App',
},
inputs: ['main'],
outputs: ['main'],
credentials: [
{
name: 'poliApi',
required: true,
},
],
properties: [
{
displayName: 'Account UUID',
name: 'accountId',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Visibility',
name: 'visibility',
type: 'options',
options: [
{ name: 'Public', value: 'public' },
{ name: 'Private', value: 'private' },
],
default: 'public',
required: true,
},
{
displayName: 'App Name',
name: 'appName',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Responsible',
name: 'responsible',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Phone',
name: 'phone',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Email',
name: 'email',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Picture File UUID',
name: 'pictureFileId',
type: 'string',
default: '',
required: false,
},
],
};
}
async execute() {
const items = this.getInputData();
const returnData = [];
for (let i = 0; i < items.length; i++) {
try {
const accountId = (0, parameterUtils_1.getParameterSafe)(this, 'accountId', i, '', true);
const visibility = (0, parameterUtils_1.getParameterSafe)(this, 'visibility', i, '');
const appName = (0, parameterUtils_1.getParameterSafe)(this, 'appName', i, '');
const description = (0, parameterUtils_1.getParameterSafe)(this, 'description', i, '');
const responsible = (0, parameterUtils_1.getParameterSafe)(this, 'responsible', i, '');
const phone = (0, parameterUtils_1.getParameterSafe)(this, 'phone', i, '', true);
const email = (0, parameterUtils_1.getParameterSafe)(this, 'email', i, '');
const pictureFileId = (0, parameterUtils_1.getParameterSafe)(this, 'pictureFileId', i, '');
const body = {
visibility: visibility.toUpperCase(),
attributes: {
name: appName,
description,
responsible,
phone,
email,
},
};
if (pictureFileId) {
body.attributes.picture = { file_id: pictureFileId };
}
const endpoint = `/accounts/${accountId}/apps?include=*`;
const responseData = await transport_1.apiRequest.call(this, 'POST', endpoint, body);
returnData.push({ json: responseData });
}
catch (error) {
throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
}
}
return [returnData];
}
}
exports.CreateApp = CreateApp;
//# sourceMappingURL=CreateApp.operation.js.map