Spaces:
Running
Running
File size: 2,293 Bytes
339fa48 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
import { Expose, Transform } from "class-transformer";
import { serialize } from "@helpers/serialize";
import { SwaggerResponseProperty } from "@lib/decorators/swagger-response-property.decorator";
import { ExerciseSerialization } from "./exercise.serialization";
class WorkoutDaysPopulate {
@Expose()
@SwaggerResponseProperty({ type: "number" })
day_number: number;
@Expose()
@SwaggerResponseProperty({ type: "number" })
total_number_exercises: number;
@Expose()
@SwaggerResponseProperty({ type: "string" })
day_type: string;
@Expose({ name: "exercises" })
@SwaggerResponseProperty({ type: [ExerciseSerialization] })
exercises: any;
}
class WorkoutTemplateWeeksPopulate {
@Expose()
@SwaggerResponseProperty({ type: "number" })
week_number: number;
@Expose()
@SwaggerResponseProperty({ type: "string" })
week_name: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
week_description: string;
@Expose({ name: "days" })
@SwaggerResponseProperty({ type: [WorkoutDaysPopulate] })
@Transform(
({ value }) => serialize(value, WorkoutDaysPopulate)
)
days: any;
}
export class WorkoutSerializationPopulate {
@Expose({ name: "_id" })
@SwaggerResponseProperty({ type: "string" })
id: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
name: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
description: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
type: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
image: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
created_by: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
fitness_level: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
fitness_goal: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
place: any;
@Expose()
@SwaggerResponseProperty({ type: "number" })
min_per_day: number;
@Expose()
@SwaggerResponseProperty({ type: "number" })
total_number_days: number;
@Expose({ name: "template_weeks" })
@SwaggerResponseProperty({ type: [WorkoutTemplateWeeksPopulate] })
@Transform(
({ value }) => serialize(value, WorkoutTemplateWeeksPopulate)
)
template_weeks: any;
} |