niki/docs/swagger.json

2901 lines
94 KiB
JSON
Raw Normal View History

2024-05-14 13:07:09 +00:00
{
"swagger": "2.0",
"info": {
"contact": {}
},
"paths": {
"/address/": {
"get": {
"security": [
{
"AuthBearerBenefactor": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Address"
],
"summary": "Get all benefactor addresses",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/addressparam.GetAllAddressesResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
},
2024-05-14 13:07:09 +00:00
"post": {
"security": [
{
2024-05-15 07:38:39 +00:00
"AuthBearerBenefactor": []
2024-05-14 13:07:09 +00:00
}
],
"description": "This endpoint allows an authenticated benefactor to add a new address to their account.",
2024-05-14 13:07:09 +00:00
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Address"
2024-05-14 13:07:09 +00:00
],
"summary": "Add a new address for a benefactor",
2024-05-14 13:07:09 +00:00
"parameters": [
{
"description": "New address details",
2024-05-14 13:07:09 +00:00
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/addressparam.BenefactorAddAddressRequest"
}
}
],
"responses": {
"201": {
"description": "Created",
2024-05-14 13:07:09 +00:00
"schema": {
"$ref": "#/definitions/addressparam.BenefactorAddAddressResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/address/cities": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Address"
2024-05-14 13:07:09 +00:00
],
"summary": "Get all cities",
2024-05-14 13:07:09 +00:00
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/addressparam.GetAllCitiesResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/address/provinces": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Address"
2024-05-14 13:07:09 +00:00
],
"summary": "Get all provinces",
2024-05-14 13:07:09 +00:00
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/addressparam.GetAllProvincesResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
2024-06-01 00:29:11 +00:00
"/address/{id}": {
"get": {
"security": [
{
"AuthBearerBenefactor": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Address"
],
"summary": "Get a benefactor address",
"parameters": [
{
"type": "integer",
"description": "Address ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/addressparam.GetAddressResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
},
"delete": {
"security": [
{
"AuthBearerBenefactor": []
}
],
"description": "This endpoint is used to delete an address by benefactor",
"tags": [
"Address"
],
"summary": "Delete address by benefactor",
"parameters": [
{
"type": "integer",
"description": "Address ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"description": "No Content"
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
2024-06-12 11:13:23 +00:00
},
"patch": {
"security": [
{
"AuthBearerBenefactor": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Address"
],
"summary": "Edit benefactor address",
"parameters": [
{
"type": "integer",
"description": "Address ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Edit address details",
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/addressparam.UpdateAddressRequest"
}
}
],
"responses": {
"204": {
"description": "No Content"
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
2024-07-09 17:17:04 +00:00
"/admin/kindboxes": {
"get": {
"security": [
{
"AuthBearerAdmin": []
}
],
"description": "Retrieves a list of all KindBoxes with filtering, sorting, and pagination options",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBox"
],
"summary": "Get all KindBoxes by admin",
"parameters": [
{
"type": "integer",
"description": "Filter by ID",
"name": "filter_id",
"in": "query"
},
{
"type": "integer",
"description": "Filter by KindBox request ID",
"name": "filter_kind_box_req_id",
"in": "query"
},
{
"type": "integer",
"description": "Filter by benefactor ID",
"name": "filter_benefactor_id",
"in": "query"
},
{
"enum": [
"on-table",
"cylindrical",
"stand-up"
],
"type": "string",
"description": "Filter by KindBox type",
"name": "filter_kind_box_type",
"in": "query"
},
{
"type": "integer",
"description": "Filter by amount",
"name": "filter_amount",
"in": "query"
},
{
"type": "string",
"description": "Filter by serial number",
"name": "filter_serial_number",
"in": "query"
},
{
"enum": [
"delivered",
"ready-to-return",
"assigned-receiver-agent",
"returned",
"enumerated"
],
"type": "string",
"description": "Filter by status",
"name": "filter_status",
"in": "query"
},
{
"type": "string",
"format": "date-time",
"description": "Filter by delivered at",
"name": "filter_delivered_at",
"in": "query"
},
{
"type": "integer",
"description": "Filter by return refer time ID",
"name": "filter_return_refer_time_id",
"in": "query"
},
{
"type": "string",
"format": "date",
"description": "Filter by return refer date",
"name": "filter_return_refer_date",
"in": "query"
},
{
"type": "integer",
"description": "Filter by return address ID",
"name": "filter_return_address_id",
"in": "query"
},
{
"type": "integer",
"description": "Filter by receiver agent ID",
"name": "filter_receiver_agent_id",
"in": "query"
},
{
"type": "string",
"format": "date-time",
"description": "Filter by returned at",
"name": "filter_returned_at",
"in": "query"
},
{
"type": "integer",
"description": "Filter by sender agent ID",
"name": "filter_sender_agent_id",
"in": "query"
},
{
"type": "string",
"format": "date",
"description": "Filter by deliver refer date",
"name": "filter_deliver_refer_date",
"in": "query"
},
{
"type": "integer",
"description": "Filter by deliver address ID",
"name": "filter_deliver_address_id",
"in": "query"
},
{
"type": "integer",
"description": "Page number",
"name": "page_number",
"in": "query"
},
{
"type": "integer",
"description": "Page size",
"name": "page_size",
"in": "query"
},
{
"enum": [
"id",
"kind_box_req_id",
"benefactor_id",
"kind_box_type",
"amount",
"serial_number",
"status",
"delivered_at",
"return_refer_time_id",
"return_refer_date",
"return_address_id",
"receiver_agent_id",
"returned_at",
"sender_agent_id",
"deliver_refer_date",
"deliver_address_id"
],
"type": "string",
"description": "Sort by field",
"name": "sort_field",
"in": "query"
},
{
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order",
"name": "sort_direction",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminkindboxparam.KindBoxGetAllResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/admin/kindboxes/assign-receiver-agent/{id}": {
"patch": {
2024-07-01 17:13:28 +00:00
"security": [
{
"AuthBearerAdmin": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBox"
],
"summary": "Admin assign receiver agent to kindbox",
2024-07-01 17:13:28 +00:00
"parameters": [
{
"type": "integer",
"description": "KindBox ID",
2024-07-01 17:13:28 +00:00
"name": "id",
"in": "path",
"required": true
},
{
"description": "Assign Receiver Agent Request Body",
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/adminkindboxparam.AssignReceiverRequest"
}
2024-07-01 17:13:28 +00:00
}
],
"responses": {
"204": {
"description": "No Content"
2024-07-01 17:13:28 +00:00
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/admin/kindboxes/awaiting-return/{id}": {
"get": {
"security": [
{
"AuthBearerAdmin": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBox"
],
"summary": "Get a kind box that is awaiting return by agent",
"parameters": [
{
"type": "integer",
"description": "KindBox ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminkindboxparam.ReturnAwaitingGetResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"type": "string"
}
},
"401": {
"description": "invalid or expired jwt",
"schema": {
"type": "string"
}
},
"403": {
"description": "user not allowed",
"schema": {
"type": "string"
}
},
"404": {
"description": "record not found",
"schema": {
"type": "string"
}
},
"422": {
"description": "Unprocessable Entity",
"schema": {
"$ref": "#/definitions/httpmsg.ErrorResponse"
}
},
"500": {
"description": "something went wrong",
"schema": {
"type": "string"
}
}
}
}
},
"/admin/kindboxes/{id}": {
"get": {
"security": [
{
"AuthBearerAdmin": []
}
],
"description": "This endpoint retrieves a specific kind box by admin",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBox"
],
"summary": "Get a specific kind box by admin",
"parameters": [
{
"type": "integer",
"description": "Kind box ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminkindboxparam.KindBoxGetResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/admin/kindboxreqs": {
2024-05-15 07:38:39 +00:00
"get": {
"security": [
{
"AuthBearerAdmin": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
2024-05-15 07:38:39 +00:00
],
"summary": "Admin get all kindboxreq",
2024-05-15 07:38:39 +00:00
"parameters": [
{
"type": "integer",
"description": "page_number",
"name": "page_number",
"in": "query"
},
{
"type": "integer",
"description": "page_size",
"name": "page_size",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.KindBoxReqGetAllResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
},
"post": {
"security": [
{
"AuthBearerAdmin": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
],
"summary": "Add a new kind box request for a benefactor by admin",
"parameters": [
{
"description": "New kind box request details",
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.KindBoxReqAddRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.KindBoxReqAddResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
2024-05-15 07:38:39 +00:00
}
},
"/admin/kindboxreqs/accept-kind-box-req/{id}": {
"patch": {
"security": [
{
"AuthBearerAdmin": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
2024-05-15 07:38:39 +00:00
],
"summary": "Accept kind box request by admin",
2024-05-15 07:38:39 +00:00
"parameters": [
{
"type": "integer",
"description": "KindBoxReq ID",
2024-05-15 07:38:39 +00:00
"name": "id",
"in": "path",
"required": true
},
{
"description": "Accept KindBoxReq Request Body",
2024-05-15 07:38:39 +00:00
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.KindBoxReqAcceptRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.KindBoxReqAcceptResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/admin/kindboxreqs/assign-sender-agent/{id}": {
"patch": {
"security": [
{
"AuthBearerAdmin": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
2024-05-15 07:38:39 +00:00
],
"summary": "Admin Assign Sender Agent to kindboxreq",
2024-05-15 07:38:39 +00:00
"parameters": [
{
"type": "integer",
"description": "KindBoxReq ID",
2024-05-15 07:38:39 +00:00
"name": "id",
"in": "path",
"required": true
},
{
"description": "Assign Sender Agent Request Body",
2024-05-15 07:38:39 +00:00
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.AssignSenderRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.AssignSenderResponse"
2024-05-15 07:38:39 +00:00
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/admin/kindboxreqs/awaiting-delivery": {
"get": {
"security": [
{
"AuthBearerAdmin": []
}
],
"description": "Retrieves a list of all awaiting KindBox requests with filtering, sorting, and pagination options",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
],
"summary": "Get all awaiting delivery KindBox requests",
"parameters": [
{
"type": "integer",
"description": "Filter by ID",
"name": "filter_id",
"in": "query"
},
{
"type": "integer",
"description": "Filter by benefactor ID",
"name": "filter_benefactor_id",
"in": "query"
},
{
"enum": [
1,
2,
3
],
"type": "integer",
"format": "enum",
"description": "Filter by KindBox type",
"name": "filter_kind_box_type",
"in": "query"
},
{
"type": "integer",
"description": "Filter by count requested",
"name": "filter_count_requested",
"in": "query"
},
{
"type": "integer",
"description": "Filter by count accepted",
"name": "filter_count_accepted",
"in": "query"
},
{
"type": "integer",
"description": "Filter by deliver refer time ID",
"name": "filter_deliver_refer_time_id",
"in": "query"
},
{
"type": "string",
"format": "date",
"description": "Filter by deliver refer date",
"name": "filter_deliver_refer_date",
"in": "query"
},
{
"type": "integer",
"description": "Filter by deliver address ID",
"name": "filter_deliver_address_id",
"in": "query"
},
{
"type": "integer",
"description": "Page number",
"name": "page_number",
"in": "query"
},
{
"type": "integer",
"description": "Page size",
"name": "page_size",
"in": "query"
},
{
"enum": [
"id",
"benefactor_id",
"kind_box_type",
"count_requested",
"count_accepted",
"deliver_refer_time_id",
"deliver_refer_date",
"deliver_address_id"
],
"type": "string",
"description": "Sort by field",
"name": "sort_field",
"in": "query"
},
{
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order",
"name": "sort_direction",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.DeliveryAwaitingGetAllResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/admin/kindboxreqs/awaiting-delivery/{id}": {
"get": {
"security": [
{
"AuthBearerAdmin": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
],
"summary": "Get a kind box reqs that is awaiting delivery by agent",
"parameters": [
{
"type": "integer",
"description": "KindBoxReq ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.DeliveryAwaitingGetResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
2024-05-15 07:38:39 +00:00
"/admin/kindboxreqs/deliver-kind-box-req/{id}": {
"patch": {
"security": [
{
"AuthBearerAdmin": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
2024-05-15 07:38:39 +00:00
],
"summary": "Admin deliver a kindboxreq",
2024-05-15 07:38:39 +00:00
"parameters": [
{
"type": "integer",
"description": "KindBoxReq ID",
2024-05-15 07:38:39 +00:00
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.DeliverKindBoxReqResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/admin/kindboxreqs/reject-kind-box-req/{id}": {
"patch": {
"security": [
{
"AuthBearerAdmin": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
2024-05-15 07:38:39 +00:00
],
"summary": "Reject a kindboxreq by admin",
2024-05-15 07:38:39 +00:00
"parameters": [
{
"type": "integer",
"description": "KindBoxReq id",
2024-05-15 07:38:39 +00:00
"name": "id",
"in": "path",
"required": true
},
{
"description": "KindBoxReq Reject Request Body",
2024-05-15 07:38:39 +00:00
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.KindBoxReqRejectRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.KindBoxReqRejectResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/admin/kindboxreqs/{id}": {
"put": {
"security": [
{
"AuthBearerAdmin": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
],
"summary": "Update kind box request by admin",
"parameters": [
{
"type": "integer",
"description": "KindBoxReq ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Update KindBoxReq Request Body",
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/adminkindboxreqparam.KindBoxReqUpdateRequest"
}
}
],
"responses": {
"204": {
"description": "No Content"
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/admins/agents": {
"get": {
"security": [
{
"AuthBearerAdmin": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Admin"
],
"summary": "Get all agents by admin",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminserviceparam.GetAllAgentResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
2024-05-15 07:38:39 +00:00
"/admins/login-by-phone": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Admin"
2024-05-15 07:38:39 +00:00
],
"summary": "Admin login by\tPhoneNumber",
2024-05-15 07:38:39 +00:00
"parameters": [
{
"description": "Admin login request body",
2024-05-15 07:38:39 +00:00
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/adminserviceparam.LoginWithPhoneNumberRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminserviceparam.LoginWithPhoneNumberResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/admins/register": {
"post": {
"security": [
{
"AuthBearerAdmin": []
}
],
2024-05-15 07:38:39 +00:00
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Admin"
2024-05-15 07:38:39 +00:00
],
"summary": "Register an admin by super-admin",
2024-05-15 07:38:39 +00:00
"parameters": [
{
"description": "Admin Register Request Body",
2024-05-15 07:38:39 +00:00
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/adminserviceparam.RegisterRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/adminserviceparam.RegisterResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/benefactor/kindboxes": {
2024-05-15 07:38:39 +00:00
"get": {
"security": [
{
"AuthBearerBenefactor": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBox"
2024-05-15 07:38:39 +00:00
],
"summary": "Get all kind boxes for a benefactor",
2024-05-15 07:38:39 +00:00
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/benefactorkindboxparam.KindBoxGetResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/benefactor/kindboxes/{id}": {
"get": {
"security": [
{
"AuthBearerBenefactor": []
}
],
"description": "This endpoint retrieves a specific kind box associated with an authenticated benefactor.",
2024-05-15 07:38:39 +00:00
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBox"
2024-05-15 07:38:39 +00:00
],
"summary": "Get a specific kind box for a benefactor",
2024-05-15 07:38:39 +00:00
"parameters": [
{
"type": "integer",
"description": "Kind box ID",
2024-05-15 07:38:39 +00:00
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/benefactorkindboxparam.KindBoxGetResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/benefactor/kindboxes/{id}/emptying-requests": {
"patch": {
"security": [
{
"AuthBearerBenefactor": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Benefactor"
],
"summary": "Register a new emptying request for a kind box by benefactor",
"parameters": [
{
"type": "integer",
"description": "KindBox ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Request body",
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/benefactorkindboxparam.KindBoxRegisterEmptyingRequest"
}
}
],
"responses": {
"204": {
"description": "No content",
"schema": {
"type": "string"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
2024-05-15 07:38:39 +00:00
"/benefactor/kindboxreqs/": {
"get": {
"security": [
{
"AuthBearerBenefactor": []
}
],
"description": "Retrieves a list of all KindBox requests with filtering, sorting, and pagination options",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
],
"summary": "Get all KindBox requests",
"parameters": [
{
"type": "integer",
"description": "Filter by ID",
"name": "filter_id",
"in": "query"
},
{
"type": "integer",
"description": "Filter by benefactor ID",
"name": "filter_benefactor_id",
"in": "query"
},
{
"enum": [
1,
2,
3
],
"type": "integer",
"format": "enum",
"description": "Filter by KindBox type",
"name": "filter_kind_box_type",
"in": "query"
},
{
"enum": [
"pending",
"accepted",
"assigned-sender-agent",
"rejected",
"delivered"
],
"type": "string",
"description": "Filter by KindBoxReq Status",
"name": "filter_status",
"in": "query"
},
{
"type": "integer",
"description": "Filter by count requested",
"name": "filter_count_requested",
"in": "query"
},
{
"type": "integer",
"description": "Filter by count accepted",
"name": "filter_count_accepted",
"in": "query"
},
{
"type": "integer",
"description": "Filter by deliver refer time ID",
"name": "filter_deliver_refer_time_id",
"in": "query"
},
{
"type": "string",
"format": "date",
"description": "Filter by deliver refer date",
"name": "filter_deliver_refer_date",
"in": "query"
},
{
"type": "integer",
"description": "Filter by deliver address ID",
"name": "filter_deliver_address_id",
"in": "query"
},
{
"type": "integer",
"description": "Page number",
"name": "page_number",
"in": "query"
},
{
"type": "integer",
"description": "Page size",
"name": "page_size",
"in": "query"
},
{
"enum": [
"id",
"benefactor_id",
"kind_box_type",
"count_requested",
"count_accepted",
"deliver_refer_time_id",
"deliver_refer_date",
"deliver_address_id"
],
"type": "string",
"description": "Sort by field",
"name": "sort_field",
"in": "query"
},
{
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort order",
"name": "sort_direction",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/benefactorkindboxreqparam.GetAllResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
},
2024-05-15 07:38:39 +00:00
"post": {
"security": [
{
"AuthBearerBenefactor": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
2024-05-15 07:38:39 +00:00
],
"summary": "Add a new kind box request for a benefactor",
2024-05-15 07:38:39 +00:00
"parameters": [
{
"description": "New kind box request details",
2024-05-15 07:38:39 +00:00
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/benefactorkindboxreqparam.KindBoxReqAddRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/benefactorkindboxreqparam.KindBoxReqAddResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/benefactor/kindboxreqs/{id}": {
"get": {
"security": [
{
"AuthBearerBenefactor": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
2024-05-15 07:38:39 +00:00
],
"summary": "Get a kind box request for a benefactor",
2024-05-15 07:38:39 +00:00
"parameters": [
{
"type": "integer",
"description": "Kind box request ID",
2024-05-15 07:38:39 +00:00
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/benefactorkindboxreqparam.KindBoxReqGetResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
},
"delete": {
"security": [
{
"AuthBearerBenefactor": []
}
],
"description": "This endpoint is used to delete benefactor's kindboxreq at pending status",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"KindBoxReq"
],
"summary": "delete kindboxreq by benefactor",
"parameters": [
{
"type": "integer",
"description": "Kind box request ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/benefactorkindboxreqparam.KindBoxReqDeleteResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
2024-05-15 07:38:39 +00:00
}
},
2024-05-14 13:07:09 +00:00
"/benefactor/login-register": {
"post": {
"description": "This endpoint is used to authenticate an existing benefactor account or register a new one.",
2024-05-14 13:07:09 +00:00
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Benefactor"
2024-05-14 13:07:09 +00:00
],
"summary": "Login or register a benefactor",
2024-05-14 13:07:09 +00:00
"parameters": [
{
"description": "Login or register request details",
2024-05-14 13:07:09 +00:00
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/benefactoreparam.LoginOrRegisterRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/benefactoreparam.LoginOrRegisterResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
},
"/benefactor/send-otp": {
"post": {
"description": "This endpoint sends an OTP to the benefactor's phone number for verification purposes.",
2024-05-14 13:07:09 +00:00
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Benefactor"
2024-05-14 13:07:09 +00:00
],
"summary": "Send OTP to benefactor",
2024-05-14 13:07:09 +00:00
"parameters": [
{
"description": "Send OTP request details",
2024-05-14 13:07:09 +00:00
"name": "Request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/benefactoreparam.SendOtpRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/benefactoreparam.SendOtpResponse"
}
},
"400": {
"description": "Bad request",
"schema": {
"type": "string"
}
}
}
}
2024-05-15 07:38:39 +00:00
}
},
"definitions": {
"addressparam.BenefactorAddAddressRequest": {
"type": "object",
"properties": {
"address": {
"type": "string",
"example": "tehran"
},
"city_id": {
"type": "integer",
"example": 1
},
"lat": {
"type": "number",
"example": 22.23
},
"lon": {
"type": "number",
"example": 22.22
},
"name": {
"type": "string",
"example": "home"
},
2024-05-15 07:38:39 +00:00
"postal_code": {
"type": "string",
"example": "1234567890"
}
}
},
"addressparam.BenefactorAddAddressResponse": {
"type": "object",
"properties": {
"address": {
"$ref": "#/definitions/entity.Address"
}
}
},
2024-06-01 00:29:11 +00:00
"addressparam.GetAddressResponse": {
"type": "object",
"properties": {
"address": {
"$ref": "#/definitions/entity.Address"
}
}
},
"addressparam.GetAllAddressesResponse": {
"type": "object",
"properties": {
"all_addresses": {
"type": "array",
"items": {
"$ref": "#/definitions/entity.Address"
}
}
}
},
2024-05-15 07:38:39 +00:00
"addressparam.GetAllCitiesResponse": {
"type": "object",
"properties": {
"cities": {
"type": "array",
"items": {
"$ref": "#/definitions/entity.City"
}
}
}
},
"addressparam.GetAllProvincesResponse": {
"type": "object",
"properties": {
"provinces": {
"type": "array",
"items": {
"$ref": "#/definitions/entity.Province"
}
}
}
},
"addressparam.UpdateAddressRequest": {
"type": "object",
"properties": {
"address": {
"type": "string",
"example": "Zanjan Province, Zanjan, Etemadieh, 6th St, Iran"
},
"city_id": {
"type": "integer",
"example": 163
},
"lat": {
"type": "number",
"example": 123.456
},
"lon": {
"type": "number",
"example": 123.456
},
"name": {
"type": "string",
"example": "Home"
},
"postal_code": {
"type": "string",
"example": "1234567890"
}
}
},
"adminkindboxparam.AssignReceiverRequest": {
2024-07-01 17:13:28 +00:00
"type": "object",
"properties": {
"receiver_agent_id": {
2024-07-01 17:13:28 +00:00
"type": "integer"
}
}
},
2024-07-09 17:17:04 +00:00
"adminkindboxparam.KindBoxGetAllResponse": {
"type": "object",
"properties": {
"all_kind_box": {
"type": "array",
"items": {
"$ref": "#/definitions/entity.KindBox"
}
},
"pagination": {
"$ref": "#/definitions/param.PaginationResponse"
}
}
},
"adminkindboxparam.KindBoxGetResponse": {
"type": "object",
"properties": {
"amount": {
"type": "integer"
},
"benefactorID": {
"type": "integer"
},
"deliverAddressID": {
"type": "integer"
},
"deliverReferDate": {
"type": "string"
},
"deliveredAt": {
"type": "string"
},
"id": {
"type": "integer"
},
"kindBoxReqID": {
"type": "integer"
},
"kindBoxType": {
"$ref": "#/definitions/entity.KindBoxType"
},
"receiverAgentID": {
"type": "integer"
},
"returnAddressID": {
"type": "integer"
},
"returnReferDate": {
"type": "string"
},
"returnReferTimeID": {
"type": "integer"
},
"returnedAt": {
"type": "string"
},
"senderAgentID": {
"type": "integer"
},
"serialNumber": {
"type": "string"
},
"status": {
"$ref": "#/definitions/entity.KindBoxStatus"
}
}
},
"adminkindboxparam.ReturnAwaitingGetResponse": {
"type": "object",
"properties": {
"amount": {
"type": "integer"
},
"benefactorID": {
"type": "integer"
},
"deliverAddressID": {
"type": "integer"
},
"deliverReferDate": {
"type": "string"
},
"deliveredAt": {
"type": "string"
},
"id": {
"type": "integer"
},
"kindBoxReqID": {
"type": "integer"
},
"kindBoxType": {
"$ref": "#/definitions/entity.KindBoxType"
},
"receiverAgentID": {
"type": "integer"
},
"returnAddressID": {
"type": "integer"
},
"returnReferDate": {
"type": "string"
},
"returnReferTimeID": {
"type": "integer"
},
"returnedAt": {
"type": "string"
},
"senderAgentID": {
"type": "integer"
},
"serialNumber": {
"type": "string"
},
"status": {
"$ref": "#/definitions/entity.KindBoxStatus"
}
}
},
2024-05-15 07:38:39 +00:00
"adminkindboxreqparam.AssignSenderRequest": {
"type": "object",
"properties": {
"sender_agent_id": {
"type": "integer"
}
}
},
"adminkindboxreqparam.AssignSenderResponse": {
"type": "object"
},
2024-05-15 07:38:39 +00:00
"adminkindboxreqparam.DeliverKindBoxReqResponse": {
"type": "object"
},
"adminkindboxreqparam.DeliveryAwaitingGetAllResponse": {
"type": "object",
"properties": {
"all_awaiting_kind_box_req": {
"type": "array",
"items": {
"$ref": "#/definitions/entity.KindBoxReq"
}
},
"pagination": {
"$ref": "#/definitions/param.PaginationResponse"
}
}
},
"adminkindboxreqparam.DeliveryAwaitingGetResponse": {
"type": "object",
"properties": {
"benefactorID": {
"type": "integer"
},
"countAccepted": {
"type": "integer"
},
"countRequested": {
"type": "integer"
},
"deliverAddressID": {
"type": "integer"
},
"deliverReferDate": {
"type": "string"
},
"deliverReferTimeID": {
"type": "integer"
},
"deliveredAt": {
"type": "string"
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"kindBoxType": {
"$ref": "#/definitions/entity.KindBoxType"
},
"senderAgentID": {
"type": "integer"
},
"status": {
"$ref": "#/definitions/entity.KindBoxReqStatus"
}
}
},
2024-05-15 07:38:39 +00:00
"adminkindboxreqparam.KindBoxReqAcceptRequest": {
"type": "object",
"properties": {
"count_accepted": {
"type": "integer"
}
}
},
"adminkindboxreqparam.KindBoxReqAcceptResponse": {
"type": "object",
"properties": {
"count_accepted": {
"type": "integer"
},
"count_requested": {
"type": "integer"
},
"deliver_address_id": {
"type": "integer"
},
"deliver_refer_date": {
"type": "string"
},
"kind_box_req_id": {
"type": "integer"
},
"kind_box_req_status": {
"$ref": "#/definitions/entity.KindBoxReqStatus"
}
}
},
"adminkindboxreqparam.KindBoxReqAddRequest": {
"type": "object",
"properties": {
"benefactor_id": {
"type": "integer",
"example": 1
},
"count_requested": {
"type": "integer",
"example": 2
},
"deliver_address_id": {
"type": "integer",
"example": 1
},
"deliver_refer_date": {
"type": "string",
"example": "2025-01-02 15:04:05"
},
"kind_box_type": {
"allOf": [
{
"$ref": "#/definitions/entity.KindBoxType"
}
],
"example": 1
}
}
},
"adminkindboxreqparam.KindBoxReqAddResponse": {
"type": "object",
"properties": {
"kindBoxReq": {
"$ref": "#/definitions/entity.KindBoxReq"
}
}
},
2024-05-15 07:38:39 +00:00
"adminkindboxreqparam.KindBoxReqGetAllResponse": {
"type": "object",
"properties": {
"all_awaiting_kind_box_req": {
2024-05-15 07:38:39 +00:00
"type": "array",
"items": {
"$ref": "#/definitions/entity.KindBoxReq"
}
},
"pagination": {
"$ref": "#/definitions/param.PaginationResponse"
}
}
},
"adminkindboxreqparam.KindBoxReqRejectRequest": {
2024-05-14 13:07:09 +00:00
"type": "object",
"properties": {
2024-05-15 07:38:39 +00:00
"description": {
"type": "string",
"example": "description"
2024-05-15 07:38:39 +00:00
}
}
},
"adminkindboxreqparam.KindBoxReqRejectResponse": {
"type": "object",
"properties": {
2024-05-14 13:07:09 +00:00
"benefactor_id": {
"type": "integer",
"example": 1
2024-05-14 13:07:09 +00:00
},
2024-05-15 07:38:39 +00:00
"count_requested": {
"type": "integer",
"example": 1
2024-05-14 13:07:09 +00:00
},
2024-05-15 07:38:39 +00:00
"deliver_address_id": {
"type": "integer",
"example": 1
2024-05-14 13:07:09 +00:00
},
2024-05-15 07:38:39 +00:00
"deliver_refer_date": {
"type": "string",
"example": "2025-01-02 15:04:05"
2024-05-14 13:07:09 +00:00
},
2024-05-15 07:38:39 +00:00
"description": {
"type": "string",
"example": "description"
2024-05-14 13:07:09 +00:00
},
2024-05-15 07:38:39 +00:00
"id": {
"type": "integer",
"example": 1
2024-05-15 07:38:39 +00:00
},
"kind_box_type": {
"allOf": [
{
"$ref": "#/definitions/entity.KindBoxType"
}
],
"example": 1
2024-05-15 07:38:39 +00:00
},
"status": {
"allOf": [
{
"$ref": "#/definitions/entity.KindBoxReqStatus"
}
],
"example": 1
2024-05-14 13:07:09 +00:00
}
}
},
"adminkindboxreqparam.KindBoxReqUpdateRequest": {
"type": "object",
"properties": {
"count_accepted": {
"type": "integer",
"example": 3
},
"count_requested": {
"type": "integer",
"example": 5
},
"deliver_address_id": {
"type": "integer",
"example": 1
},
"deliver_refer_date": {
"type": "string",
"example": "2025-01-02T15:04:05Z"
},
"deliver_refer_time_id": {
"type": "integer",
"example": 1
},
"description": {
"type": "string",
"example": "description"
},
"kind_box_type": {
"allOf": [
{
"$ref": "#/definitions/entity.KindBoxType"
}
],
"example": 2
},
"sender_agent_id": {
"type": "integer",
"example": 1
}
}
},
2024-05-21 16:57:21 +00:00
"adminserviceparam.AdminInfo": {
"type": "object",
"properties": {
"description": {
2024-05-21 22:10:16 +00:00
"type": "string",
"example": "This is a description"
2024-05-21 16:57:21 +00:00
},
"email": {
2024-05-21 22:10:16 +00:00
"type": "string",
"example": "example@gmail.com"
2024-05-21 16:57:21 +00:00
},
"first_name": {
2024-05-21 22:10:16 +00:00
"type": "string",
"example": "John"
2024-05-21 16:57:21 +00:00
},
"gender": {
2024-05-21 22:10:16 +00:00
"allOf": [
{
"$ref": "#/definitions/entity.Gender"
}
],
"example": 1
2024-05-21 16:57:21 +00:00
},
"id": {
2024-05-21 22:10:16 +00:00
"type": "integer",
"example": 1
2024-05-21 16:57:21 +00:00
},
"last_name": {
2024-05-21 22:10:16 +00:00
"type": "string",
"example": "Doe"
2024-05-21 16:57:21 +00:00
},
"phone_number": {
2024-05-21 22:10:16 +00:00
"type": "string",
"example": "09123456789"
2024-05-21 16:57:21 +00:00
},
"role": {
2024-05-21 22:10:16 +00:00
"allOf": [
{
"$ref": "#/definitions/entity.AdminRole"
}
],
"example": 2
2024-05-21 16:57:21 +00:00
},
"status": {
2024-05-21 22:10:16 +00:00
"allOf": [
{
"$ref": "#/definitions/entity.AdminStatus"
}
],
"example": 1
2024-05-21 16:57:21 +00:00
}
}
},
"adminserviceparam.Agent": {
"type": "object",
"properties": {
"first_name": {
"type": "string",
"example": "John"
},
"id": {
"type": "integer",
"example": 1
},
"last_name": {
"type": "string",
"example": "Doe"
},
"phone_number": {
"type": "string",
"example": "09123456789"
}
}
},
"adminserviceparam.GetAllAgentResponse": {
"type": "object",
"properties": {
"agents": {
"type": "array",
"items": {
"$ref": "#/definitions/adminserviceparam.Agent"
}
}
}
},
2024-05-15 07:38:39 +00:00
"adminserviceparam.LoginWithPhoneNumberRequest": {
2024-05-14 13:07:09 +00:00
"type": "object",
"properties": {
2024-05-15 07:38:39 +00:00
"password": {
"type": "string",
"example": "password123"
2024-05-15 07:38:39 +00:00
},
"phone_number": {
"type": "string",
"example": "09123456789"
2024-05-14 13:07:09 +00:00
}
}
},
2024-05-15 07:38:39 +00:00
"adminserviceparam.LoginWithPhoneNumberResponse": {
2024-05-14 13:07:09 +00:00
"type": "object",
"properties": {
2024-05-21 16:57:21 +00:00
"admin_info": {
"$ref": "#/definitions/adminserviceparam.AdminInfo"
2024-05-15 07:38:39 +00:00
},
"tokens": {
"$ref": "#/definitions/adminserviceparam.Tokens"
2024-05-14 13:07:09 +00:00
}
}
},
2024-05-15 07:38:39 +00:00
"adminserviceparam.RegisterRequest": {
2024-05-14 13:07:09 +00:00
"type": "object",
"properties": {
2024-05-15 07:38:39 +00:00
"description": {
"type": "string",
"example": "this is a description"
2024-05-15 07:38:39 +00:00
},
"email": {
"type": "string",
"example": "miaad.66@gmail.com"
2024-05-15 07:38:39 +00:00
},
"first_name": {
"type": "string",
"example": "miaad"
2024-05-15 07:38:39 +00:00
},
"gender": {
"allOf": [
{
"$ref": "#/definitions/entity.Gender"
}
],
"example": 1
2024-05-15 07:38:39 +00:00
},
"last_name": {
"type": "string",
"example": "shahi"
2024-05-15 07:38:39 +00:00
},
"password": {
"type": "string",
"example": "Abc123456"
2024-05-15 07:38:39 +00:00
},
"phone_number": {
"type": "string",
"example": "09183723447"
2024-05-15 07:38:39 +00:00
},
"role": {
"allOf": [
{
"$ref": "#/definitions/entity.AdminRole"
}
],
"example": 2
2024-05-15 07:38:39 +00:00
},
"status": {
"allOf": [
{
"$ref": "#/definitions/entity.AdminStatus"
}
],
"example": 1
2024-05-15 07:38:39 +00:00
}
}
},
"adminserviceparam.RegisterResponse": {
"type": "object",
"properties": {
"admin": {
"$ref": "#/definitions/entity.Admin"
}
}
},
"adminserviceparam.Tokens": {
"type": "object",
"properties": {
"access_token": {
"type": "string"
},
"refresh_token": {
"type": "string"
2024-05-14 13:07:09 +00:00
}
}
},
"benefactoreparam.BenefactroInfo": {
"type": "object",
"properties": {
"first_name": {
"type": "string",
"example": "mehdi"
},
"id": {
"type": "integer",
"example": 1
},
"last_name": {
"type": "string",
"example": "rez"
},
"role": {
"type": "string",
"example": "benefactor"
}
}
},
"benefactoreparam.LoginOrRegisterRequest": {
"type": "object",
"properties": {
"phone_number": {
"type": "string",
"example": "09198829528"
},
"verification_code": {
"type": "string",
"example": "12345"
2024-05-14 13:07:09 +00:00
}
}
},
"benefactoreparam.LoginOrRegisterResponse": {
"type": "object",
"properties": {
"benefactore_info": {
"$ref": "#/definitions/benefactoreparam.BenefactroInfo"
},
"tokens": {
"$ref": "#/definitions/benefactoreparam.Tokens"
}
}
},
"benefactoreparam.SendOtpRequest": {
"type": "object",
"properties": {
"phone_number": {
"type": "string",
"example": "09198829528"
}
}
},
"benefactoreparam.SendOtpResponse": {
"type": "object",
"properties": {
"code": {
"description": "this just use in test .env\n\t\tTODO - remove it after test",
"type": "string"
},
"phone_number": {
"type": "string",
"example": "09198829528"
}
}
},
"benefactoreparam.Tokens": {
"type": "object",
"properties": {
"access_token": {
"type": "string"
},
"refresh_token": {
"type": "string"
}
}
},
2024-05-15 07:38:39 +00:00
"benefactorkindboxparam.KindBoxGetResponse": {
"type": "object",
"properties": {
"amount": {
"type": "integer"
},
"benefactorID": {
"type": "integer"
},
"deliverAddressID": {
"type": "integer"
},
"deliverReferDate": {
"type": "string"
},
"deliveredAt": {
"type": "string"
},
"id": {
"type": "integer"
},
"kindBoxReqID": {
"type": "integer"
},
"kindBoxType": {
"$ref": "#/definitions/entity.KindBoxType"
},
2024-05-15 07:38:39 +00:00
"receiverAgentID": {
"type": "integer"
},
"returnAddressID": {
"type": "integer"
},
"returnReferDate": {
"type": "string"
},
"returnReferTimeID": {
"type": "integer"
},
2024-05-15 07:38:39 +00:00
"returnedAt": {
"type": "string"
},
"senderAgentID": {
"type": "integer"
},
"serialNumber": {
"type": "string"
},
"status": {
"$ref": "#/definitions/entity.KindBoxStatus"
}
}
},
"benefactorkindboxparam.KindBoxRegisterEmptyingRequest": {
"type": "object",
"properties": {
"return_address_id": {
"type": "integer",
"example": 1
2024-05-15 07:38:39 +00:00
},
"return_refer_date": {
"type": "string",
"example": "2025-01-02T15:04:05Z"
},
"return_refer_time_id": {
"type": "integer",
"example": 1
}
}
},
"benefactorkindboxreqparam.GetAllResponse": {
"type": "object",
"properties": {
"all_kind_box_req": {
"type": "array",
"items": {
"$ref": "#/definitions/entity.KindBoxReq"
}
},
"pagination": {
"$ref": "#/definitions/param.PaginationResponse"
2024-05-15 07:38:39 +00:00
}
}
},
"benefactorkindboxreqparam.KindBoxReqAddRequest": {
"type": "object",
"properties": {
"benefactor_id": {
"type": "integer",
"example": 1
2024-05-15 07:38:39 +00:00
},
"count_requested": {
"type": "integer",
"example": 2
2024-05-15 07:38:39 +00:00
},
"deliver_address_id": {
"type": "integer",
"example": 1
2024-05-15 07:38:39 +00:00
},
"deliver_refer_date": {
"type": "string",
"example": "2025-01-02T15:04:05Z"
},
"deliver_refer_time_id": {
"type": "integer",
"example": 1
2024-05-15 07:38:39 +00:00
},
"kind_box_type": {
"allOf": [
{
"$ref": "#/definitions/entity.KindBoxType"
}
],
"example": 1
2024-05-15 07:38:39 +00:00
}
}
},
"benefactorkindboxreqparam.KindBoxReqAddResponse": {
"type": "object",
"properties": {
"kind_box_req": {
"$ref": "#/definitions/entity.KindBoxReq"
}
}
},
"benefactorkindboxreqparam.KindBoxReqDeleteResponse": {
"type": "object"
},
2024-05-15 07:38:39 +00:00
"benefactorkindboxreqparam.KindBoxReqGetResponse": {
"type": "object",
"properties": {
2024-05-21 22:10:16 +00:00
"kind_box_req": {
"$ref": "#/definitions/entity.KindBoxReq"
2024-05-15 07:38:39 +00:00
}
}
},
2024-05-14 13:07:09 +00:00
"entity.Address": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"benefactorID": {
"type": "integer"
},
"cityID": {
"type": "integer"
},
"id": {
"type": "integer"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"name": {
"type": "string"
},
2024-05-14 13:07:09 +00:00
"postalCode": {
"type": "string"
},
"provinceID": {
"type": "integer"
}
}
},
2024-05-15 07:38:39 +00:00
"entity.Admin": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"gender": {
"$ref": "#/definitions/entity.Gender"
},
"id": {
"type": "integer"
},
"lastName": {
"type": "string"
},
"password": {
"type": "string"
},
"phoneNumber": {
"type": "string"
},
"role": {
"$ref": "#/definitions/entity.AdminRole"
},
"status": {
"$ref": "#/definitions/entity.AdminStatus"
}
}
},
"entity.AdminRole": {
"type": "integer",
"enum": [
1,
2,
3
],
"x-enum-varnames": [
"AdminSuperAdminRole",
"AdminAdminRole",
"AdminAgentRole"
]
},
"entity.AdminStatus": {
"type": "integer",
"enum": [
1,
2
],
"x-enum-varnames": [
"AdminActiveStatus",
"AdminInactiveStatus"
]
},
2024-05-14 13:07:09 +00:00
"entity.City": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"provinceID": {
"type": "integer"
}
}
},
2024-05-15 07:38:39 +00:00
"entity.Gender": {
"type": "integer",
"enum": [
1,
2
],
"x-enum-varnames": [
"MaleGender",
"FemaleGender"
]
},
2024-07-09 17:17:04 +00:00
"entity.KindBox": {
"type": "object",
"properties": {
"amount": {
"type": "integer"
},
"benefactorID": {
"type": "integer"
},
"deliverAddressID": {
"type": "integer"
},
"deliverReferDate": {
"type": "string"
},
"deliveredAt": {
"type": "string"
},
"id": {
"type": "integer"
},
"kindBoxReqID": {
"type": "integer"
},
"kindBoxType": {
"$ref": "#/definitions/entity.KindBoxType"
},
"receiverAgentID": {
"type": "integer"
},
"returnAddressID": {
"type": "integer"
},
"returnReferDate": {
"type": "string"
},
"returnReferTimeID": {
"type": "integer"
},
"returnedAt": {
"type": "string"
},
"senderAgentID": {
"type": "integer"
},
"serialNumber": {
"type": "string"
},
"status": {
"$ref": "#/definitions/entity.KindBoxStatus"
}
}
},
2024-05-15 07:38:39 +00:00
"entity.KindBoxReq": {
"type": "object",
"properties": {
"benefactorID": {
"type": "integer"
},
"countAccepted": {
"type": "integer"
},
"countRequested": {
"type": "integer"
},
"deliverAddressID": {
"type": "integer"
},
"deliverReferDate": {
"type": "string"
},
"deliverReferTimeID": {
"type": "integer"
},
2024-05-15 07:38:39 +00:00
"deliveredAt": {
"type": "string"
},
"description": {
"type": "string"
},
"id": {
"type": "integer"
},
"kindBoxType": {
"$ref": "#/definitions/entity.KindBoxType"
},
"senderAgentID": {
"type": "integer"
},
"status": {
"$ref": "#/definitions/entity.KindBoxReqStatus"
}
}
},
"entity.KindBoxReqStatus": {
"type": "integer",
"enum": [
1,
2,
3,
4,
5
],
"x-enum-varnames": [
"KindBoxReqPendingStatus",
"KindBoxReqAcceptedStatus",
"KindBoxReqAssignedSenderAgentStatus",
"KindBoxReqRejectedStatus",
"KindBoxReqDeliveredStatus"
]
},
"entity.KindBoxStatus": {
"type": "integer",
"enum": [
1,
2,
3,
4,
5
],
"x-enum-varnames": [
"KindBoxDeliveredStatus",
"KindBoxReadyToReturnStatus",
"KindBoxAssignedReceiverAgentStatus",
"KindBoxReturnedStatus",
"KindBoxEnumeratedStatus"
]
},
"entity.KindBoxType": {
"type": "integer",
"enum": [
1,
2,
3
],
"x-enum-varnames": [
"KindBoxOnTable",
"KindBoxCylindrical",
"KindBoxStandUp"
]
},
2024-05-14 13:07:09 +00:00
"entity.Province": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
}
},
"httpmsg.ErrorResponse": {
"type": "object",
"properties": {
"errors": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"message": {
"type": "string"
}
2024-05-14 13:07:09 +00:00
}
2024-05-15 07:38:39 +00:00
},
"param.PaginationResponse": {
"type": "object",
"properties": {
2024-05-21 22:10:16 +00:00
"page_number": {
"type": "integer",
"example": 1
2024-05-15 07:38:39 +00:00
},
2024-05-21 22:10:16 +00:00
"page_size": {
"type": "integer",
"example": 10
2024-05-15 07:38:39 +00:00
},
"total": {
2024-05-21 22:10:16 +00:00
"type": "integer",
"example": 100
2024-05-15 07:38:39 +00:00
}
}
2024-05-14 13:07:09 +00:00
}
},
"securityDefinitions": {
2024-05-15 07:38:39 +00:00
"AuthBearerAdmin": {
"description": "Type the word 'Bearer' followed by a space and Admin JWT token",
2024-05-15 07:38:39 +00:00
"type": "apiKey",
"name": "Authorization",
2024-05-15 07:38:39 +00:00
"in": "header"
},
"AuthBearerBenefactor": {
"description": "Type the word 'Bearer' followed by a space and Benefactor JWT token",
2024-05-14 13:07:09 +00:00
"type": "apiKey",
"name": "Authorization",
2024-05-14 13:07:09 +00:00
"in": "header"
}
}
}