lib/client/services/lineItemCreativeAssociation/lineItemCreativeAssociation.service.ts (83 lines of code) (raw):

import type { Client } from "soap"; import type { Statement, UpdateResult } from "../../../common/types"; import type { LineItemCreativeAssociationAction } from "./lineItemCreativeAssociation.action"; import type { CreativeNativeStylePreview, CreativePushOptions, LineItemCreativeAssociation, LineItemCreativeAssociationPage, } from "./lineItemCreativeAssociation.type"; import type { LineItemCreativeAssociationServiceOperations } from "./lineItemCreativeAssociationService.interface"; export class LineItemCreativeAssociationService implements LineItemCreativeAssociationServiceOperations { private _client: Client; constructor(client: Client) { this._client = client; } async createLineItemCreativeAssociations( lineItemCreativeAssociations: Partial<LineItemCreativeAssociation>[], ): Promise<LineItemCreativeAssociation[]> { return this._client.createLineItemCreativeAssociations({ lineItemCreativeAssociations, }); } async getPreviewUrl( lineItemId: number, creativeId: number, siteUrl: string, ): Promise<string> { return this._client.getPreviewUrl({ lineItemId, creativeId, siteUrl, }); } async getPreviewUrlsForNativeStyles( lineItemId: number, creativeId: number, siteUrl: string, ): Promise<CreativeNativeStylePreview[]> { return this._client.getPreviewUrlsForNativeStyles({ lineItemId, creativeId, siteUrl, }); } async getLineItemCreativeAssociationsByStatement( filterStatement: Statement, ): Promise<LineItemCreativeAssociationPage> { return this._client.getLineItemCreativeAssociationsByStatement({ filterStatement, }); } async performLineItemCreativeAssociationAction( lineItemCreativeAssociationAction: LineItemCreativeAssociationAction, filterStatement: Statement, ): Promise<UpdateResult> { return this._client.performLineItemCreativeAssociationAction({ lineItemCreativeAssociationAction: { attributes: { "xsi:type": lineItemCreativeAssociationAction.constructor.name, }, }, filterStatement, }); } async pushCreativeToDevices( filterStatement: Statement, options: CreativePushOptions, ): Promise<UpdateResult> { return this._client.pushCreativeToDevices({ filterStatement, options, }); } async updateLineItemCreativeAssociations( lineItemCreativeAssociations: LineItemCreativeAssociation[], ): Promise<LineItemCreativeAssociation[]> { return this._client.updateLineItemCreativeAssociations({ lineItemCreativeAssociations, }); } }