src/metrics/dto/metrics.dto.ts
Properties |
constructor(partial: Partial<MetricDataObject>)
|
||||||
|
Defined in src/metrics/dto/metrics.dto.ts:57
|
||||||
|
Parameters :
|
| metricId |
Type : number
|
Decorators :
@IsNotEmpty()
|
|
Defined in src/metrics/dto/metrics.dto.ts:47
|
| timestamp |
Type : Date
|
Decorators :
@IsNotEmpty()
|
|
Defined in src/metrics/dto/metrics.dto.ts:57
|
| value |
Type : number
|
Decorators :
@IsNotEmpty()
|
|
Defined in src/metrics/dto/metrics.dto.ts:52
|
import { ApiProperty } from "@nestjs/swagger";
import {
IsDate,
IsEnum,
IsNotEmpty,
IsNumber,
IsString,
IsOptional,
} from "class-validator";
import { MetricSources, MetricStatus, MetricTrend } from "../entities/metrics.entity";
export class MetricsDto {
@IsNotEmpty()
@IsNumber()
@ApiProperty({ required: true })
projectId: number;
@IsNotEmpty()
@IsString()
@ApiProperty({ required: true })
name: string;
@IsNotEmpty()
@IsString()
@ApiProperty({ required: true })
type: string;
@IsNotEmpty()
@IsNumber()
@ApiProperty({ required: true })
sourceId: number;
@IsNotEmpty()
@IsEnum(MetricSources, { each: true })
@ApiProperty({ required: true })
sourceType: string;
constructor(partial: Partial<MetricsDto>) {
Object.assign(this, partial);
}
}
export class MetricDataObject {
@IsNotEmpty()
@IsNumber()
@ApiProperty({ required: true })
metricId: number;
@IsNotEmpty()
@IsNumber()
@ApiProperty({ required: true })
value: number;
@IsNotEmpty()
@IsDate()
@ApiProperty({ required: true })
timestamp: Date;
constructor(partial: Partial<MetricDataObject>) {
Object.assign(this, partial);
}
}
export class MetricMetadataDto {
@IsOptional()
@IsEnum(MetricTrend, { message: "Invalid metrics trend" })
trend?: MetricTrend | null;
@IsOptional()
@IsString({ message: "Description must be a string" })
description?: string;
@IsOptional()
@IsEnum(MetricStatus, { message: "Invalid metrics source", each: true })
status?: MetricStatus;
}