UNPKG

prism-ad-campaigns

Version:
62 lines (51 loc) 1.14 kB
const FacebookApiModel = require('./facebook-api-model') /** * AdModel Class * * @public * @class AdModel */ class AdModel extends FacebookApiModel { /** * AdModel constructor * * @public * @constructor * @param {Object} options - Options */ constructor(options = {}) { super(Object.assign({}, { table: 'ads', relations: { belongsTo: [ { node: 'ad_sets', link: { foreignKey: 'adSetId', localKey: 'adId', }, joinTable: 'link_ad_sets_ads' } ], } }, options)) this.adAccountId = options.adAccountId } /** * Create ad * * @public * @param {Object} pkg */ async create(pkg = {}, options = {}) { const api = await this.getApi(this.adAccountId) const facebookAd= await api.createAd({ name: pkg.title, adSetId: pkg.facebookAdSetId, adCreativeId: pkg.facebookAdCreativeId, }) pkg.facebookAdId = facebookAd.id return FacebookApiModel.prototype.create.call(this, pkg, options) } } module.exports = AdModel