UNPKG

paradigm-facebook-ia

Version:
51 lines (37 loc) 1.41 kB
const Job = require('structure-job') const {ApplicationModel} = require('structure-applications') class DeleteArticleJob extends Job { constructor(options = {}) { super(Object.assign({}, { label: 'Delete Facebook Instant Article', priority: 'high', numRetries: 60, // We sometimes need to wait for Facebook to finish imports table: 'jobs_delete_instant_article_article' }, options)) this.applicationId = options.applicationId this.logger = options.logger || console if(!this.logger.debug) { this.logger.debug = console.log.bind(console) } this.organizationId = options.organizationId } async handler(job) { const applicationModel = new ApplicationModel({ organizationId: this.organizationId, logger: this.logger, }) const app = await applicationModel.getById(this.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: this.organizationId, applicationId: this.applicationId, logger: this.logger }) await facebookInstantArticleModel.deleteForDocument(job.data.documentId) } } module.exports = DeleteArticleJob