From 3dd67e0f836364e568a81b9c34e83a98707dc821 Mon Sep 17 00:00:00 2001 From: "Mohammadi, Erfan" Date: Fri, 1 Nov 2024 19:26:13 +0330 Subject: [PATCH] fix(niki): add benefactor_id filter to avoid getting all kindboxes --- delivery/http_server/admin/benefactor/get.go | 8 ++- docs/docs.go | 62 +++++++++++++++++++- docs/swagger.json | 62 +++++++++++++++++++- docs/swagger.yaml | 42 ++++++++++++- 4 files changed, 167 insertions(+), 7 deletions(-) diff --git a/delivery/http_server/admin/benefactor/get.go b/delivery/http_server/admin/benefactor/get.go index 122c5254..1bd905e8 100644 --- a/delivery/http_server/admin/benefactor/get.go +++ b/delivery/http_server/admin/benefactor/get.go @@ -19,7 +19,7 @@ import ( // @Accept json // @Produce json // @Param id path int true "Benefactor ID" -// @Success 200 {object} param.GetBenefactorByIDResponse +// @Success 200 {object} BenefactorAggregatedResponse // @Failure 400 {string} "Bad request" // @Failure 401 {string} "invalid or expired jwt" // @Failure 403 {string} "user not allowed" @@ -58,6 +58,9 @@ func (h Handler) GetBenefactor(c echo.Context) error { Field: "created_at", Direction: params.DescSortDirection, }, + Filter: map[string]any{ + "benefactor_id": bnf.Data.ID, + }, }) if err != nil { msg, code := httpmsg.Error(err) @@ -74,6 +77,9 @@ func (h Handler) GetBenefactor(c echo.Context) error { Field: "created_at", Direction: params.DescSortDirection, }, + Filter: map[string]any{ + "benefactor_id": bnf.Data.ID, + }, }) if err != nil { msg, code := httpmsg.Error(err) diff --git a/docs/docs.go b/docs/docs.go index ab6f7171..b7aca285 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -215,7 +215,7 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/adminbenefactoreparam.GetBenefactorByIDResponse" + "$ref": "#/definitions/adminbenefactorhandler.BenefactorAggregatedResponse" } }, "400": { @@ -3046,6 +3046,38 @@ const docTemplate = `{ } } }, + "adminaddressparam.Data": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "benefactor_id": { + "type": "integer" + }, + "city_id": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "lat": { + "type": "number" + }, + "lon": { + "type": "number" + }, + "name": { + "type": "string" + }, + "postal_code": { + "type": "string" + }, + "province_id": { + "type": "integer" + } + } + }, "adminagentparam.Data": { "type": "object", "properties": { @@ -3130,11 +3162,37 @@ const docTemplate = `{ } } }, - "adminbenefactoreparam.GetBenefactorByIDResponse": { + "adminbenefactorhandler.BenefactorAggregatedResponse": { "type": "object", "properties": { "data": { + "$ref": "#/definitions/adminbenefactorhandler.Data" + } + } + }, + "adminbenefactorhandler.Data": { + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "$ref": "#/definitions/adminaddressparam.Data" + } + }, + "benefactor": { "$ref": "#/definitions/adminbenefactoreparam.Data" + }, + "kind_box_reqs": { + "type": "array", + "items": { + "$ref": "#/definitions/adminkindboxreqparam.Data" + } + }, + "kind_boxes": { + "type": "array", + "items": { + "$ref": "#/definitions/adminkindboxparam.Data" + } } } }, diff --git a/docs/swagger.json b/docs/swagger.json index b0add356..f756d5c3 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -204,7 +204,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/adminbenefactoreparam.GetBenefactorByIDResponse" + "$ref": "#/definitions/adminbenefactorhandler.BenefactorAggregatedResponse" } }, "400": { @@ -3035,6 +3035,38 @@ } } }, + "adminaddressparam.Data": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "benefactor_id": { + "type": "integer" + }, + "city_id": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "lat": { + "type": "number" + }, + "lon": { + "type": "number" + }, + "name": { + "type": "string" + }, + "postal_code": { + "type": "string" + }, + "province_id": { + "type": "integer" + } + } + }, "adminagentparam.Data": { "type": "object", "properties": { @@ -3119,11 +3151,37 @@ } } }, - "adminbenefactoreparam.GetBenefactorByIDResponse": { + "adminbenefactorhandler.BenefactorAggregatedResponse": { "type": "object", "properties": { "data": { + "$ref": "#/definitions/adminbenefactorhandler.Data" + } + } + }, + "adminbenefactorhandler.Data": { + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "$ref": "#/definitions/adminaddressparam.Data" + } + }, + "benefactor": { "$ref": "#/definitions/adminbenefactoreparam.Data" + }, + "kind_box_reqs": { + "type": "array", + "items": { + "$ref": "#/definitions/adminkindboxreqparam.Data" + } + }, + "kind_boxes": { + "type": "array", + "items": { + "$ref": "#/definitions/adminkindboxparam.Data" + } } } }, diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 8db781b9..78d324c3 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -101,6 +101,27 @@ definitions: example: "1234567890" type: string type: object + adminaddressparam.Data: + properties: + address: + type: string + benefactor_id: + type: integer + city_id: + type: integer + id: + type: integer + lat: + type: number + lon: + type: number + name: + type: string + postal_code: + type: string + province_id: + type: integer + type: object adminagentparam.Data: properties: first_name: @@ -157,10 +178,27 @@ definitions: status: $ref: '#/definitions/entity.BenefactorStatus' type: object - adminbenefactoreparam.GetBenefactorByIDResponse: + adminbenefactorhandler.BenefactorAggregatedResponse: properties: data: + $ref: '#/definitions/adminbenefactorhandler.Data' + type: object + adminbenefactorhandler.Data: + properties: + addresses: + items: + $ref: '#/definitions/adminaddressparam.Data' + type: array + benefactor: $ref: '#/definitions/adminbenefactoreparam.Data' + kind_box_reqs: + items: + $ref: '#/definitions/adminkindboxreqparam.Data' + type: array + kind_boxes: + items: + $ref: '#/definitions/adminkindboxparam.Data' + type: array type: object adminkindboxparam.AssignReceiverRequest: properties: @@ -1174,7 +1212,7 @@ paths: "200": description: OK schema: - $ref: '#/definitions/adminbenefactoreparam.GetBenefactorByIDResponse' + $ref: '#/definitions/adminbenefactorhandler.BenefactorAggregatedResponse' "400": description: Bad request schema: