import { SchemaModel } from '@verb/src/libs/shared/base/base.model'; import { SubSchema } from '@verb/src/libs/shared/json-schema-validator/schema-types'; export class StreamHostOptionsModel implements SchemaModel { public enableCamera = false; public enableMicrophone = false; public constructor(streamHostOptionsSchema?: StreamHostOptionsSchema) { if (streamHostOptionsSchema) { this.fromSchema(streamHostOptionsSchema); } } public fromSchema(streamHostOptionsSchema: StreamHostOptionsSchema) { this.enableCamera = streamHostOptionsSchema.enable_camera; this.enableMicrophone = streamHostOptionsSchema.enable_microphone; } public toSchema(): StreamHostOptionsSchema { return { enable_camera: this.enableCamera, enable_microphone: this.enableMicrophone, }; } } export interface StreamHostOptionsSchema { enable_camera: boolean; enable_microphone: boolean; } export const streamHostOptionsValidationSchema: SubSchema = { additionalProperties: false, description: 'Stream Host Options object', properties: { enable_camera: { description: 'Enable Host Camera', type: 'boolean', }, enable_microphone: { description: 'Enable Host Microphone', type: 'boolean', }, }, required: ['enable_camera', 'enable_microphone'], type: 'object', };