lib/client/services/lineItem/lineItemService.interface.ts (12 lines of code) (raw):

import type { Statement, UpdateResult } from "../../../common/types"; import type { LineItemAction } from "./lineItem.action"; import type { LineItem, LineItemPage } from "./lineItem.type"; /** * Provides operations for creating, updating and retrieving {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem LineItem} objects. * * Line items define the campaign. For example, line items define: * * - a budget * - a span of time to run * - ad unit targeting * * In short, line items connect all of the elements of an ad campaign. * * Line items and creatives can be associated with each other through LineItemCreativeAssociation objects. * An ad unit will host a creative through both this association and the LineItem.targeting to it. * The delivery of a line item depends on its priority. More information on line item priorities can be found on the DFP Help Center. */ export interface LineItemServiceOperations { /** * Creates new {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem LineItem} objects. * * @param lineItems the line items to create * @returns the created line items with their IDs filled in */ createLineItems(lineItems: Partial<LineItem>[]): Promise<LineItem[]>; /** * Gets a {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItemPage LineItemPage} * of {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem LineItem} objects that satisfy the given * {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.Statement#query Statement.query}. * The following fields are supported for filtering: * * | PQL Property | PQL Property | * | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | * | CostType | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#costType LineItem.costType} | * | CreationDateTime | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#creationDateTime LineItem.creationDateTime} | * | DeliveryRateType | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#deliveryRateType LineItem.deliveryRateType} | * | EndDateTime | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#endDateTime LineItem.endDateTime} | * | externalId | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#externalId LineItem.externalId} | * | Id | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#id LineItem.id} | * | IsMissingCreatives | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#isMissingCreatives LineItem.isMissingCreatives} | * | IsSetTopBoxEnabled | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#isSetTopBoxEnabled LineItem.isSetTopBoxEnabled} | * | LastModifiedDateTime | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#lastModifiedDateTime LineItem.lastModifiedDateTime} | * | LineItemType | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#lineItemType LineItem.lineItemType} | * | Name | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#name LineItem.name} | * | OrderId | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#orderId LineItem.orderId} | * | StartDateTime | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#startDateTime LineItem.startDateTime} | * | Status | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#status LineItem.status} | * | UnitsBought | {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem#unitsBought LineItem.unitsBought} | * * @param filterStatement a Publisher Query Language statement used to filter a set of line items. * @returns the line items that match the given filter */ getLineItemsByStatement(filterStatement: Statement): Promise<LineItemPage>; /** * Performs actions on {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem LineItem} objects that match the given * {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.Statement#query Statement.query}. * * @param lineItemAction the action to perform * @param filterStatement a Publisher Query Language statement used to filter a set of line items * @returns the result of the action performed */ performLineItemAction( lineItemAction: LineItemAction, filterStatement: Statement, ): Promise<UpdateResult>; /** * Updates the specified {@link https://developers.google.com/ad-manager/api/reference/v202405/LineItemService.LineItem LineItem} objects. * * @param lineItems the line items to update. * @returns the updated line items */ updateLineItems(lineItems: LineItem[]): Promise<LineItem[]>; }