lib/client/services/inventory/inventory.service.ts (42 lines of code) (raw):

import type { Client } from "soap"; import type { Statement, UpdateResult } from "../../../common/types"; import type { AdUnitAction } from "./adUnit.action"; import type { AdUnit, AdUnitPage, AdUnitSize } from "./adUnit.type"; import type { InventoryServiceOperations } from "./inventoryService.interface"; export class InventoryService implements InventoryServiceOperations { private _client: Client; constructor(client: Client) { this._client = client; } async createAdUnits(adUnits: Partial<AdUnit>[]): Promise<AdUnit[]> { return this._client.createAdUnits({ adUnits }); } async getAdUnitSizesByStatement( filterStatement: Statement, ): Promise<AdUnitSize[]> { return this._client.getAdUnitSizesByStatement({ filterStatement, }); } async getAdUnitsByStatement(filterStatement: Statement): Promise<AdUnitPage> { return this._client.getAdUnitsByStatement({ filterStatement, }); } async performAdUnitAction( adUnitAction: AdUnitAction, filterStatement: Statement, ): Promise<UpdateResult> { return this._client.performAdUnitAction({ adUnitAction: { attributes: { "xsi:type": adUnitAction.constructor.name, }, }, filterStatement, }); } async updateAdUnits(adUnits: AdUnit[]): Promise<AdUnit[]> { return this._client.updateAdUnits({ adUnits }); } }