Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 88 additions & 0 deletions .github/oasdiff-err-ignore.txt
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,94 @@ 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
GET /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses removed the required property 'data/formId' from the response with the '200' status
GET /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses removed the required property 'data/id' from the response with the '200' status
GET /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses removed the required property 'data/response' from the response with the '200' status
GET /v2/organizations/{orgId}/routing-forms/{routingFormId}/responses removed the required property 'data/routedToBookingUid' from the response with the '200' status
GET /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses the 'data' response's property type/format changed from 'object'/'' to 'array'/'' for status '200'
GET /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses removed the required property 'data/createdAt' from the response with the '200' status
GET /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses removed the required property 'data/formFillerId' from the response with the '200' status
GET /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses removed the required property 'data/formId' from the response with the '200' status
GET /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses removed the required property 'data/id' from the response with the '200' status
GET /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses removed the required property 'data/response' from the response with the '200' status
GET /v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses removed the required property 'data/routedToBookingUid' from the response with the '200' status
GET /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails the 'data' response's property type/format changed from 'object'/'' to 'array'/'' for status '200'
GET /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails removed the required property 'data/availability' from the response with the '200' status
GET /v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails removed the required property 'data/id' from the response with the '200' status
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand All @@ -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");

Expand Down Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -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) {}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export class GetRoutingFormResponsesOutput {
@IsEnum([SUCCESS_STATUS, ERROR_STATUS])
status!: typeof SUCCESS_STATUS | typeof ERROR_STATUS;

@ApiProperty({ type: RoutingFormResponseOutput })
@ApiProperty({ type: [RoutingFormResponseOutput] })
@Expose()
@Type(() => RoutingFormResponseOutput)
data!: RoutingFormResponseOutput[];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand All @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand All @@ -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,
Expand Down
Loading
Loading