UNPKG

beeswax-node-client

Version:

TypeScript/JavaScript client library for the Beeswax DSP API

94 lines 3.67 kB
"use strict"; 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