paradigm-core
Version:
Paradigm Core Modules
36 lines (25 loc) • 990 B
JavaScript
const {Queue, ApplicationsPlugin: {ApplicationModel}} = require('structure-core')
const AppleNewsArticleModel = require('../models/apple-news-article')
class DeleteArticleQueue extends Queue {
constructor(options = {}) {
super({label: 'apple-news--delete-article'})
}
async handler(job) {
const applicationModel = new ApplicationModel({
organizationId: job.data.organizationId,
logger: this.logger,
})
const app = await applicationModel.getById(job.data.applicationId)
if (!app.appleNewsChannelId || !app.appleNewsApiId || !app.appleNewsApiSecret) {
this.logger.debug('No apple news config set on application')
return
}
const appleNewsArticleModel = new AppleNewsArticleModel({
organizationId: job.data.organizationId,
applicationId: job.data.applicationId,
logger: this.logger
})
await appleNewsArticleModel.deleteForDocument(job.data.documentId)
}
}
module.exports = new DeleteArticleQueue()