Skip to content

Commit bf42cd4

Browse files
authored
fix: v2 get event type by id return type (calcom#25090)
1 parent 6af7f8b commit bf42cd4

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.e2e-spec.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1381,6 +1381,9 @@ describe("Event types Endpoints", () => {
13811381
expect(fetchedEventType.locations).toEqual(eventType.locations);
13821382
expect(fetchedEventType.bookingFields).toEqual(eventType.bookingFields);
13831383
expect(fetchedEventType.ownerId).toEqual(user.id);
1384+
expect(Array.isArray(fetchedEventType.users)).toEqual(true);
1385+
expect(fetchedEventType.users.length).toEqual(1);
1386+
expect(fetchedEventType.users[0].id).toEqual(fetchedEventType.ownerId);
13841387
expect(fetchedEventType.bookingLimitsCount).toEqual(eventType.bookingLimitsCount);
13851388
expect(fetchedEventType.onlyShowFirstAvailableSlot).toEqual(eventType.onlyShowFirstAvailableSlot);
13861389
expect(fetchedEventType.bookingLimitsDuration).toEqual(eventType.bookingLimitsDuration);

apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { EventTypeResponseTransformPipe } from "@/ee/event-types/event-types_202
77
import { EventTypesService_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/services/event-types.service";
88
import { InputEventTypesService_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/services/input-event-types.service";
99
import { OutputEventTypesService_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/services/output-event-types.service";
10+
import type { DatabaseEventType } from "@/ee/event-types/event-types_2024_06_14/services/output-event-types.service";
1011
import { VERSION_2024_06_14_VALUE } from "@/lib/api-versions";
1112
import {
1213
API_KEY_OR_ACCESS_TOKEN_HEADER,
@@ -25,6 +26,7 @@ import { OptionalApiAuthGuard } from "@/modules/auth/guards/optional-api-auth/op
2526
import { PermissionsGuard } from "@/modules/auth/guards/permissions/permissions.guard";
2627
import { ApiAuthGuardUser } from "@/modules/auth/strategies/api-auth/api-auth.strategy";
2728
import { OutputTeamEventTypesResponsePipe } from "@/modules/organizations/event-types/pipes/team-event-types-response.transformer";
29+
import type { DatabaseTeamEventType } from "@/modules/organizations/event-types/services/output.service";
2830
import { UserWithProfile } from "@/modules/users/users.repository";
2931
import {
3032
Controller,
@@ -132,17 +134,22 @@ export class EventTypesController_2024_06_14 {
132134
throw new NotFoundException(`Event type with id ${eventTypeId} not found`);
133135
}
134136

135-
const responseEventType =
136-
"hosts" in eventType
137-
? await this.outputTeamEventTypesResponsePipe.transform(eventType)
138-
: this.eventTypeResponseTransformPipe.transform(eventType);
137+
const responseEventType = this.isTeamEventType(eventType)
138+
? await this.outputTeamEventTypesResponsePipe.transform(eventType)
139+
: this.eventTypeResponseTransformPipe.transform(eventType);
139140

140141
return {
141142
status: SUCCESS_STATUS,
142143
data: responseEventType,
143144
};
144145
}
145146

147+
private isTeamEventType(
148+
eventType: DatabaseTeamEventType | ({ ownerId: number } & DatabaseEventType)
149+
): eventType is DatabaseTeamEventType {
150+
return !!eventType.teamId;
151+
}
152+
146153
@Get("/")
147154
@ApiOperation({
148155
summary: "Get all event types",

0 commit comments

Comments
 (0)