import { SchemaModel } from '@verb/src/libs/shared/base/base.model'; import { SubSchema } from '@verb/src/libs/shared/json-schema-validator/schema-types'; export class HostCreditModel implements SchemaModel { public balance = 0; public constructor(hostCreditSchema?: HostCreditSchema) { if (hostCreditSchema) { this.fromSchema(hostCreditSchema); } } public fromSchema(hostCreditSchema: HostCreditSchema): void { this.balance = hostCreditSchema.balance; } public toSchema(): HostCreditSchema { return { balance: this.balance, }; } } export interface HostCreditSchema { balance: number; } export const hostCreditValidationSchema: SubSchema = { additionalProperties: false, description: 'Host Credit Validation Schema', properties: { balance: { description: 'Hosts credit balance', type: 'number', }, }, required: ['balance'], type: 'object', };