beeswax-node-client
Version:
TypeScript/JavaScript client library for the Beeswax DSP API
94 lines • 3.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReportResource = exports.SegmentResource = exports.CreativeAssetResource = exports.TargetingTemplateResource = exports.CreativeLineItemResource = exports.CreativeResource = exports.LineItemResource = exports.CampaignResource = exports.AdvertiserResource = void 0;
const BaseResource_1 = require("./BaseResource");
class AdvertiserResource extends BaseResource_1.BaseResource {
constructor(client) {
super(client, '/rest/advertiser', 'advertiser_id');
}
}
exports.AdvertiserResource = AdvertiserResource;
class CampaignResource extends BaseResource_1.BaseResource {
constructor(client) {
super(client, '/rest/campaign', 'campaign_id');
}
// Override create to ensure budget_type is set
async create(body) {
// Set default budget_type to 2 (currency in cents) if not specified
const campaignData = {
...body,
budget_type: body.budget_type !== undefined ? body.budget_type : 2
};
return super.create(campaignData);
}
}
exports.CampaignResource = CampaignResource;
class LineItemResource extends BaseResource_1.BaseResource {
constructor(client) {
super(client, '/rest/line_item', 'line_item_id');
}
}
exports.LineItemResource = LineItemResource;
class CreativeResource extends BaseResource_1.BaseResource {
constructor(client) {
super(client, '/rest/creative', 'creative_id');
}
}
exports.CreativeResource = CreativeResource;
class CreativeLineItemResource extends BaseResource_1.BaseResource {
constructor(client) {
super(client, '/rest/creative_line_item', 'cli_id');
}
}
exports.CreativeLineItemResource = CreativeLineItemResource;
class TargetingTemplateResource extends BaseResource_1.BaseResource {
constructor(client) {
// Note: targeting_template is deprecated, but we'll keep using it for compatibility
// New integrations should use /rest/v2/targeting-expressions directly
super(client, '/rest/targeting_template', 'targeting_template_id');
}
// Override methods to handle deprecation warning
async create(_body) {
// The old endpoint is deprecated but might still work for some accounts
// Return a warning message instead of failing
return {
success: false,
message: 'Targeting templates are deprecated. Please use targeting expressions API directly.',
code: 410
};
}
async query(body) {
// For query, we can try the old endpoint
try {
return await super.query(body);
}
catch (_error) {
// If it fails, return empty array with warning
return {
success: true,
payload: [],
message: 'Targeting templates are deprecated. Please use targeting expressions API directly.'
};
}
}
}
exports.TargetingTemplateResource = TargetingTemplateResource;
class CreativeAssetResource extends BaseResource_1.BaseResource {
constructor(client) {
super(client, '/rest/creative_asset', 'creative_asset_id');
}
}
exports.CreativeAssetResource = CreativeAssetResource;
class SegmentResource extends BaseResource_1.BaseResource {
constructor(client) {
super(client, '/rest/segment', 'segment_id');
}
}
exports.SegmentResource = SegmentResource;
class ReportResource extends BaseResource_1.BaseResource {
constructor(client) {
super(client, '/rest/report', 'report_id');
}
}
exports.ReportResource = ReportResource;
//# sourceMappingURL=index.js.map