import { IsBoolean, IsInt, IsNotEmpty, IsObject, IsOptional, IsString } from "class-validator"; import { ScanStation } from '../entities/ScanStation'; import { ResponseTrack } from './ResponseTrack'; /** * Defines the statsClient response. */ export class ResponseScanStation { /** * The client's id. */ @IsInt() id: number; /** * The client's description. */ @IsString() @IsOptional() description?: string; /** * The client's api key. * Only visible on creation or regeneration. */ @IsString() @IsOptional() key: string; /** * The client's api key prefix. */ @IsString() @IsNotEmpty() prefix: string; @IsObject() @IsNotEmpty() track: ResponseTrack; /** * Is this station enabled? */ @IsBoolean() enabled?: boolean = true; /** * Creates a ResponseStatsClient object from a statsClient. * @param client The statsClient the response shall be build for. */ public constructor(station: ScanStation) { this.id = station.id; this.description = station.description; this.prefix = station.prefix; this.key = "Only visible on creation."; this.track = station.track; this.enabled = station.enabled; } }