paradigm-core
Version:
Paradigm Core Modules
50 lines (37 loc) • 1.2 kB
JavaScript
const {
Queue,
ApplicationsPlugin: {ApplicationModel}
} = require('structure-core')
class DeleteArticleQueue extends Queue {
constructor(options = {}) {
super({
label: 'facebook-ia--delete-article',
jobOpts: { // we need to wait for facebook to finish importing previous versions
attempts: 60,
backoff: {
type: 'fixed',
delay: 60000,
}
}
})
}
async handler(job) {
const applicationModel = new ApplicationModel({
organizationId: job.data.organizationId,
logger: this.logger,
})
const app = await applicationModel.getById(job.data.applicationId)
if (!app.facebook || !app.facebook.pageId) {
this.logger.debug('No facebook page ID set on application')
return
}
const FacebookInstantArticleModel = require('../models/facebook-instant-article')
const facebookInstantArticleModel = new FacebookInstantArticleModel({
organizationId: job.data.organizationId,
applicationId: job.data.applicationId,
logger: this.logger
})
await facebookInstantArticleModel.deleteForDocument(job.data.documentId)
}
}
module.exports = new DeleteArticleQueue()