Spaces:
Running
Running
File size: 1,751 Bytes
d491754 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 d491754 da50ce9 d491754 da50ce9 d491754 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 ce1ade1 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 ce1ade1 da50ce9 eb78df6 9d56cbc |
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 |
import { Expose, Transform } from "class-transformer";
import { serialize } from "@helpers/serialize";
import { SwaggerResponseProperty } from "@lib/decorators/swagger-response-property.decorator";
class ExpectedDurationRange {
@Expose()
@SwaggerResponseProperty({ type: "number" })
min: number;
@Expose()
@SwaggerResponseProperty({ type: "number" })
max: number;
}
class Media {
@Expose()
@SwaggerResponseProperty({ type: "string" })
type: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
url: string;
}
export class ExerciseSerialization {
@Expose({ name: "_id" })
@SwaggerResponseProperty({ type: "string" })
id: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
name: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
category: string;
@Expose()
@SwaggerResponseProperty({ type: "number" })
duration: number | null;
@Expose({ name: "expectedDurationRange" })
@SwaggerResponseProperty({ type: ExpectedDurationRange })
@Transform(({ value }) => serialize(value, ExpectedDurationRange))
expectedDurationRange: object;
@Expose()
@SwaggerResponseProperty({ type: "number" })
reps: number;
@Expose()
@SwaggerResponseProperty({ type: "number" })
sets: number;
@Expose()
@SwaggerResponseProperty({ type: "string" })
instructions: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
benefits: string;
@Expose()
@SwaggerResponseProperty({ type: ["string"] })
targetMuscles: any;
@Expose()
@SwaggerResponseProperty({ type: ["string"] })
equipments: any;
@Expose({ name: "media" })
@SwaggerResponseProperty({ type: Media })
@Transform(({ value }) => serialize(value, Media))
media: object;
}
|