backend phase 8

This commit is contained in:
hamid
2026-07-06 02:48:56 +03:30
parent 99ebf5d881
commit 2cfc082a04
55 changed files with 7480 additions and 7 deletions
+906 -2
View File
@@ -7,10 +7,75 @@
},
"servers": [
{
"url": "http://localhost"
"url": "https://localhost:5002"
}
],
"paths": {
"/api/v1/admin_booking_requests/expire": {
"post": {
"tags": [
"AdminBookingRequests"
],
"operationId": "AdminBookingRequests_Expire",
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfExpireBookingRequestsResult"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/admin_catalog/create_category": {
"post": {
"tags": [
@@ -2484,6 +2549,510 @@
]
}
},
"/api/v1/booking_requests/create": {
"post": {
"tags": [
"BookingRequests"
],
"summary": "Creates a BookingRequest",
"operationId": "BookingRequests_Create",
"requestBody": {
"x-name": "command",
"description": "A BookingRequest representation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateBookingRequestCommand"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfBookingRequestDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/booking_requests/cancel/{id}": {
"post": {
"tags": [
"BookingRequests"
],
"operationId": "BookingRequests_Cancel",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
},
"x-position": 1
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfBookingRequestDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/booking_requests/accept/{id}": {
"post": {
"tags": [
"BookingRequests"
],
"operationId": "BookingRequests_Accept",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
},
"x-position": 1
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfBookingRequestDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/booking_requests/reject/{id}": {
"post": {
"tags": [
"BookingRequests"
],
"operationId": "BookingRequests_Reject",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
},
"x-position": 1
}
],
"requestBody": {
"x-name": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RejectBookingRequestCommand"
}
}
},
"required": true,
"x-position": 2
},
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfBookingRequestDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/booking_requests/list": {
"get": {
"tags": [
"BookingRequests"
],
"operationId": "BookingRequests_List",
"parameters": [
{
"name": "Status",
"in": "query",
"schema": {
"type": "string",
"nullable": true
},
"x-position": 1
},
{
"name": "Role",
"in": "query",
"schema": {
"type": "string",
"nullable": true
},
"x-position": 2
},
{
"name": "Page",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 3
},
{
"name": "PageSize",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
},
"x-position": 4
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfPagedResultOfBookingRequestListItemDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/booking_requests/get/{id}": {
"get": {
"tags": [
"BookingRequests"
],
"summary": "Retrieves a BookingRequest by unique id",
"operationId": "BookingRequests_Get",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"description": "A unique id for the BookingRequest",
"schema": {
"type": "integer",
"format": "int64"
},
"x-position": 1
}
],
"responses": {
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfDictionaryOfStringAndListOfString"
}
}
}
},
"401": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"403": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResult"
}
}
}
},
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResultOfBookingRequestDto"
}
}
}
}
},
"security": [
{
"Bearer": []
}
]
}
},
"/api/v1/catalog/categories": {
"get": {
"tags": [
@@ -3786,7 +4355,7 @@
"tags": [
"Me"
],
"description": "Role claims live inside the access token \u2014 after selecting a role the client should\n refresh its tokens to pick the new role up.",
"description": "Role claims live inside the access token after selecting a role the client should\n refresh its tokens to pick the new role up.",
"operationId": "Me_SelectRole",
"requestBody": {
"x-name": "command",
@@ -7200,6 +7769,41 @@
500
]
},
"ApiResultOfExpireBookingRequestsResult": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/ExpireBookingRequestsResult"
}
]
}
}
}
]
},
"ExpireBookingRequestsResult": {
"type": "object",
"additionalProperties": false,
"properties": {
"expiredNoResponse": {
"type": "integer",
"format": "int32"
},
"paymentDeadlineExpired": {
"type": "integer",
"format": "int32"
}
}
},
"ApiResultOfServiceCategoryDto": {
"allOf": [
{
@@ -8578,6 +9182,306 @@
}
}
},
"ApiResultOfBookingRequestDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/BookingRequestDto"
}
]
}
}
}
]
},
"BookingRequestDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"nurseId": {
"type": "integer",
"format": "int64"
},
"nurseName": {
"type": "string"
},
"nurseRating": {
"type": "number",
"format": "decimal"
},
"nurseTotalReviews": {
"type": "integer",
"format": "int32"
},
"patientId": {
"type": "integer",
"format": "int64"
},
"patientName": {
"type": "string"
},
"variantId": {
"type": "integer",
"format": "int64"
},
"variantLabel": {
"type": "string"
},
"variantPriceUnit": {
"type": "string"
},
"customerAddressId": {
"type": "integer",
"format": "int64"
},
"addressTitle": {
"type": "string"
},
"cityId": {
"type": "integer",
"format": "int64"
},
"cityNameFa": {
"type": "string"
},
"cityNameEn": {
"type": "string"
},
"districtId": {
"type": "integer",
"format": "int64",
"nullable": true
},
"districtNameFa": {
"type": "string",
"nullable": true
},
"districtNameEn": {
"type": "string",
"nullable": true
},
"addressLine": {
"type": "string",
"nullable": true
},
"postalCode": {
"type": "string",
"nullable": true
},
"recipientName": {
"type": "string",
"nullable": true
},
"recipientPhone": {
"type": "string",
"nullable": true
},
"requiredCaregiverGender": {
"type": "string",
"nullable": true
},
"requestedDate": {
"type": "string",
"format": "date"
},
"requestedTimeStart": {
"type": "string",
"format": "time"
},
"requestedTimeEnd": {
"type": "string",
"format": "time"
},
"customerNotes": {
"type": "string",
"nullable": true
},
"nurseResponseDeadlineAt": {
"type": "string",
"format": "date-time"
},
"paymentDeadlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"nurseRejectionReason": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"CreateBookingRequestCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"nurseId": {
"type": "integer",
"format": "int64"
},
"variantId": {
"type": "integer",
"format": "int64"
},
"patientId": {
"type": "integer",
"format": "int64"
},
"customerAddressId": {
"type": "integer",
"format": "int64"
},
"requestedDate": {
"type": "string",
"format": "date"
},
"requestedTimeStart": {
"type": "string",
"format": "time"
},
"requestedTimeEnd": {
"type": "string",
"format": "time"
},
"requiredCaregiverGender": {
"type": "string"
},
"customerNotes": {
"type": "string",
"nullable": true
}
}
},
"RejectBookingRequestCommand": {
"type": "object",
"additionalProperties": false,
"properties": {
"reason": {
"type": "string",
"nullable": true
},
"id": {
"type": "integer",
"format": "int64"
}
}
},
"ApiResultOfPagedResultOfBookingRequestListItemDto": {
"allOf": [
{
"$ref": "#/components/schemas/ApiResult"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/PagedResultOfBookingRequestListItemDto"
}
]
}
}
}
]
},
"PagedResultOfBookingRequestListItemDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"nullable": true,
"items": {
"$ref": "#/components/schemas/BookingRequestListItemDto"
}
},
"total": {
"type": "integer",
"format": "int32"
},
"page": {
"type": "integer",
"format": "int32"
},
"pageSize": {
"type": "integer",
"format": "int32"
}
}
},
"BookingRequestListItemDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"counterpartyName": {
"type": "string"
},
"nurseRating": {
"type": "number",
"format": "decimal",
"nullable": true
},
"requiredCaregiverGender": {
"type": "string",
"nullable": true
},
"requestedDate": {
"type": "string",
"format": "date"
},
"requestedTimeStart": {
"type": "string",
"format": "time"
},
"requestedTimeEnd": {
"type": "string",
"format": "time"
},
"nurseResponseDeadlineAt": {
"type": "string",
"format": "date-time"
},
"paymentDeadlineAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"customerNotes": {
"type": "string",
"nullable": true
}
}
},
"ApiResultOfPagedResultOfServiceCategoryDto": {
"allOf": [
{