@poli-digital/n8n-nodes-poli
Version:
Nó para interagir com a API da Poli
99 lines • 3.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetUser = exports.executeGetUser = exports.getUserFields = void 0;
const n8n_workflow_1 = require("n8n-workflow");
const transport_1 = require("./transport");
const parameterUtils_1 = require("./utils/parameterUtils");
const responseFilter_1 = require("./utils/responseFilter");
exports.getUserFields = [
{
displayName: 'User UUID',
name: 'userUuid',
type: 'string',
required: true,
default: '',
description: 'UUID do usuário para obter informações',
},
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add Option',
default: {},
options: [
{
displayName: 'Include',
name: 'include',
type: 'multiOptions',
options: [
{ name: 'Status', value: 'status' },
{ name: 'Status of Service', value: 'status_of_service' },
{ name: 'Email', value: 'email' },
{ name: 'Attributes', value: 'attributes' },
{ name: 'Roles', value: 'roles' },
{ name: 'Permissions', value: 'permissions' },
{ name: 'Active Account', value: 'active_account' },
{ name: 'Account Channels', value: 'account_channels' },
{ name: 'Accounts', value: 'accounts' },
{ name: 'Teams', value: 'teams' },
{ name: 'Addresses', value: 'addresses' },
{ name: 'Metadata', value: 'metadata' },
],
default: [],
description: 'Dados adicionais para incluir na resposta',
},
],
},
];
async function executeGetUser() {
var _a;
const items = this.getInputData();
const returnData = [];
for (let i = 0; i < items.length; i++) {
try {
const userUuid = (0, parameterUtils_1.getParameterSafe)(this, 'userUuid', i, '');
const options = (0, parameterUtils_1.getParameterSafe)(this, 'options', i, {});
if (!userUuid) {
throw new n8n_workflow_1.NodeApiError(this.getNode(), {
message: 'User UUID é obrigatório',
});
}
const params = new URLSearchParams();
if ((_a = options.include) === null || _a === void 0 ? void 0 : _a.length) {
params.append('include', options.include.join(','));
}
const queryString = params.toString();
const endpoint = `/users/${userUuid}${queryString ? `?${queryString}` : ''}`;
const responseData = await transport_1.apiRequest.call(this, 'GET', endpoint);
const filteredData = (0, responseFilter_1.processApiResponseForN8n)(responseData, true);
returnData.push({ json: filteredData });
}
catch (error) {
throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
}
}
return [returnData];
}
exports.executeGetUser = executeGetUser;
class GetUser {
constructor() {
this.description = {
displayName: 'Get User',
name: 'getUser',
group: ['output'],
version: 1,
description: 'Get specific user information from Poli API',
defaults: {
name: 'Get User',
},
inputs: ['main'],
outputs: ['main'],
properties: exports.getUserFields,
};
}
async execute() {
return executeGetUser.call(this);
}
}
exports.GetUser = GetUser;
//# sourceMappingURL=GetUser.operation.js.map