import { BaseModel } from '@verb/src/libs/shared/base/base.model'; import { StreamLibraryInstanceModel, StreamLibraryInstanceSchema, } from './stream-library-instance.model'; export class StreamLibraryResponseModel implements BaseModel { public instances: StreamLibraryInstanceModel[] = []; public streamId = 0; public constructor(streamLibraryResponseSchema?: StreamLibraryResponseSchema) { if (streamLibraryResponseSchema) { this.fromSchema(streamLibraryResponseSchema); } } public fromSchema(streamLibraryResponseSchema: StreamLibraryResponseSchema) { this.instances = streamLibraryResponseSchema.instances.map( instance => new StreamLibraryInstanceModel(instance), ); this.streamId = streamLibraryResponseSchema.stream_id; } public toSchema(): StreamLibraryResponseSchema { return { instances: this.instances.map(instance => new StreamLibraryInstanceModel(instance.toSchema()).toSchema(), ), stream_id: this.streamId, }; } } export interface StreamLibraryResponseSchema { instances: StreamLibraryInstanceSchema[]; stream_id: number; }