UNPKG

prism-ad-campaigns

Version:
71 lines (60 loc) 1.38 kB
const FacebookApiModel = require('./facebook-api-model') /** * AdSetModel Class * * @public * @class AdSetModel */ class AdSetModel extends FacebookApiModel { /** * AdSetModel constructor * * @public * @constructor * @param {Object} options - Options */ constructor(options = {}) { super(Object.assign({}, { table: 'ad_sets', relations: { belongsTo: [ { node: 'ad_campaigns', link: { foreignKey: 'adCampaignId', localKey: 'adSetId', }, joinTable: 'link_ad_campaigns_ad_sets' } ], hasMany: [ { node: 'ads', link: { foreignKey: 'adId', localKey: 'adSetId' }, joinTable: 'link_ad_sets_ads' } ] } }, options)) this.adAccountId = options.adAccountId } /** * Create ad set * * @public * @param {Object} pkg */ async create(pkg = {}, options = {}) { const api = await this.getApi(this.adAccountId) const facebookAdSet = await api.createAdSet({ name: pkg.title, campaignId: pkg.facebookAdCampaignId }) pkg.facebookAdSetId = facebookAdSet.id return FacebookApiModel.prototype.create.call(this, pkg, options) } } module.exports = AdSetModel