@wiro-ai/n8n-nodes-wiroai
Version:
n8n community node for Wiro AI — 290+ AI models: video, image, audio, LLM, 3D, and more.
120 lines • 5.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AiResumeCvFeedbackGenerator = void 0;
const n8n_workflow_1 = require("n8n-workflow");
const auth_1 = require("../utils/auth");
const polling_1 = require("../utils/polling");
class AiResumeCvFeedbackGenerator {
constructor() {
this.description = {
displayName: 'Wiro - AI CV/Resume Evaluator',
name: 'aiResumeCvFeedbackGenerator',
icon: { light: 'file:wiro.svg', dark: 'file:wiro.svg' },
group: ['transform'],
version: 1,
description: 'Wiro/AI-Resume-CV-Feedback-Generator enables you to generate detailed, personalized feedback on',
defaults: {
name: 'Wiro - AI CV/Resume Evaluator',
},
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
usableAsTool: true,
credentials: [
{
name: 'wiroApi',
required: true,
},
],
properties: [
{
displayName: 'Input Document Multiple URLs',
name: 'inputDocumentMultipleUrl',
type: 'string',
default: '',
description: 'Upload multiple CV files. Ensure the files are relevant and properly formatted for accurate processing. Supported file types: .csv, .docx, .epub, .jpeg, .jpg, .mbox, .md, .mp3, .mp4, .pdf, .png, .ppt, .pptm, .pptx',
},
{
displayName: 'Input Document Url Multiple',
name: 'inputDocumentUrlMultiple',
type: 'string',
default: '',
description: 'Enter multiple file URLs separated by comma ( , ). Ensure the URLs are accessible and correctly formatted. Supported file types: .csv, .docx, .epub, .jpeg, .jpg, .mbox, .md, .mp3, .mp4, .pdf, .png, .ppt, .pptm, .pptx',
},
{
displayName: 'Job Description',
name: 'jobDesc',
type: 'string',
default: '',
description: 'Enter the details of the job posting, including job title, responsibilities, qualifications, and any additional information relevant to the position. Ensure the description is clear and concise to attract the right candidates.',
},
{
displayName: 'Language',
name: 'language',
type: 'options',
default: 'en',
description: 'Please select the preferred language for the generated summary',
options: [
{ name: 'EN', value: 'en' },
{ name: 'TR', value: 'tr' },
],
},
],
};
}
async execute() {
const returnData = [];
const inputDocumentMultipleUrl = this.getNodeParameter('inputDocumentMultipleUrl', 0, '');
const inputDocumentUrlMultiple = this.getNodeParameter('inputDocumentUrlMultiple', 0, '');
const jobDesc = this.getNodeParameter('jobDesc', 0, '');
const language = this.getNodeParameter('language', 0, '');
const credentials = await this.getCredentials('wiroApi');
const apiKey = credentials.apiKey;
const apiSecret = credentials.apiSecret;
const headers = (0, auth_1.generateWiroAuthHeaders)(apiKey, apiSecret);
const response = await this.helpers.httpRequest({
method: 'POST',
url: 'https://api.wiro.ai/v1/Run/wiro/AI-Resume-CV-Feedback-Generator',
headers: {
...headers,
'Content-Type': 'application/json',
},
body: {
inputDocumentMultiple: inputDocumentMultipleUrl,
inputDocumentUrlMultiple,
jobDesc,
language,
},
});
if (!(response === null || response === void 0 ? void 0 : response.taskid) || !(response === null || response === void 0 ? void 0 : response.socketaccesstoken)) {
throw new n8n_workflow_1.NodeApiError(this.getNode(), {
message: 'Wiro API did not return a valid task ID or socket access token ' +
JSON.stringify(response),
});
}
const taskid = response.taskid;
const socketaccesstoken = response.socketaccesstoken;
const result = await polling_1.pollTaskUntilComplete.call(this, socketaccesstoken, headers);
const responseJSON = {
taskid: taskid,
url: '',
status: '',
};
switch (result) {
case '-1':
case '-2':
case '-3':
case '-4':
responseJSON.status = 'failed';
break;
default:
responseJSON.status = 'completed';
responseJSON.url = result !== null && result !== void 0 ? result : '';
}
returnData.push({
json: responseJSON,
});
return [returnData];
}
}
exports.AiResumeCvFeedbackGenerator = AiResumeCvFeedbackGenerator;
//# sourceMappingURL=AiResumeCvFeedbackGenerator.node.js.map