UNPKG

prism-ad-campaigns

Version:
65 lines (54 loc) 1.36 kB
const FacebookApiModel = require('./facebook-api-model') /** * AdCreativeModel Class * * @public * @class AdCreativeModel */ class AdCreativeModel extends FacebookApiModel { /** * AdCreativeModel constructor * * @public * @constructor * @param {Object} options - Options */ constructor(options = {}) { super(Object.assign({}, { table: 'ad_creatives', relations: { belongsTo: [ { node: 'ad_campaigns', link: { foreignKey: 'adCampaignId', localKey: 'adCreativeId', }, joinTable: 'link_ad_campaigns_ad_creatives' } ], } }, options)) this.adAccountId = options.adAccountId } /** * Create ad creative * * @public * @param {Object} pkg */ async create(pkg = {}, options = {}) { const api = await this.getApi(this.adAccountId) const facebookAdCreative = await api.createLinkAdCreative({ name: pkg.title, headline: pkg.headline, text: pkg.text, imageHash: pkg.imageHash, link: pkg.link, urlTags: `utm_source=kyle_all_con&utm_campaign=${pkg.facebookAdSetId}`, }) pkg.facebookAdCreativeId = facebookAdCreative.id return FacebookApiModel.prototype.create.call(this, pkg, options) } } module.exports = AdCreativeModel