diff --git a/apps/api/v2/src/modules/oauth-clients/controllers/oauth-client-users/oauth-client-users.controller.e2e-spec.ts b/apps/api/v2/src/modules/oauth-clients/controllers/oauth-client-users/oauth-client-users.controller.e2e-spec.ts index 033a4b86ea..390690526b 100644 --- a/apps/api/v2/src/modules/oauth-clients/controllers/oauth-client-users/oauth-client-users.controller.e2e-spec.ts +++ b/apps/api/v2/src/modules/oauth-clients/controllers/oauth-client-users/oauth-client-users.controller.e2e-spec.ts @@ -159,6 +159,21 @@ describe("OAuth Client Users Endpoints", () => { .expect(400); }); + it(`should fail /POST with incorrect timeFormat`, async () => { + const requestBody = { + email: userEmail, + timeZone: userTimeZone, + name: "Alice Smith", + timeFormat: 100, + }; + + await request(app.getHttpServer()) + .post(`/api/v2/oauth-clients/${oAuthClient.id}/users`) + .set("x-cal-secret-key", oAuthClient.secret) + .send(requestBody) + .expect(400); + }); + it(`/POST`, async () => { const requestBody: CreateManagedUserInput = { email: userEmail, diff --git a/apps/api/v2/src/modules/users/inputs/create-managed-user.input.ts b/apps/api/v2/src/modules/users/inputs/create-managed-user.input.ts index 7424dfa287..6ee0613300 100644 --- a/apps/api/v2/src/modules/users/inputs/create-managed-user.input.ts +++ b/apps/api/v2/src/modules/users/inputs/create-managed-user.input.ts @@ -1,7 +1,7 @@ import { Locales } from "@/lib/enums/locales"; import { CapitalizeTimeZone } from "@/lib/inputs/capitalize-timezone"; import { ApiProperty } from "@nestjs/swagger"; -import { IsOptional, IsTimeZone, IsString, IsEnum } from "class-validator"; +import { IsOptional, IsTimeZone, IsString, IsEnum, IsIn } from "class-validator"; export type WeekDay = "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday"; export type TimeFormat = 12 | 24; @@ -15,7 +15,8 @@ export class CreateManagedUserInput { name!: string; @IsOptional() - @ApiProperty({ example: 12, enum: [12, 24], description: "Must be 12 or 24" }) + @IsIn([12, 24], { message: "timeFormat must be a number either 12 or 24" }) + @ApiProperty({ example: 12, enum: [12, 24], description: "Must be a number 12 or 24" }) timeFormat?: TimeFormat; @IsOptional()