Spaces:
Running
Running
File size: 1,940 Bytes
d491754 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 d491754 339fa48 d491754 da50ce9 d491754 da50ce9 d491754 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 ce1ade1 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 da50ce9 eb78df6 339fa48 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 77 78 79 80 81 82 83 84 85 86 |
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;
}
class TargetMuscles {
@Expose()
@SwaggerResponseProperty({ type: "string" })
primary: string;
@Expose()
@SwaggerResponseProperty({ type: "string" })
secondary: 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: [TargetMuscles] })
targetMuscles: any;
@Expose()
@SwaggerResponseProperty({ type: ["string"] })
equipments: any;
@Expose({ name: "media" })
@SwaggerResponseProperty({ type: Media })
@Transform(({ value }) => serialize(value, Media))
media: object;
}
|