feat: v2 return booking icsUid (#20527)

* feat: v2 return booking icsUid

* docs: regenerate
This commit is contained in:
Lauris Skraucis authored and GitHub committed 2025-04-03 14:37:40 +00:00
1 parent 7c9aae7eaf
commit cb365117b3
5 files changed
+948 -260

No files matched your search

@@ -586,6 +586,65 @@ describe("Bookings Endpoints 2024-08-13", () => {
});
});
it("should get a booking with icsUid", async () => {
const mockBooking = await bookingsRepositoryFixture.create({
user: {
connect: {
id: user.id,
},
},
startTime: new Date(Date.UTC(2020, 0, 8, 13, 0, 0)),
endTime: new Date(Date.UTC(2020, 0, 8, 14, 0, 0)),
title: "peer coding lets goo",
uid: `booking-in-the-past-${randomString()}`,
eventType: {
connect: {
id: eventTypeId,
},
},
location: "integrations:daily",
customInputs: {},
metadata: {},
responses: {
name: "Oldie",
email: "oldie@gmail.com",
},
attendees: {
create: {
email: "oldie@gmail.com",
name: "Oldie",
locale: "lv",
timeZone: "Europe/Rome",
},
},
rating: 10,
iCalUID: "ics-uid",
});
return request(app.getHttpServer())
.get(`/v2/bookings/${mockBooking.uid}`)
.set(CAL_API_VERSION_HEADER, VERSION_2024_08_13)
.expect(200)
.then(async (response) => {
const responseBody: GetBookingOutput_2024_08_13 = response.body;
expect(responseBody.status).toEqual(SUCCESS_STATUS);
expect(responseBody.data).toBeDefined();
expect(responseDataIsBooking(responseBody.data)).toBe(true);
if (responseDataIsBooking(responseBody.data)) {
const data: BookingOutput_2024_08_13 = responseBody.data;
expect(data.id).toEqual(mockBooking.id);
expect(data.uid).toEqual(mockBooking.uid);
expect(data.icsUid).toEqual(mockBooking.iCalUID);
await bookingsRepositoryFixture.deleteById(mockBooking.id);
} else {
throw new Error(
"Invalid response data - expected booking but received array of possibily recurring bookings"
);
}
});
});
it("should get 1 recurrence of a recurring booking", async () => {
const recurrenceUid = createdRecurringBooking[0].uid;
return request(app.getHttpServer())
@@ -136,6 +136,7 @@ export class OutputBookingsService_2024_08_13 {
createdAt: databaseBooking.createdAt,
updatedAt: databaseBooking.updatedAt,
rating: databaseBooking.rating,
icsUid: databaseBooking.iCalUID,
};
const bookingTransformed = plainToClass(BookingOutput_2024_08_13, booking, { strategy: "excludeAll" });
@@ -231,6 +232,7 @@ export class OutputBookingsService_2024_08_13 {
createdAt: databaseBooking.createdAt,
updatedAt: databaseBooking.updatedAt,
rating: databaseBooking.rating,
icsUid: databaseBooking.iCalUID,
};
const bookingTransformed = plainToClass(RecurringBookingOutput_2024_08_13, booking, {
@@ -279,6 +281,7 @@ export class OutputBookingsService_2024_08_13 {
createdAt: databaseBooking.createdAt,
updatedAt: databaseBooking.updatedAt,
rating: databaseBooking.rating,
icsUid: databaseBooking.iCalUID,
};
const parsed = plainToClass(GetSeatedBookingOutput_2024_08_13, booking, { strategy: "excludeAll" });
@@ -388,6 +391,7 @@ export class OutputBookingsService_2024_08_13 {
createdAt: databaseBooking.createdAt,
updatedAt: databaseBooking.updatedAt,
rating: databaseBooking.rating,
icsUid: databaseBooking.iCalUID,
};
const parsed = plainToClass(GetRecurringSeatedBookingOutput_2024_08_13, booking, {
+473 -148
View File
@@ -7487,6 +7487,301 @@
]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/connect": {
"post": {
"operationId": "OrganizationsConferencingController_connectTeamApp",
"summary": "Connect your conferencing application to a team",
"parameters": [
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "app",
"required": true,
"in": "path",
"description": "Conferencing application type",
"schema": {
"enum": [
"google-meet"
],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConferencingAppOutputResponseDto"
}
}
}
}
},
"tags": [
"Organizations/Teams Conferencing"
]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/auth-url": {
"get": {
"operationId": "OrganizationsConferencingController_getTeamOAuthUrl",
"summary": "Get OAuth conferencing app's auth url for a team",
"parameters": [
{
"name": "Authorization",
"required": true,
"in": "header",
"schema": {
"type": "string"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "app",
"required": true,
"in": "path",
"description": "Conferencing application type",
"schema": {
"enum": [
"zoom",
"msteams"
],
"type": "string"
}
},
{
"name": "returnTo",
"required": true,
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "onErrorReturnTo",
"required": true,
"in": "query",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetConferencingAppsOauthUrlResponseDto"
}
}
}
}
},
"tags": [
"Organizations/Teams Conferencing"
]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing": {
"get": {
"operationId": "OrganizationsConferencingController_listTeamConferencingApps",
"summary": "List team conferencing applications",
"parameters": [
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConferencingAppsOutputResponseDto"
}
}
}
}
},
"tags": [
"Organizations/Teams Conferencing"
]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/default": {
"post": {
"operationId": "OrganizationsConferencingController_setTeamDefaultApp",
"summary": "Set team default conferencing application",
"parameters": [
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "app",
"required": true,
"in": "path",
"description": "Conferencing application type",
"schema": {
"enum": [
"google-meet",
"zoom",
"msteams",
"daily-video"
],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetDefaultConferencingAppOutputResponseDto"
}
}
}
}
},
"tags": [
"Organizations/Teams Conferencing"
]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing/default": {
"get": {
"operationId": "OrganizationsConferencingController_getTeamDefaultApp",
"summary": "Get team default conferencing application",
"parameters": [
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "app",
"required": true,
"in": "path",
"description": "Conferencing application type",
"schema": {
"enum": [
"google-meet",
"zoom",
"msteams",
"daily-video"
],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetDefaultConferencingAppOutputResponseDto"
}
}
}
}
},
"tags": [
"Organizations/Teams Conferencing"
]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/disconnect": {
"delete": {
"operationId": "OrganizationsConferencingController_disconnectTeamApp",
"summary": "Disconnect team conferencing application",
"parameters": [
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "app",
"required": true,
"in": "path",
"description": "Conferencing application type",
"schema": {
"enum": [
"google-meet",
"zoom",
"msteams"
],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DisconnectConferencingAppOutputResponseDto"
}
}
}
}
},
"tags": [
"Organizations/Teams Conferencing"
]
}
},
"/v2/schedules": {
"post": {
"operationId": "SchedulesController_2024_06_11_createSchedule",
@@ -13701,6 +13996,154 @@
"data"
]
},
"ConferencingAppsOutputDto": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Id of the conferencing app credentials"
},
"type": {
"type": "string",
"example": "google_video",
"description": "Type of conferencing app"
},
"userId": {
"type": "number",
"description": "Id of the user associated to the conferencing app"
},
"invalid": {
"type": "boolean",
"nullable": true,
"example": true,
"description": "Whether if the connection is working or not."
}
},
"required": [
"id",
"type",
"userId"
]
},
"ConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/ConferencingAppsOutputDto"
}
},
"required": [
"status",
"data"
]
},
"GetConferencingAppsOauthUrlResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
}
},
"required": [
"status"
]
},
"ConferencingAppsOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"success",
"error"
]
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConferencingAppsOutputDto"
}
}
},
"required": [
"status",
"data"
]
},
"SetDefaultConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
}
},
"required": [
"status"
]
},
"DefaultConferencingAppsOutputDto": {
"type": "object",
"properties": {
"appSlug": {
"type": "string"
},
"appLink": {
"type": "string"
}
}
},
"GetDefaultConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/DefaultConferencingAppsOutputDto"
}
},
"required": [
"status"
]
},
"DisconnectConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
}
},
"required": [
"status"
]
},
"OrgTeamOutputDto": {
"type": "object",
"properties": {
@@ -18980,6 +19423,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"attendees": {
"type": "array",
"items": {
@@ -19132,6 +19580,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"attendees": {
"type": "array",
"items": {
@@ -19387,6 +19840,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"seatUid": {
"type": "string",
"example": "3be561a9-31f1-4b8e-aefc-9d9a085f0dd1"
@@ -19526,6 +19984,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"seatUid": {
"type": "string",
"example": "3be561a9-31f1-4b8e-aefc-9d9a085f0dd1"
@@ -19710,6 +20173,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"attendees": {
"type": "array",
"items": {
@@ -19844,6 +20312,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"attendees": {
"type": "array",
"items": {
@@ -20910,154 +21383,6 @@
"status",
"data"
]
},
"ConferencingAppsOutputDto": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Id of the conferencing app credentials"
},
"type": {
"type": "string",
"example": "google_video",
"description": "Type of conferencing app"
},
"userId": {
"type": "number",
"description": "Id of the user associated to the conferencing app"
},
"invalid": {
"type": "boolean",
"nullable": true,
"example": true,
"description": "Whether if the connection is working or not."
}
},
"required": [
"id",
"type",
"userId"
]
},
"ConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/ConferencingAppsOutputDto"
}
},
"required": [
"status",
"data"
]
},
"GetConferencingAppsOauthUrlResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
}
},
"required": [
"status"
]
},
"ConferencingAppsOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"success",
"error"
]
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConferencingAppsOutputDto"
}
}
},
"required": [
"status",
"data"
]
},
"SetDefaultConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
}
},
"required": [
"status"
]
},
"DefaultConferencingAppsOutputDto": {
"type": "object",
"properties": {
"appSlug": {
"type": "string"
},
"appLink": {
"type": "string"
}
}
},
"GetDefaultConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/DefaultConferencingAppsOutputDto"
}
},
"required": [
"status"
]
},
"DisconnectConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
}
},
"required": [
"status"
]
}
}
}
+406 -112
View File
@@ -7159,6 +7159,270 @@
"tags": ["OAuth Clients"]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/connect": {
"post": {
"operationId": "OrganizationsConferencingController_connectTeamApp",
"summary": "Connect your conferencing application to a team",
"parameters": [
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "app",
"required": true,
"in": "path",
"description": "Conferencing application type",
"schema": {
"enum": ["google-meet"],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConferencingAppOutputResponseDto"
}
}
}
}
},
"tags": ["Organizations/Teams Conferencing"]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/auth-url": {
"get": {
"operationId": "OrganizationsConferencingController_getTeamOAuthUrl",
"summary": "Get OAuth conferencing app's auth url for a team",
"parameters": [
{
"name": "Authorization",
"required": true,
"in": "header",
"schema": {
"type": "string"
}
},
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "app",
"required": true,
"in": "path",
"description": "Conferencing application type",
"schema": {
"enum": ["zoom", "msteams"],
"type": "string"
}
},
{
"name": "returnTo",
"required": true,
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "onErrorReturnTo",
"required": true,
"in": "query",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetConferencingAppsOauthUrlResponseDto"
}
}
}
}
},
"tags": ["Organizations/Teams Conferencing"]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing": {
"get": {
"operationId": "OrganizationsConferencingController_listTeamConferencingApps",
"summary": "List team conferencing applications",
"parameters": [
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConferencingAppsOutputResponseDto"
}
}
}
}
},
"tags": ["Organizations/Teams Conferencing"]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/default": {
"post": {
"operationId": "OrganizationsConferencingController_setTeamDefaultApp",
"summary": "Set team default conferencing application",
"parameters": [
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "app",
"required": true,
"in": "path",
"description": "Conferencing application type",
"schema": {
"enum": ["google-meet", "zoom", "msteams", "daily-video"],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetDefaultConferencingAppOutputResponseDto"
}
}
}
}
},
"tags": ["Organizations/Teams Conferencing"]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing/default": {
"get": {
"operationId": "OrganizationsConferencingController_getTeamDefaultApp",
"summary": "Get team default conferencing application",
"parameters": [
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "app",
"required": true,
"in": "path",
"description": "Conferencing application type",
"schema": {
"enum": ["google-meet", "zoom", "msteams", "daily-video"],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetDefaultConferencingAppOutputResponseDto"
}
}
}
}
},
"tags": ["Organizations/Teams Conferencing"]
}
},
"/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/disconnect": {
"delete": {
"operationId": "OrganizationsConferencingController_disconnectTeamApp",
"summary": "Disconnect team conferencing application",
"parameters": [
{
"name": "teamId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "app",
"required": true,
"in": "path",
"description": "Conferencing application type",
"schema": {
"enum": ["google-meet", "zoom", "msteams"],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DisconnectConferencingAppOutputResponseDto"
}
}
}
}
},
"tags": ["Organizations/Teams Conferencing"]
}
},
"/v2/schedules": {
"post": {
"operationId": "SchedulesController_2024_06_11_createSchedule",
@@ -12752,6 +13016,118 @@
},
"required": ["status", "data"]
},
"ConferencingAppsOutputDto": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Id of the conferencing app credentials"
},
"type": {
"type": "string",
"example": "google_video",
"description": "Type of conferencing app"
},
"userId": {
"type": "number",
"description": "Id of the user associated to the conferencing app"
},
"invalid": {
"type": "boolean",
"nullable": true,
"example": true,
"description": "Whether if the connection is working or not."
}
},
"required": ["id", "type", "userId"]
},
"ConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": ["success", "error"]
},
"data": {
"$ref": "#/components/schemas/ConferencingAppsOutputDto"
}
},
"required": ["status", "data"]
},
"GetConferencingAppsOauthUrlResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": ["success", "error"]
}
},
"required": ["status"]
},
"ConferencingAppsOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": ["success", "error"]
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConferencingAppsOutputDto"
}
}
},
"required": ["status", "data"]
},
"SetDefaultConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": ["success", "error"]
}
},
"required": ["status"]
},
"DefaultConferencingAppsOutputDto": {
"type": "object",
"properties": {
"appSlug": {
"type": "string"
},
"appLink": {
"type": "string"
}
}
},
"GetDefaultConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": ["success", "error"]
},
"data": {
"$ref": "#/components/schemas/DefaultConferencingAppsOutputDto"
}
},
"required": ["status"]
},
"DisconnectConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": ["success", "error"]
}
},
"required": ["status"]
},
"OrgTeamOutputDto": {
"type": "object",
"properties": {
@@ -17310,6 +17686,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"attendees": {
"type": "array",
"items": {
@@ -17454,6 +17835,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"attendees": {
"type": "array",
"items": {
@@ -17694,6 +18080,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"seatUid": {
"type": "string",
"example": "3be561a9-31f1-4b8e-aefc-9d9a085f0dd1"
@@ -17828,6 +18219,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"seatUid": {
"type": "string",
"example": "3be561a9-31f1-4b8e-aefc-9d9a085f0dd1"
@@ -18001,6 +18397,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"attendees": {
"type": "array",
"items": {
@@ -18130,6 +18531,11 @@
"type": "number",
"example": 4
},
"icsUid": {
"type": "string",
"example": "ics_uid_123",
"description": "UID of ICS event."
},
"attendees": {
"type": "array",
"items": {
@@ -18997,118 +19403,6 @@
}
},
"required": ["status", "data"]
},
"ConferencingAppsOutputDto": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Id of the conferencing app credentials"
},
"type": {
"type": "string",
"example": "google_video",
"description": "Type of conferencing app"
},
"userId": {
"type": "number",
"description": "Id of the user associated to the conferencing app"
},
"invalid": {
"type": "boolean",
"nullable": true,
"example": true,
"description": "Whether if the connection is working or not."
}
},
"required": ["id", "type", "userId"]
},
"ConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": ["success", "error"]
},
"data": {
"$ref": "#/components/schemas/ConferencingAppsOutputDto"
}
},
"required": ["status", "data"]
},
"GetConferencingAppsOauthUrlResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": ["success", "error"]
}
},
"required": ["status"]
},
"ConferencingAppsOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": ["success", "error"]
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConferencingAppsOutputDto"
}
}
},
"required": ["status", "data"]
},
"SetDefaultConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": ["success", "error"]
}
},
"required": ["status"]
},
"DefaultConferencingAppsOutputDto": {
"type": "object",
"properties": {
"appSlug": {
"type": "string"
},
"appLink": {
"type": "string"
}
}
},
"GetDefaultConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": ["success", "error"]
},
"data": {
"$ref": "#/components/schemas/DefaultConferencingAppsOutputDto"
}
},
"required": ["status"]
},
"DisconnectConferencingAppOutputResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": ["success", "error"]
}
},
"required": ["status"]
}
}
}
@@ -255,6 +255,12 @@ class BaseBookingOutput_2024_08_13 {
@IsOptional()
@Expose()
rating?: number;
@ApiPropertyOptional({ type: String, example: "ics_uid_123", description: "UID of ICS event." })
@IsString()
@IsOptional()
@Expose()
icsUid?: string;
}
export class BookingOutput_2024_08_13 extends BaseBookingOutput_2024_08_13 {