add `documentPath` parameter to `webpage-screenshot` job processor

Controls where the screenshot Image _id value will be written
master
rob 2 years ago
parent dec0bf38ea
commit 716866d6c3

@ -54,9 +54,13 @@ class WebpageScreenshotJob extends SiteWorkerProcess {
await super.stop();
}
/**
* Expected job data parameters: modelName, documentId, documentPath, pageUrl.
* @param {Job} job the Bull Queue job to be processed
*/
async processWebpageScreenshot (job) {
const { image: imageService } = this.dtp.services;
const { modelName, documentId, pageUrl } = job.data;
const { modelName, documentId, documentPath, pageUrl } = job.data;
const model = mongoose.model(modelName);
if (!model) {
@ -105,14 +109,9 @@ class WebpageScreenshotJob extends SiteWorkerProcess {
job.data.screenshotImage = await imageService.create(job.data.semitism.author, imageDefinition, imageFile);
this.jobLog(job, 'updating document with screenshot image');
await model.updateOne(
{ _id: documentId },
{
$set: {
'attachments.screenshot': job.data.screenshotImage._id,
},
},
);
const updateOp = { $set: { } };
updateOp.$set[documentPath] = job.data.screenshotImage._id;
await model.updateOne({ _id: documentId }, updateOp);
this.jobLog(job, 'screenshot captured and processed successfully');

Loading…
Cancel
Save