Spaces:
Running
Running
File size: 1,729 Bytes
d491754 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 d491754 da50ce9 d491754 da50ce9 d491754 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 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: {} })
@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: {} })
@Transform(({ value }) => serialize(value, Media))
media: object;
}
|