fix: add missing OpenAPI ApiParam decorators to API v2 controllers (#28305)

* fix: add missing apiparam decorators

* chore: move api param to class level

* revert oasdiff

* chore

* fix: update oasdiff-err-ignore.txt

* chore
This commit is contained in:
Romit
2026-03-10 14:34:21 +05:30
committed by GitHub
parent e75614164b
commit f3f5523f31
21 changed files with 689 additions and 27 deletions
+74
View File
@@ -250,6 +250,80 @@ PATCH /v2/webhooks/{webhookId} removed the enum value 'RECORDING_TRANSCRIPTION_G
PATCH /v2/webhooks/{webhookId} removed the enum value 'WRONG_ASSIGNMENT_REPORT' of the request property 'triggers'
PATCH /v2/webhooks/{webhookId} the 'triggers' request property type/format changed from 'string'/'' to 'array'/''
PATCH /v2/webhooks/{webhookId} the 'data/triggers/items/' response's property type/format changed from 'object'/'' to 'string'/'' for status '200'
DELETE /v2/event-types/{eventTypeId}/webhooks/{webhookId} added the new path request parameter 'eventTypeId'
GET /v2/event-types/{eventTypeId}/webhooks/{webhookId} added the new path request parameter 'eventTypeId'
PATCH /v2/event-types/{eventTypeId}/webhooks/{webhookId} added the new path request parameter 'eventTypeId'
DELETE /v2/oauth-clients/{clientId}/webhooks/{webhookId} added the new path request parameter 'clientId'
GET /v2/oauth-clients/{clientId}/webhooks/{webhookId} added the new path request parameter 'clientId'
PATCH /v2/oauth-clients/{clientId}/webhooks/{webhookId} added the new path request parameter 'clientId'
DELETE /v2/organizations/{orgId}/organizations/{managedOrganizationId} added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/organizations/{managedOrganizationId} added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId} added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId} added the new path request parameter 'teamId'
GET /v2/organizations/{orgId}/teams/{teamId}/bookings/{bookingUid}/references added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/bookings/{bookingUid}/references added the new path request parameter 'teamId'
GET /v2/organizations/{orgId}/teams/{teamId}/conferencing added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/conferencing/default added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/default added the new path request parameter 'orgId'
DELETE /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/disconnect added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/auth-url for the 'path' request parameter 'orgId', the type/format was changed from 'string'/'' to 'number'/''
GET /v2/organizations/{orgId}/teams/{teamId}/event-types added the new path request parameter 'orgId'
DELETE /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId} added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId} added the new path request parameter 'orgId'
PATCH /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId} added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/create-phone-call added the new path request parameter 'teamId'
GET /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links added the new path request parameter 'orgId'
DELETE /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links/{linkId} added the new path request parameter 'orgId'
PATCH /v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links/{linkId} added the new path request parameter 'orgId'
PATCH /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses/{responseId} added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/stripe/check added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/stripe/connect for the 'path' request parameter 'orgId', the type/format was changed from 'string'/'' to 'number'/''
GET /v2/organizations/{orgId}/teams/{teamId}/stripe/save added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/verification-code/request added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/verification-code/request added the new path request parameter 'teamId'
POST /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/verification-code/verify added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/{id} added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/verification-code/request added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/verification-code/request added the new path request parameter 'teamId'
POST /v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/verification-code/verify added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/{id} added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/teams/{teamId}/workflows added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/teams/{teamId}/workflows/routing-form added the new path request parameter 'orgId'
DELETE /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId} added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId} added the new path request parameter 'orgId'
PATCH /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId} added the new path request parameter 'orgId'
DELETE /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}/routing-form added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}/routing-form added the new path request parameter 'orgId'
PATCH /v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}/routing-form added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/users added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/users/{userId}/ooo added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/users/{userId}/ooo added the new path request parameter 'orgId'
DELETE /v2/organizations/{orgId}/users/{userId}/ooo/{oooId} added the new path request parameter 'orgId'
DELETE /v2/organizations/{orgId}/users/{userId}/ooo/{oooId} added the new path request parameter 'userId'
PATCH /v2/organizations/{orgId}/users/{userId}/ooo/{oooId} added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/users/{userId}/schedules added the new path request parameter 'orgId'
POST /v2/organizations/{orgId}/users/{userId}/schedules added the new path request parameter 'orgId'
DELETE /v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId} added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId} added the new path request parameter 'orgId'
PATCH /v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId} added the new path request parameter 'orgId'
DELETE /v2/organizations/{orgId}/webhooks/{webhookId} added the new path request parameter 'orgId'
GET /v2/organizations/{orgId}/webhooks/{webhookId} added the new path request parameter 'orgId'
PATCH /v2/organizations/{orgId}/webhooks/{webhookId} added the new path request parameter 'orgId'
POST /v2/teams/{teamId}/event-types/{eventTypeId}/create-phone-call added the new path request parameter 'teamId'
DELETE /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks added the new path request parameter 'teamId'
GET /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks added the new path request parameter 'teamId'
POST /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks added the new path request parameter 'teamId'
DELETE /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId} added the new path request parameter 'eventTypeId'
DELETE /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId} added the new path request parameter 'teamId'
GET /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId} added the new path request parameter 'eventTypeId'
GET /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId} added the new path request parameter 'teamId'
PATCH /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId} added the new path request parameter 'eventTypeId'
PATCH /v2/teams/{teamId}/event-types/{eventTypeId}/webhooks/{webhookId} added the new path request parameter 'teamId'
POST /v2/teams/{teamId}/verified-resources/emails/verification-code/request added the new path request parameter 'teamId'
POST /v2/teams/{teamId}/verified-resources/phones/verification-code/request added the new path request parameter 'teamId'
GET /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses the 'data' response's property type/format changed from 'object'/'' to 'array'/'' for status '200'
GET /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses removed the required property 'data/createdAt' from the response with the '200' status
GET /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses removed the required property 'data/formFillerId' from the response with the '200' status
@@ -14,7 +14,7 @@ import { RolesGuard } from "@/modules/auth/guards/roles/roles.guard";
import { IsTeamInOrg } from "@/modules/auth/guards/teams/is-team-in-org.guard";
import { TeamsEventTypesService } from "@/modules/teams/event-types/services/teams-event-types.service";
import { Body, Controller, Delete, Get, Param, ParseIntPipe, Patch, Post, UseGuards } from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags as DocsTags } from "@nestjs/swagger";
import { SUCCESS_STATUS } from "@calcom/platform-constants";
import {
@@ -36,6 +36,7 @@ import { PrivateLinksService } from "../services/private-links.service";
@ApiHeader(OPTIONAL_X_CAL_CLIENT_ID_HEADER)
@ApiHeader(OPTIONAL_X_CAL_SECRET_KEY_HEADER)
@ApiHeader(OPTIONAL_API_KEY_HEADER)
@ApiParam({ name: "orgId", type: Number, required: true })
export class OrganizationsEventTypesPrivateLinksController {
constructor(
private readonly privateLinksService: PrivateLinksService,
@@ -40,6 +40,7 @@ import type { Webhook } from "@calcom/prisma/client";
@UseGuards(ApiAuthGuard, IsUserEventTypeWebhookGuard)
@DocsTags("Event Types / Webhooks")
@ApiHeader(API_KEY_OR_ACCESS_TOKEN_HEADER)
@ApiParam({ name: "eventTypeId", type: Number, required: true })
export class EventTypeWebhooksController {
constructor(
private readonly webhooksService: WebhooksService,
@@ -36,6 +36,7 @@ import { OAuthClientGuard } from "../../guards/oauth-client-guard";
description: "OAuth client secret key",
required: true,
})
@ApiParam({ name: "clientId", type: String, required: true })
export class OAuthClientWebhooksController {
constructor(
private readonly webhooksService: WebhooksService,
@@ -61,6 +61,7 @@ export type OAuthCallbackState = {
version: API_VERSIONS_VALUES,
})
@DocsTags("Orgs / Teams / Conferencing")
@ApiParam({ name: "orgId", type: Number, required: true })
export class OrganizationsConferencingController {
constructor(
private readonly conferencingService: ConferencingService,
@@ -184,12 +185,6 @@ export class OrganizationsConferencingController {
@Get("/teams/:teamId/conferencing/default")
@HttpCode(HttpStatus.OK)
@ApiOperation({ summary: "Get team default conferencing application" })
@ApiParam({
name: "app",
description: "Conferencing application type",
enum: [GOOGLE_MEET, ZOOM, OFFICE_365_VIDEO, CAL_VIDEO],
required: true,
})
async getTeamDefaultApp(
@GetUser() user: UserWithProfile,
@Param("teamId", ParseIntPipe) teamId: number
@@ -41,7 +41,7 @@ import {
Query,
Logger,
} from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags as DocsTags } from "@nestjs/swagger";
import { ERROR_STATUS, SUCCESS_STATUS } from "@calcom/platform-constants";
import { handleCreatePhoneCall } from "@calcom/platform-libraries";
@@ -66,6 +66,7 @@ export type EventTypeHandlerResponse = {
@ApiHeader(OPTIONAL_X_CAL_CLIENT_ID_HEADER)
@ApiHeader(OPTIONAL_X_CAL_SECRET_KEY_HEADER)
@ApiHeader(OPTIONAL_API_KEY_HEADER)
@ApiParam({ name: "orgId", type: Number, required: true })
export class OrganizationsEventTypesController {
private readonly logger = new Logger("OrganizationsEventTypesController");
@@ -136,6 +137,7 @@ export class OrganizationsEventTypesController {
@Post("/teams/:teamId/event-types/:eventTypeId/create-phone-call")
@UseGuards(ApiAuthGuard, IsOrgGuard, IsTeamInOrg, RolesGuard)
@ApiOperation({ summary: "Create a phone call" })
@ApiParam({ name: "teamId", type: Number, required: true })
async createPhoneCall(
@Param("eventTypeId") eventTypeId: number,
@Param("orgId", ParseIntPipe) orgId: number,
@@ -14,7 +14,7 @@ import {
Query,
UseGuards,
} from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags as DocsTags } from "@nestjs/swagger";
import { API_VERSIONS_VALUES } from "@/lib/api-versions";
import { X_CAL_CLIENT_ID_HEADER, X_CAL_SECRET_KEY_HEADER } from "@/lib/docs/headers";
import { Throttle } from "@/lib/endpoint-throttler-decorator";
@@ -46,6 +46,7 @@ const SCALE = "SCALE";
@DocsTags("Managed Orgs")
@ApiHeader(X_CAL_CLIENT_ID_HEADER)
@ApiHeader(X_CAL_SECRET_KEY_HEADER)
@ApiParam({ name: "orgId", type: Number, required: true })
export class OrganizationsOrganizationsController {
constructor(private readonly managedOrganizationsService: ManagedOrganizationsService) {}
@@ -28,7 +28,7 @@ import {
HttpStatus,
Query,
} from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags as DocsTags } from "@nestjs/swagger";
import { SUCCESS_STATUS } from "@calcom/platform-constants";
import {
@@ -50,6 +50,7 @@ import { SkipTakePagination } from "@calcom/platform-types";
@ApiHeader(OPTIONAL_X_CAL_CLIENT_ID_HEADER)
@ApiHeader(OPTIONAL_X_CAL_SECRET_KEY_HEADER)
@ApiHeader(OPTIONAL_API_KEY_HEADER)
@ApiParam({ name: "orgId", type: Number, required: true })
export class OrganizationsSchedulesController {
constructor(
private schedulesService: SchedulesService_2024_06_11,
@@ -33,7 +33,7 @@ import {
Redirect,
BadRequestException,
} from "@nestjs/common";
import { ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { ApiOperation, ApiParam, ApiTags as DocsTags } from "@nestjs/swagger";
import { plainToClass } from "class-transformer";
import { Request } from "express";
import { stringify } from "querystring";
@@ -54,6 +54,7 @@ export type OAuthCallbackState = {
version: API_VERSIONS_VALUES,
})
@DocsTags("Orgs / Teams / Stripe")
@ApiParam({ name: "orgId", type: Number, required: true })
export class OrganizationsStripeController {
constructor(
private readonly organizationsStripeService: OrganizationsStripeService,
@@ -23,7 +23,7 @@ import { IsTeamInOrg } from "@/modules/auth/guards/teams/is-team-in-org.guard";
import { GetOrganizationsTeamsBookingsInput_2024_08_13 } from "@/modules/organizations/teams/bookings/inputs/get-organizations-teams-bookings.input";
import { UserWithProfile } from "@/modules/users/users.repository";
import { Controller, UseGuards, Get, Param, ParseIntPipe, Query, HttpStatus, HttpCode } from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags as DocsTags } from "@nestjs/swagger";
import { SUCCESS_STATUS, BOOKING_READ } from "@calcom/platform-constants";
import { GetBookingsOutput_2024_08_13 } from "@calcom/platform-types";
@@ -37,6 +37,8 @@ import { GetBookingsOutput_2024_08_13 } from "@calcom/platform-types";
@ApiHeader(OPTIONAL_X_CAL_CLIENT_ID_HEADER)
@ApiHeader(OPTIONAL_X_CAL_SECRET_KEY_HEADER)
@ApiHeader(OPTIONAL_API_KEY_HEADER)
@ApiParam({ name: "orgId", type: Number, required: true })
@ApiParam({ name: "teamId", type: Number, required: true })
export class OrganizationsTeamsBookingsController {
constructor(
private readonly bookingsService: BookingsService_2024_08_13,
@@ -14,7 +14,7 @@ import {
Req,
UseGuards,
} from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags as DocsTags } from "@nestjs/swagger";
import { plainToClass } from "class-transformer";
import { Request } from "express";
import { API_VERSIONS_VALUES } from "@/lib/api-versions";
@@ -55,6 +55,7 @@ import { UserWithProfile } from "@/modules/users/users.repository";
@ApiHeader(OPTIONAL_X_CAL_CLIENT_ID_HEADER)
@ApiHeader(OPTIONAL_X_CAL_SECRET_KEY_HEADER)
@ApiHeader(OPTIONAL_API_KEY_HEADER)
@ApiParam({ name: "orgId", type: Number, required: true })
export class OrganizationsTeamsController {
constructor(
private organizationsTeamsService: OrganizationsTeamsService,
@@ -110,6 +111,7 @@ export class OrganizationsTeamsController {
@PlatformPlan("ESSENTIALS")
@Get("/:teamId")
@ApiOperation({ summary: "Get a team" })
@ApiParam({ name: "teamId", type: Number, required: true })
async getTeam(@GetTeam() team: Team): Promise<OrgTeamOutputResponseDto> {
return {
status: SUCCESS_STATUS,
@@ -28,7 +28,7 @@ import {
Body,
Req,
} from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags } from "@nestjs/swagger";
import { Request } from "express";
import { SUCCESS_STATUS } from "@calcom/platform-constants";
@@ -48,6 +48,9 @@ import { SUCCESS_STATUS } from "@calcom/platform-constants";
IsAdminAPIEnabledGuard
)
@ApiHeader(API_KEY_HEADER)
@ApiParam({ name: "orgId", type: Number, required: true })
@ApiParam({ name: "teamId", type: Number, required: true })
@ApiParam({ name: "routingFormId", type: String, required: true })
export class OrganizationsTeamsRoutingFormsResponsesController {
constructor(
private readonly organizationsTeamsRoutingFormsResponsesService: OrganizationsTeamsRoutingFormsResponsesService
@@ -38,7 +38,7 @@ import {
Query,
UseGuards,
} from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags } from "@nestjs/swagger";
import { plainToClass } from "class-transformer";
import { ERROR_STATUS, SUCCESS_STATUS } from "@calcom/platform-constants";
@@ -49,6 +49,8 @@ import { SkipTakePagination } from "@calcom/platform-types";
})
@UseGuards(ApiAuthGuard, IsOrgGuard, RolesGuard, IsTeamInOrg, PlatformPlanGuard, IsAdminAPIEnabledGuard)
@ApiTags("Organization Team Verified Resources")
@ApiParam({ name: "orgId", type: Number, required: true })
@ApiParam({ name: "teamId", type: Number, required: true })
export class OrgTeamsVerifiedResourcesController {
constructor(private readonly verifiedResourcesService: VerifiedResourcesService) {}
@ApiOperation({
@@ -42,7 +42,7 @@ import {
Body,
Delete,
} from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags } from "@nestjs/swagger";
import { SUCCESS_STATUS } from "@calcom/platform-constants";
import { SkipTakePagination } from "@calcom/platform-types";
@@ -56,6 +56,8 @@ import { SkipTakePagination } from "@calcom/platform-types";
@ApiHeader(OPTIONAL_X_CAL_CLIENT_ID_HEADER)
@ApiHeader(OPTIONAL_X_CAL_SECRET_KEY_HEADER)
@ApiHeader(OPTIONAL_API_KEY_HEADER)
@ApiParam({ name: "orgId", type: Number, required: true })
@ApiParam({ name: "teamId", type: Number, required: true })
export class OrganizationTeamWorkflowsController {
constructor(
private readonly eventTypeWorkflowsService: TeamEventTypeWorkflowsService,
@@ -38,7 +38,7 @@ import {
Query,
} from "@nestjs/common";
import { ClassSerializerInterceptor } from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags as DocsTags } from "@nestjs/swagger";
import { plainToInstance } from "class-transformer";
import { SUCCESS_STATUS } from "@calcom/platform-constants";
@@ -55,6 +55,7 @@ import type { Team } from "@calcom/prisma/client";
@ApiHeader(OPTIONAL_X_CAL_CLIENT_ID_HEADER)
@ApiHeader(OPTIONAL_X_CAL_SECRET_KEY_HEADER)
@ApiHeader(OPTIONAL_API_KEY_HEADER)
@ApiParam({ name: "orgId", type: Number, required: true })
export class OrganizationsUsersController {
constructor(private readonly organizationsUsersService: OrganizationsUsersService) {}
@@ -40,7 +40,7 @@ import {
Query,
} from "@nestjs/common";
import { ClassSerializerInterceptor } from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags as DocsTags } from "@nestjs/swagger";
import { plainToInstance } from "class-transformer";
import { SUCCESS_STATUS } from "@calcom/platform-constants";
@@ -56,6 +56,7 @@ import { SUCCESS_STATUS } from "@calcom/platform-constants";
@ApiHeader(OPTIONAL_X_CAL_CLIENT_ID_HEADER)
@ApiHeader(OPTIONAL_X_CAL_SECRET_KEY_HEADER)
@ApiHeader(OPTIONAL_API_KEY_HEADER)
@ApiParam({ name: "orgId", type: Number, required: true })
export class OrganizationsUsersOOOController {
constructor(
private readonly userOOOService: UserOOOService,
@@ -119,6 +120,7 @@ export class OrganizationsUsersOOOController {
@PlatformPlan("ESSENTIALS")
@UseGuards(IsUserInOrg, IsUserOOO)
@ApiOperation({ summary: "Delete an out-of-office entry for a user" })
@ApiParam({ name: "userId", type: Number, required: true })
async deleteOrganizationUserOOO(
@Param("oooId", ParseIntPipe) oooId: number
): Promise<UserOooOutputResponseDto> {
@@ -37,7 +37,7 @@ import {
HttpCode,
HttpStatus,
} from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags as DocsTags } from "@nestjs/swagger";
import { plainToClass } from "class-transformer";
import { SUCCESS_STATUS } from "@calcom/platform-constants";
@@ -52,6 +52,7 @@ import { SkipTakePagination } from "@calcom/platform-types";
@ApiHeader(OPTIONAL_X_CAL_CLIENT_ID_HEADER)
@ApiHeader(OPTIONAL_X_CAL_SECRET_KEY_HEADER)
@ApiHeader(OPTIONAL_API_KEY_HEADER)
@ApiParam({ name: "orgId", type: Number, required: true })
export class OrganizationsWebhooksController {
constructor(
private organizationsWebhooksService: OrganizationsWebhooksService,
@@ -41,6 +41,8 @@ import { WebhooksService } from "@/modules/webhooks/services/webhooks.service";
@UseGuards(ApiAuthGuard, RolesGuard, IsTeamEventTypeWebhookGuard)
@DocsTags("Teams / Event Types / Webhooks")
@ApiHeader(API_KEY_HEADER)
@ApiParam({ name: "teamId", type: Number, required: true })
@ApiParam({ name: "eventTypeId", type: Number, required: true })
export class TeamsEventTypesWebhooksController {
constructor(
private readonly webhooksService: WebhooksService,
@@ -32,7 +32,7 @@ import {
NotFoundException,
Query,
} from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags as DocsTags } from "@nestjs/swagger";
import { ERROR_STATUS, SUCCESS_STATUS } from "@calcom/platform-constants";
import { handleCreatePhoneCall } from "@calcom/platform-libraries";
@@ -54,6 +54,7 @@ export type EventTypeHandlerResponse = {
version: API_VERSIONS_VALUES,
})
@DocsTags("Teams / Event Types")
@ApiParam({ name: "teamId", type: Number, required: true })
export class TeamsEventTypesController {
constructor(
private readonly teamsEventTypesService: TeamsEventTypesService,
@@ -33,7 +33,7 @@ import {
Query,
UseGuards,
} from "@nestjs/common";
import { ApiHeader, ApiOperation, ApiTags } from "@nestjs/swagger";
import { ApiHeader, ApiOperation, ApiParam, ApiTags } from "@nestjs/swagger";
import { plainToClass } from "class-transformer";
import { ERROR_STATUS, SUCCESS_STATUS } from "@calcom/platform-constants";
@@ -44,6 +44,7 @@ import { SkipTakePagination } from "@calcom/platform-types";
})
@UseGuards(ApiAuthGuard, RolesGuard)
@ApiTags("Teams Verified Resources")
@ApiParam({ name: "teamId", type: Number, required: true })
export class TeamsVerifiedResourcesController {
constructor(private readonly verifiedResourcesService: VerifiedResourcesService) {}
@ApiOperation({
+572 -6
View File
@@ -3096,6 +3096,22 @@
"schema": {
"type": "string"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -3508,6 +3524,22 @@
],
"type": "string"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -3598,7 +3630,7 @@
"required": true,
"in": "path",
"schema": {
"type": "string"
"type": "number"
}
},
{
@@ -3655,6 +3687,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -3694,6 +3734,14 @@
"enum": ["google-meet", "zoom", "msteams", "daily-video"],
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -3725,13 +3773,11 @@
}
},
{
"name": "app",
"name": "orgId",
"required": true,
"in": "path",
"description": "Conferencing application type",
"schema": {
"enum": ["google-meet", "zoom", "msteams", "daily-video"],
"type": "string"
"type": "number"
}
}
],
@@ -3772,6 +3818,14 @@
"enum": ["google-meet", "zoom", "msteams"],
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -3983,6 +4037,14 @@
"enum": ["asc", "desc"],
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -4047,6 +4109,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -4109,6 +4179,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -4181,6 +4259,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -4245,6 +4331,14 @@
"schema": {
"type": "number"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -4411,6 +4505,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -4483,6 +4585,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -4555,6 +4665,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -4625,6 +4743,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -6326,6 +6452,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -6478,7 +6612,7 @@
"required": true,
"in": "path",
"schema": {
"type": "string"
"type": "number"
}
},
{
@@ -6525,6 +6659,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -6570,6 +6712,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -6795,6 +6945,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -6948,6 +7106,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -7022,6 +7188,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -7084,6 +7258,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -7156,6 +7338,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -7213,6 +7403,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -7275,6 +7473,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -7347,6 +7553,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -7516,6 +7730,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -8032,6 +8254,14 @@
"enum": ["asc", "desc"],
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -8086,6 +8316,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -8160,6 +8398,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -8224,6 +8470,22 @@
"schema": {
"type": "number"
}
},
{
"name": "userId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -8393,6 +8655,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -8457,6 +8727,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -8521,6 +8799,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -8583,6 +8869,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -8655,6 +8949,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -8856,6 +9158,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -8910,6 +9220,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -8964,6 +9282,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -11816,6 +12142,14 @@
"schema": {
"type": "string"
}
},
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
@@ -11863,6 +12197,14 @@
"schema": {
"type": "string"
}
},
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
@@ -11900,6 +12242,14 @@
"schema": {
"type": "string"
}
},
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
@@ -12632,6 +12982,14 @@
"schema": {
"type": "string"
}
},
{
"name": "eventTypeId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -12678,6 +13036,14 @@
"schema": {
"type": "string"
}
},
{
"name": "eventTypeId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -12714,6 +13080,14 @@
"schema": {
"type": "string"
}
},
{
"name": "eventTypeId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -13105,6 +13479,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -13215,6 +13597,14 @@
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -13390,6 +13780,22 @@
"schema": {
"type": "string"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -13431,6 +13837,22 @@
"schema": {
"type": "string"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -13480,6 +13902,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -13529,6 +13959,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -13602,6 +14040,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -13665,6 +14111,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -13711,6 +14165,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -13757,6 +14219,14 @@
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -15414,6 +15884,14 @@
"schema": {
"type": "string"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -15462,6 +15940,14 @@
"schema": {
"type": "number"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -15533,6 +16019,14 @@
"example": 0,
"type": "number"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -15569,6 +16063,14 @@
"schema": {
"type": "number"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -15607,6 +16109,22 @@
"schema": {
"type": "string"
}
},
{
"name": "eventTypeId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -15653,6 +16171,22 @@
"schema": {
"type": "string"
}
},
{
"name": "eventTypeId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -15689,6 +16223,22 @@
"schema": {
"type": "string"
}
},
{
"name": "eventTypeId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
@@ -16088,6 +16638,14 @@
"schema": {
"type": "string"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
@@ -16129,6 +16687,14 @@
"schema": {
"type": "string"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {