lib/client/services/liveStreamEvent/liveStreamEvent.service.ts (73 lines of code) (raw):
import type { Client } from "soap";
import type { Statement, UpdateResult } from "../../../common/types";
import type { LiveStreamEventAction } from "./liveStreamEvent.action";
import type {
LiveStreamEvent,
LiveStreamEventPage,
Slate,
SlateAction,
SlatePage,
} from "./liveStreamEvent.type";
import type { LiveStreamEventServiceOperations } from "./liveStreamEventService.interface";
export class LiveStreamEventService
implements LiveStreamEventServiceOperations
{
private _client: Client;
constructor(client: Client) {
this._client = client;
}
createLiveStreamEvents(
liveStreamEvents: Partial<LiveStreamEvent>[],
): Promise<LiveStreamEvent[]> {
return this._client.createLiveStreamEvents({ liveStreamEvents });
}
createSlates(slates: Partial<Slate>[]): Promise<Slate[]> {
return this._client.createSlates({ slates });
}
getLiveStreamEventsByStatement(
filterStatement: Statement,
): Promise<LiveStreamEventPage> {
return this._client.getLiveStreamEventsByStatement({
filterStatement,
});
}
getSlatesByStatement(statement: Statement): Promise<SlatePage> {
return this._client.getSlatesByStatement({
statement,
});
}
performLiveStreamEventAction(
liveStreamEventAction: LiveStreamEventAction,
filterStatement: Statement,
): Promise<UpdateResult> {
return this._client.performLiveStreamEventAction({
liveStreamEventAction: {
attributes: {
"xsi:type": liveStreamEventAction.constructor.name,
},
},
filterStatement,
});
}
performSlateAction(
slateAction: SlateAction,
filterStatement: Statement,
): Promise<UpdateResult> {
return this._client.performSlateAction({
slateAction: {
attributes: {
"xsi:type": slateAction,
},
},
filterStatement,
});
}
updateLiveStreamEvents(
liveStreamEvents: LiveStreamEvent[],
): Promise<LiveStreamEvent[]> {
return this._client.updateLiveStreamEvents({ liveStreamEvents });
}
updateSlates(slates: Slate[]): Promise<Slate[]> {
return this._client.updateSlates({ slates });
}
}