// tslint:disable: max-classes-per-file import { BaseModel } from '@verb/src/libs/shared/base/base.model'; import { StreamTransitionStatusModel, StreamTransitionStatusSchema, } from '@verb/src/libs/stream/stream-transition'; export class StreamStatusTransitionsModel implements BaseModel { public create = new StreamTransitionStatusModel(); public end = new StreamTransitionStatusModel(); public start = new StreamTransitionStatusModel(); public stop = new StreamTransitionStatusModel(); public constructor(streamStatusTransitionsSchema?: StreamStatusTransitionsSchema) { if (streamStatusTransitionsSchema) { this.fromSchema(streamStatusTransitionsSchema); } } public fromSchema(streamStatusTransitionsSchema: StreamStatusTransitionsSchema) { this.create = new StreamTransitionStatusModel(streamStatusTransitionsSchema.create); this.end = new StreamTransitionStatusModel(streamStatusTransitionsSchema.end); this.start = new StreamTransitionStatusModel(streamStatusTransitionsSchema.start); this.stop = new StreamTransitionStatusModel(streamStatusTransitionsSchema.stop); } public toSchema(): StreamStatusTransitionsSchema { return { create: this.create.toSchema(), end: this.end.toSchema(), start: this.start.toSchema(), stop: this.stop.toSchema(), }; } } export interface StreamStatusTransitionsSchema { create: StreamTransitionStatusSchema; end: StreamTransitionStatusSchema; start: StreamTransitionStatusSchema; stop: StreamTransitionStatusSchema; }