71 lines
1.3 KiB
TypeScript
71 lines
1.3 KiB
TypeScript
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;
|
|
}
|
|
}
|