@flatfile/safe-api
Version:
Flatfile Safe API client with streaming capabilities
42 lines (41 loc) • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getJobsExtension = getJobsExtension;
const jobs_1 = require("../streaming/jobs");
function getJobsExtension(client) {
// Get the prototype that contains the base job methods
const basePrototype = Object.getPrototypeOf(client).constructor.prototype.jobs;
// Create a new object with the base jobs prototype
const originalJobs = Object.create(basePrototype);
// Add our enhanced methods
return Object.assign(originalJobs, {
get: async (jobId, options) => {
const request = new jobs_1.GetJobRequest(jobId, options);
return request.execute();
},
list: async (opts, options) => {
const request = new jobs_1.ListJobsRequest(opts, options);
return request.execute();
},
create: async (config, options) => {
const request = new jobs_1.CreateJobRequest(config, options);
return request.execute();
},
update: async (jobId, data, options) => {
const request = new jobs_1.UpdateJobRequest(jobId, data, options);
return request.execute();
},
ack: async (jobId, data, options) => {
const request = new jobs_1.AckJobRequest(jobId, data, options);
return request.execute();
},
complete: async (jobId, data, options) => {
const request = new jobs_1.CompleteJobRequest(jobId, data, options);
return request.execute();
},
fail: async (jobId, data, options) => {
const request = new jobs_1.FailJobRequest(jobId, data, options);
return request.execute();
}
});
}