refator: use TimeOptions for TopArtists report

This commit is contained in:
Julian Tölle 2020-07-12 17:16:33 +02:00
parent ad0d197105
commit 5bc76f23d0
9 changed files with 62 additions and 46 deletions

View file

@ -1,18 +1,10 @@
import { IsEnum, IsISO8601, ValidateIf } from "class-validator";
import { ValidateNested } from "class-validator";
import { User } from "../../users/user.entity";
import { TimePreset } from "../timePreset.enum";
import { ReportTimeDto } from "./report-time.dto";
export class GetTopArtistsReportDto {
user: User;
@IsEnum(TimePreset)
timePreset: TimePreset;
@ValidateIf((o) => o.timePreset === TimePreset.CUSTOM)
@IsISO8601()
customTimeStart: string;
@ValidateIf((o) => o.timePreset === TimePreset.CUSTOM)
@IsISO8601()
customTimeEnd: string;
@ValidateNested()
time: ReportTimeDto;
}

View file

@ -0,0 +1,15 @@
import { IsEnum, IsISO8601, ValidateIf } from "class-validator";
import { TimePreset } from "../timePreset.enum";
export class ReportTimeDto {
@IsEnum(TimePreset)
timePreset: TimePreset;
@ValidateIf((o) => o.timePreset === TimePreset.CUSTOM)
@IsISO8601()
customTimeStart: string;
@ValidateIf((o) => o.timePreset === TimePreset.CUSTOM)
@IsISO8601()
customTimeEnd: string;
}