lib/client/services/liveStreamEvent/liveStreamEventService.interface.ts (31 lines of code) (raw):
import type { Statement, UpdateResult } from "../../../common/types";
import type { LiveStreamEventAction } from "./liveStreamEvent.action";
import type {
LiveStreamEvent,
LiveStreamEventPage,
Slate,
SlateAction,
SlatePage,
} from "./liveStreamEvent.type";
/**
* Provides operations for creating, updating and retrieving {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent LiveStreamEvent} objects.
*
* This feature is only available for Ad Manager 360 networks. Publishers will need to be activated through the Video > Live streams tab in the Ad Manager UI.
* For access, apply through your account manager.
*/
export interface LiveStreamEventServiceOperations {
/**
* Creates new {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent LiveStreamEvent} objects.
* The following fields are required:
*
* - {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#name LiveStreamEvent.name }
* - {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#startDateTime LiveStreamEvent.startDateTime }
* - {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#endDateTime LiveStreamEvent.endDateTime }
* - {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#contentUrls LiveStreamEvent.contentUrls }
* - {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#adTags LiveStreamEvent.adTags }
*
* @param liveStreamEvents the live stream events to create
* @returns the created live stream events with their IDs filled in
*/
createLiveStreamEvents(
liveStreamEvents: Partial<LiveStreamEvent>[],
): Promise<LiveStreamEvent[]>;
/**
* Create new slates.
*
* A slate creative is served as backup content in a live stream event when no other creatives are eligible to be served.
*
* @param slates list of slate objects to create.
*/
createSlates(slates: Partial<Slate>[]): Promise<Slate[]>;
/**
* Gets a {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEventPage LiveStreamEventPage}
* of {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent LiveStreamEvent} objects that satisfy the given
* {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.Statement#query Statement.query}.
* The following fields are supported for filtering:
*
* | PQL Property | PQL Property
* | ----------------------------------- | -----------------------------------------------------------------------------------------------------------------------------------------------
* | id | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#id LiveStreamEvent.id}
* | slateCreativeId | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#slateCreativeId LiveStreamEvent.slateCreativeId}
* | assetKey | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#assetKey LiveStreamEvent.assetKey}
* | streamCreateDaiAuthenticationKeyIds | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#streamCreateDaiAuthenticationKeyIds LiveStreamEvent.streamCreateDaiAuthenticationKeyIds}
* | dynamicAdInsertionType | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#dynamicAdInsertionType LiveStreamEvent.dynamicAdInsertionType}
* | streamingFormat | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#streamingFormat LiveStreamEvent.streamingFormat}
* | customAssetKey | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#customAssetKey LiveStreamEvent.customAssetKey}
* | daiEncodingProfileIds | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#daiEncodingProfileIds LiveStreamEvent.daiEncodingProfileIds}
* | segmentUrlAuthenticationKeyIds | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent#segmentUrlAuthenticationKeyIds LiveStreamEvent.segmentUrlAuthenticationKeyIds}
*
* @param filterStatement a Publisher Query Language statement to filter a list of live stream events
* @returns the live stream events that match the filter
*/
getLiveStreamEventsByStatement(
filterStatement: Statement,
): Promise<LiveStreamEventPage>;
/**
* Gets a {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.SlatePage SlatePage}
* of {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.Slate Slate} objects that satisfy the given
* {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.Statement#query Statement.query}.
* The following fields are supported for filtering:
*
* | PQL Property | PQL Property
* | -------------------- | -----------------------------------------------------------------------------------------------------------------------------------------------
* | id | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.Slate#id LiveStreamEvent.id}
* | name | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.Slate#name LiveStreamEvent.name}
* | lastModifiedDateTime | {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.Slate#lastModifiedDateTime LiveStreamEvent.lastModifiedDateTime}
*
* @param statement a Publisher Query Language statement used to filter slates
* @returns the slates that match the given filter
*/
getSlatesByStatement(statement: Statement): Promise<SlatePage>;
/**
* Performs actions on {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent LiveStreamEvent}
* objects that match the given {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.Statement#query Statement.query}.
*
* @param liveStreamEventAction the action to perform
* @param filterStatement a Publisher Query Language statement used to filter a set of live stream events
* @returns the result of the action performed
*/
performLiveStreamEventAction(
liveStreamEventAction: LiveStreamEventAction,
filterStatement: Statement,
): Promise<UpdateResult>;
/**
* Performs actions on slates that match the given {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.Statement Statement}.
*
* @param slateAction the action to perform
* @param filterStatement a Publisher Query Language statement used to filter a set of slates
* @returns the result of the action performed
*/
performSlateAction(
slateAction: SlateAction,
filterStatement: Statement,
): Promise<UpdateResult>;
/**
* Updates the specified {@link https://developers.google.com/ad-manager/api/reference/v202405/LiveStreamEventService.LiveStreamEvent LiveStreamEvent} objects.
*
* @param liveStreamEvents the live stream events to update
* @returns the updated live stream events
*/
updateLiveStreamEvents(
liveStreamEvents: LiveStreamEvent[],
): Promise<LiveStreamEvent[]>;
/**
* Update existing slates.
*
* Only the slateName is editable.
*
* @param slates list of slate objects to update.
* @returns the updated slates
*/
updateSlates(slates: Slate[]): Promise<Slate[]>;
}