lib/client/services/creative/creative.service.ts (37 lines of code) (raw):

import type { Client } from "soap"; import type { Statement, UpdateResult } from "../../../common/types"; import type { CreativeAction } from "./creative.action"; import type { Creative, CreativePage } from "./creative.type"; import type { CreativeServiceOperations } from "./creativeService.interface"; export class CreativeService implements CreativeServiceOperations { private _client: Client; constructor(client: Client) { this._client = client; } async createCreatives(creatives: Partial<Creative>[]): Promise<Creative[]> { return this._client.createCreatives({ creatives }); } async getCreativesByStatement( filterStatement: Statement, ): Promise<CreativePage> { return this._client.getCreativesByStatement({ filterStatement, }); } async performCreativeAction( creativeAction: CreativeAction, filterStatement: Statement, ): Promise<UpdateResult> { return this._client.performCreativeAction({ creativeAction: { attributes: { "xsi:type": creativeAction.constructor.name, }, }, filterStatement, }); } async updateCreatives(creatives: Creative[]): Promise<Creative[]> { return this._client.updateCreatives({ creatives }); } }