Add Company Profile Retrieval Endpoint and Update API Documentation

- Introduced a new public API endpoint to retrieve the profile of the authenticated user's company, enhancing the functionality of the tender management system.
- Implemented the `MyCompany` method in the company handler to handle requests for the company profile, ensuring proper authentication and error handling.
- Updated Swagger and YAML documentation to accurately reflect the new endpoint, including detailed descriptions, parameters, and response formats for the `CompanyProfileResponse`.
- Modified the router to include the new company profile route, ensuring adherence to Clean Architecture principles and maintaining a clear separation of concerns in the handler layer.
- Enhanced the public routes registration to include the company handler, improving the overall API structure and usability.
This commit is contained in:
n.nakhostin
2025-08-20 12:14:14 +03:30
parent e292839732
commit 843ae22515
7 changed files with 267 additions and 2 deletions
+78
View File
@@ -5063,6 +5063,58 @@
}
}
},
"/api/v1/companies": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "Retrieve the profile of the company associated with the authenticated user",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Company"
],
"summary": "Get my company profile",
"responses": {
"200": {
"description": "Company retrieved successfully",
"schema": {
"allOf": [
{
"$ref": "#/definitions/response.APIResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/company.CompanyProfileResponse"
}
}
}
]
}
},
"401": {
"description": "Unauthorized - User not authenticated",
"schema": {
"$ref": "#/definitions/response.APIResponse"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/response.APIResponse"
}
}
}
}
},
"/api/v1/feedback": {
"get": {
"security": [
@@ -6507,6 +6559,32 @@
}
}
},
"company.CompanyProfileResponse": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"created_at": {
"type": "integer"
},
"founded_year": {
"type": "integer"
},
"id": {
"type": "string"
},
"industry": {
"type": "string"
},
"name": {
"type": "string"
},
"registration_number": {
"type": "string"
}
}
},
"company.CompanyResponse": {
"type": "object",
"properties": {