From bf42cd4de981f8fe6d86a3052289f49bff7db36e Mon Sep 17 00:00:00 2001 From: Lauris Skraucis Date: Wed, 12 Nov 2025 10:26:07 +0100 Subject: [PATCH] fix: v2 get event type by id return type (#25090) --- .../event-types.controller.e2e-spec.ts | 3 +++ .../controllers/event-types.controller.ts | 15 +++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.e2e-spec.ts b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.e2e-spec.ts index 3762f15834..4ba4771e7f 100644 --- a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.e2e-spec.ts +++ b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.e2e-spec.ts @@ -1381,6 +1381,9 @@ describe("Event types Endpoints", () => { expect(fetchedEventType.locations).toEqual(eventType.locations); expect(fetchedEventType.bookingFields).toEqual(eventType.bookingFields); expect(fetchedEventType.ownerId).toEqual(user.id); + expect(Array.isArray(fetchedEventType.users)).toEqual(true); + expect(fetchedEventType.users.length).toEqual(1); + expect(fetchedEventType.users[0].id).toEqual(fetchedEventType.ownerId); expect(fetchedEventType.bookingLimitsCount).toEqual(eventType.bookingLimitsCount); expect(fetchedEventType.onlyShowFirstAvailableSlot).toEqual(eventType.onlyShowFirstAvailableSlot); expect(fetchedEventType.bookingLimitsDuration).toEqual(eventType.bookingLimitsDuration); diff --git a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.ts b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.ts index 78fa6ee2e6..86dec46ed8 100644 --- a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.ts +++ b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.ts @@ -7,6 +7,7 @@ import { EventTypeResponseTransformPipe } from "@/ee/event-types/event-types_202 import { EventTypesService_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/services/event-types.service"; import { InputEventTypesService_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/services/input-event-types.service"; import { OutputEventTypesService_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/services/output-event-types.service"; +import type { DatabaseEventType } from "@/ee/event-types/event-types_2024_06_14/services/output-event-types.service"; import { VERSION_2024_06_14_VALUE } from "@/lib/api-versions"; import { API_KEY_OR_ACCESS_TOKEN_HEADER, @@ -25,6 +26,7 @@ import { OptionalApiAuthGuard } from "@/modules/auth/guards/optional-api-auth/op import { PermissionsGuard } from "@/modules/auth/guards/permissions/permissions.guard"; import { ApiAuthGuardUser } from "@/modules/auth/strategies/api-auth/api-auth.strategy"; import { OutputTeamEventTypesResponsePipe } from "@/modules/organizations/event-types/pipes/team-event-types-response.transformer"; +import type { DatabaseTeamEventType } from "@/modules/organizations/event-types/services/output.service"; import { UserWithProfile } from "@/modules/users/users.repository"; import { Controller, @@ -132,10 +134,9 @@ export class EventTypesController_2024_06_14 { throw new NotFoundException(`Event type with id ${eventTypeId} not found`); } - const responseEventType = - "hosts" in eventType - ? await this.outputTeamEventTypesResponsePipe.transform(eventType) - : this.eventTypeResponseTransformPipe.transform(eventType); + const responseEventType = this.isTeamEventType(eventType) + ? await this.outputTeamEventTypesResponsePipe.transform(eventType) + : this.eventTypeResponseTransformPipe.transform(eventType); return { status: SUCCESS_STATUS, @@ -143,6 +144,12 @@ export class EventTypesController_2024_06_14 { }; } + private isTeamEventType( + eventType: DatabaseTeamEventType | ({ ownerId: number } & DatabaseEventType) + ): eventType is DatabaseTeamEventType { + return !!eventType.teamId; + } + @Get("/") @ApiOperation({ summary: "Get all event types",