From d6741a1e2b868d4b13cb32e275664ee110e7e398 Mon Sep 17 00:00:00 2001 From: Romit <85230081+romitg2@users.noreply.github.com> Date: Tue, 10 Mar 2026 06:37:58 +0530 Subject: [PATCH] fix: rename OOO controller file to match NestJS Swagger plugin convention (#28342) * fix: rename OOO controller file to match NestJS Swagger plugin convention for type generation * fix: update organization module import * feat: generate openapi docs --- .../organizations/organizations.module.ts | 2 +- ... => organizations-users-ooo.controller.ts} | 0 docs/api-reference/v2/openapi.json | 125 +++++++++++++++++- 3 files changed, 121 insertions(+), 6 deletions(-) rename apps/api/v2/src/modules/organizations/users/ooo/controllers/{organizations-users-ooo-controller.ts => organizations-users-ooo.controller.ts} (100%) diff --git a/apps/api/v2/src/modules/organizations/organizations.module.ts b/apps/api/v2/src/modules/organizations/organizations.module.ts index ca21829f7d..0e0a6906c1 100644 --- a/apps/api/v2/src/modules/organizations/organizations.module.ts +++ b/apps/api/v2/src/modules/organizations/organizations.module.ts @@ -60,7 +60,7 @@ import { OrganizationTeamWorkflowsController } from "@/modules/organizations/tea import { OrganizationsUsersController } from "@/modules/organizations/users/index/controllers/organizations-users.controller"; import { OrganizationsUsersRepository } from "@/modules/organizations/users/index/organizations-users.repository"; import { OrganizationsUsersService } from "@/modules/organizations/users/index/services/organizations-users-service"; -import { OrganizationsUsersOOOController } from "@/modules/organizations/users/ooo/controllers/organizations-users-ooo-controller"; +import { OrganizationsUsersOOOController } from "@/modules/organizations/users/ooo/controllers/organizations-users-ooo.controller"; import { OrgUsersOOORepository } from "@/modules/organizations/users/ooo/organizations-users-ooo.repository"; import { OrgUsersOOOService } from "@/modules/organizations/users/ooo/services/organization-users-ooo.service"; import { OrganizationsWebhooksController } from "@/modules/organizations/webhooks/controllers/organizations-webhooks.controller"; diff --git a/apps/api/v2/src/modules/organizations/users/ooo/controllers/organizations-users-ooo-controller.ts b/apps/api/v2/src/modules/organizations/users/ooo/controllers/organizations-users-ooo.controller.ts similarity index 100% rename from apps/api/v2/src/modules/organizations/users/ooo/controllers/organizations-users-ooo-controller.ts rename to apps/api/v2/src/modules/organizations/users/ooo/controllers/organizations-users-ooo.controller.ts diff --git a/docs/api-reference/v2/openapi.json b/docs/api-reference/v2/openapi.json index 939b173174..4ee894bcb1 100644 --- a/docs/api-reference/v2/openapi.json +++ b/docs/api-reference/v2/openapi.json @@ -8036,7 +8036,14 @@ ], "responses": { "200": { - "description": "" + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserOoosOutputResponseDto" + } + } + } } }, "tags": ["Orgs / Users / OOO"] @@ -8093,7 +8100,14 @@ }, "responses": { "201": { - "description": "" + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserOooOutputResponseDto" + } + } + } } }, "tags": ["Orgs / Users / OOO"] @@ -8160,7 +8174,14 @@ }, "responses": { "200": { - "description": "" + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserOooOutputResponseDto" + } + } + } } }, "tags": ["Orgs / Users / OOO"] @@ -8207,7 +8228,14 @@ ], "responses": { "200": { - "description": "" + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserOooOutputResponseDto" + } + } + } } }, "tags": ["Orgs / Users / OOO"] @@ -8313,7 +8341,14 @@ ], "responses": { "200": { - "description": "" + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserOoosOutputResponseDto" + } + } + } } }, "tags": ["Orgs / Users / OOO"] @@ -24599,6 +24634,72 @@ } } }, + "UserOooOutputDto": { + "type": "object", + "properties": { + "userId": { + "type": "number", + "description": "The ID of the user.", + "example": 2 + }, + "toUserId": { + "type": "number", + "description": "The ID of the user covering for the out of office period, if applicable.", + "example": 2 + }, + "id": { + "type": "number", + "description": "The ID of the ooo entry.", + "example": 2 + }, + "uuid": { + "type": "string", + "description": "The UUID of the ooo entry.", + "example": 2 + }, + "start": { + "format": "date-time", + "type": "string", + "description": "The start date and time of the out of office period in ISO 8601 format in UTC timezone.", + "example": "2023-05-01T00:00:00.000Z" + }, + "end": { + "format": "date-time", + "type": "string", + "description": "The end date and time of the out of office period in ISO 8601 format in UTC timezone.", + "example": "2023-05-10T23:59:59.999Z" + }, + "notes": { + "type": "string", + "description": "Optional notes for the out of office entry.", + "example": "Vacation in Hawaii" + }, + "reason": { + "enum": ["unspecified", "vacation", "travel", "sick", "public_holiday"], + "type": "string", + "description": "the reason for the out of office entry, if applicable", + "example": "vacation" + } + }, + "required": ["userId", "id", "uuid", "start", "end"] + }, + "UserOoosOutputResponseDto": { + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "success", + "enum": ["success", "error"] + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserOooOutputDto" + } + } + }, + "required": ["status", "data"] + }, "CreateOutOfOfficeEntryDto": { "type": "object", "properties": { @@ -24633,6 +24734,20 @@ }, "required": ["start", "end"] }, + "UserOooOutputResponseDto": { + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "success", + "enum": ["success", "error"] + }, + "data": { + "$ref": "#/components/schemas/UserOooOutputDto" + } + }, + "required": ["status", "data"] + }, "UpdateOutOfOfficeEntryDto": { "type": "object", "properties": {