From eae779b81cd97d05948fc1d86e3e73a8940df3fc Mon Sep 17 00:00:00 2001 From: Rajiv Sahal Date: Mon, 10 Nov 2025 19:14:44 +0000 Subject: [PATCH] chore: update api v2 `/me` endpoint (#23984) * fix: update profile me ednpoint to include name of user * fix: update user schema * pass name for user * implement PR feedback * chore: implement PR feedback --------- Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> --- apps/api/v2/src/ee/me/me.controller.e2e-spec.ts | 3 +++ apps/api/v2/src/ee/me/outputs/me.output.ts | 4 ++++ packages/platform/types/me.ts | 1 + 3 files changed, 8 insertions(+) diff --git a/apps/api/v2/src/ee/me/me.controller.e2e-spec.ts b/apps/api/v2/src/ee/me/me.controller.e2e-spec.ts index f98de565a1..249bde4fcb 100644 --- a/apps/api/v2/src/ee/me/me.controller.e2e-spec.ts +++ b/apps/api/v2/src/ee/me/me.controller.e2e-spec.ts @@ -30,6 +30,7 @@ describe("Me Endpoints", () => { let profilesRepositoryFixture: ProfileRepositoryFixture; let organizationsRepositoryFixture: OrganizationRepositoryFixture; const userEmail = `me-controller-user-${randomString()}@api.com`; + const name = "Me Controller User"; let user: User; let org: Team; @@ -55,6 +56,7 @@ describe("Me Endpoints", () => { user = await userRepositoryFixture.create({ email: userEmail, username: userEmail, + name, }); org = await organizationsRepositoryFixture.create({ @@ -92,6 +94,7 @@ describe("Me Endpoints", () => { expect(responseBody.data.id).toEqual(user.id); expect(responseBody.data.email).toEqual(user.email); + expect(responseBody.data.name).toEqual(user.name); expect(responseBody.data.timeFormat).toEqual(user.timeFormat); expect(responseBody.data.defaultScheduleId).toEqual(user.defaultScheduleId); expect(responseBody.data.weekStart).toEqual(user.weekStart); diff --git a/apps/api/v2/src/ee/me/outputs/me.output.ts b/apps/api/v2/src/ee/me/outputs/me.output.ts index 2b28cdec90..3c46c14658 100644 --- a/apps/api/v2/src/ee/me/outputs/me.output.ts +++ b/apps/api/v2/src/ee/me/outputs/me.output.ts @@ -23,6 +23,10 @@ export class MeOutput { @DocsProperty() email!: string; + @IsString() + @DocsProperty({ type: String, nullable: true }) + name!: string | null; + @IsInt() @DocsProperty() timeFormat!: number; diff --git a/packages/platform/types/me.ts b/packages/platform/types/me.ts index e500ed0aab..ffa1812276 100644 --- a/packages/platform/types/me.ts +++ b/packages/platform/types/me.ts @@ -3,6 +3,7 @@ import { z } from "zod"; export const userSchemaResponse = z.object({ id: z.number().int(), email: z.string(), + name: z.string().nullable(), timeFormat: z.number().int().default(12), defaultScheduleId: z.number().int().nullable(), weekStart: z.string(),