forked from ebhomengo/niki
fix(niki): internal, validator and structure refactor
This commit is contained in:
parent
f82c85b455
commit
705adda09b
|
@ -9,6 +9,7 @@ niki
|
||||||
*.dll
|
*.dll
|
||||||
*.so
|
*.so
|
||||||
*.dylib
|
*.dylib
|
||||||
|
activate.mise.toml
|
||||||
|
|
||||||
# Test binary, built with `go test -c`
|
# Test binary, built with `go test -c`
|
||||||
*.test
|
*.test
|
||||||
|
@ -17,11 +18,13 @@ niki
|
||||||
*.out
|
*.out
|
||||||
|
|
||||||
# Dependency directories (remove the comment below to include it)
|
# Dependency directories (remove the comment below to include it)
|
||||||
# vendor/
|
vendor/
|
||||||
.idea
|
.idea
|
||||||
bin
|
bin
|
||||||
|
|
||||||
#.env
|
#.env
|
||||||
*.env
|
*.env
|
||||||
|
|
||||||
|
# Logs
|
||||||
logs/
|
logs/
|
||||||
|
mise.log
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package kavenegar
|
||||||
|
|
||||||
|
import "github.com/kavenegar/kavenegar-go"
|
||||||
|
|
||||||
|
type Config struct {
|
||||||
|
APIKey string `koanf:"api_key"`
|
||||||
|
Sender string `koanf:"sender"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Adapter struct {
|
||||||
|
config Config
|
||||||
|
adapter *kavenegar.Kavenegar
|
||||||
|
}
|
||||||
|
|
||||||
|
func New(config Config) *Adapter {
|
||||||
|
return &Adapter{config: config, adapter: kavenegar.New(config.APIKey)}
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package kavenegarnotification
|
package kavenegar
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
@ -6,11 +6,11 @@ import (
|
||||||
"github.com/kavenegar/kavenegar-go"
|
"github.com/kavenegar/kavenegar-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (a *Adapter) Send(phoneNumber, message string) {
|
func (a Adapter) Send(phoneNumber, message string) {
|
||||||
const op = "kavenegarnotification.Send"
|
const op = "kavenegarnotification.Send"
|
||||||
|
|
||||||
var params *kavenegar.MessageSendParam
|
var params *kavenegar.MessageSendParam
|
||||||
if _, err := a.adapter.Client().Message.Send(a.adapter.Config().Sender, []string{phoneNumber}, message, params); err != nil {
|
if _, err := a.adapter.Message.Send(a.config.Sender, []string{phoneNumber}, message, params); err != nil {
|
||||||
//nolint
|
//nolint
|
||||||
switch err := err.(type) {
|
switch err := err.(type) {
|
||||||
case *kavenegar.APIError:
|
case *kavenegar.APIError:
|
|
@ -17,16 +17,16 @@ type Adapter struct {
|
||||||
client *redis.Client
|
client *redis.Client
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(config Config) Adapter {
|
func New(config Config) *Adapter {
|
||||||
rdb := redis.NewClient(&redis.Options{
|
rdb := redis.NewClient(&redis.Options{
|
||||||
Addr: fmt.Sprintf("%s:%d", config.Host, config.Port),
|
Addr: fmt.Sprintf("%s:%d", config.Host, config.Port),
|
||||||
Password: config.Password,
|
Password: config.Password,
|
||||||
DB: config.DB,
|
DB: config.DB,
|
||||||
})
|
})
|
||||||
|
|
||||||
return Adapter{client: rdb}
|
return &Adapter{client: rdb}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a Adapter) Client() *redis.Client {
|
func (a *Adapter) Client() *redis.Client {
|
||||||
return a.client
|
return a.client
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
package kavenegar
|
|
||||||
|
|
||||||
import "github.com/kavenegar/kavenegar-go"
|
|
||||||
|
|
||||||
type Config struct {
|
|
||||||
APIKey string `koanf:"api_key"`
|
|
||||||
Sender string `koanf:"sender"`
|
|
||||||
OtpTemplateNewUser string `koanf:"otp_template_new_user"`
|
|
||||||
OtpTemplateRegisteredUser string `koanf:"otp_template_registered_user"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type Adapter struct {
|
|
||||||
config Config
|
|
||||||
api *kavenegar.Kavenegar
|
|
||||||
}
|
|
||||||
|
|
||||||
func New(config Config) *Adapter {
|
|
||||||
return &Adapter{config: config, api: kavenegar.New(config.APIKey)}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a Adapter) Client() *kavenegar.Kavenegar {
|
|
||||||
return a.api
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a Adapter) Config() Config {
|
|
||||||
return a.config
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
package kavenegarnotification
|
|
||||||
|
|
||||||
import "git.gocasts.ir/ebhomengo/niki/adapter/sms_provider/kavenegar"
|
|
||||||
|
|
||||||
type Adapter struct {
|
|
||||||
adapter *kavenegar.Adapter
|
|
||||||
}
|
|
||||||
|
|
||||||
func New(adapter *kavenegar.Adapter) *Adapter {
|
|
||||||
return &Adapter{adapter: adapter}
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
package kavenegarotp
|
|
||||||
|
|
||||||
import (
|
|
||||||
smsprovider "git.gocasts.ir/ebhomengo/niki/adapter/sms_provider/kavenegar"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Adapter struct {
|
|
||||||
adapter *smsprovider.Adapter
|
|
||||||
}
|
|
||||||
|
|
||||||
func New(conn *smsprovider.Adapter) *Adapter {
|
|
||||||
return &Adapter{adapter: conn}
|
|
||||||
}
|
|
|
@ -1,50 +0,0 @@
|
||||||
package kavenegarotp
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
|
||||||
"github.com/kavenegar/kavenegar-go"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (a Adapter) SendForNewUser(phoneNumber, code string) {
|
|
||||||
const op = richerror.Op("kavenegarotp.Send")
|
|
||||||
|
|
||||||
params := &kavenegar.VerifyLookupParam{}
|
|
||||||
if _, err := a.adapter.Client().Verify.Lookup(phoneNumber, a.adapter.Config().OtpTemplateNewUser, code, params); err != nil {
|
|
||||||
//nolint
|
|
||||||
switch err := err.(type) {
|
|
||||||
case *kavenegar.APIError:
|
|
||||||
// log error
|
|
||||||
fmt.Println(fmt.Errorf("error(%s):%w", op, err))
|
|
||||||
case *kavenegar.HTTPError:
|
|
||||||
// log error
|
|
||||||
fmt.Println(fmt.Errorf("error(%s):%w", op, err))
|
|
||||||
default:
|
|
||||||
// log error
|
|
||||||
fmt.Println(fmt.Errorf("error(%s):%w", op, err))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// TODO - log res res.Status
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a Adapter) SendForRegisteredUser(phoneNumber, code string) {
|
|
||||||
const op = richerror.Op("kavenegarotp.Send")
|
|
||||||
|
|
||||||
params := &kavenegar.VerifyLookupParam{}
|
|
||||||
if _, err := a.adapter.Client().Verify.Lookup(phoneNumber, a.adapter.Config().OtpTemplateRegisteredUser, code, params); err != nil {
|
|
||||||
//nolint
|
|
||||||
switch err := err.(type) {
|
|
||||||
case *kavenegar.APIError:
|
|
||||||
// log error
|
|
||||||
fmt.Println(fmt.Errorf("error(%s):%w", op, err))
|
|
||||||
case *kavenegar.HTTPError:
|
|
||||||
// log error
|
|
||||||
fmt.Println(fmt.Errorf("error(%s):%w", op, err))
|
|
||||||
default:
|
|
||||||
// log error
|
|
||||||
fmt.Println(fmt.Errorf("error(%s):%w", op, err))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// TODO - log res res.Status
|
|
||||||
}
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
type: yml
|
type: yml
|
||||||
|
|
||||||
auth:
|
benefactor_auth:
|
||||||
sign_key: jwt_secret_test_nik
|
sign_key: jwt_secret_test_nik
|
||||||
|
|
||||||
http_server:
|
http_server:
|
||||||
|
@ -30,8 +30,6 @@ benefactor_service:
|
||||||
kavenegar_sms_provider:
|
kavenegar_sms_provider:
|
||||||
api_key: insert_your_api_key
|
api_key: insert_your_api_key
|
||||||
sender: insert_sender_number
|
sender: insert_sender_number
|
||||||
otp_template_new_user: ebhomeverify
|
|
||||||
otp_template_registered_user: ebhomeverify
|
|
||||||
|
|
||||||
admin_auth:
|
admin_auth:
|
||||||
sign_key: admin-jwt_secret_test_nik
|
sign_key: admin-jwt_secret_test_nik
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
smsprovider "git.gocasts.ir/ebhomengo/niki/adapter/kavenegar"
|
||||||
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
||||||
smsprovider "git.gocasts.ir/ebhomengo/niki/adapter/sms_provider/kavenegar"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/repository/mysql"
|
"git.gocasts.ir/ebhomengo/niki/repository/mysql"
|
||||||
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
||||||
benefactorservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/benefactor"
|
benefactorservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/benefactor"
|
||||||
|
@ -15,7 +15,7 @@ type HTTPServer struct {
|
||||||
type Config struct {
|
type Config struct {
|
||||||
HTTPServer HTTPServer `koanf:"http_server"`
|
HTTPServer HTTPServer `koanf:"http_server"`
|
||||||
Mysql mysql.Config `koanf:"mariadb"`
|
Mysql mysql.Config `koanf:"mariadb"`
|
||||||
Auth authservice.Config `koanf:"auth"`
|
BenefactorAuth authservice.Config `koanf:"benefactor_auth"`
|
||||||
AdminAuth authservice.Config `koanf:"admin_auth"`
|
AdminAuth authservice.Config `koanf:"admin_auth"`
|
||||||
Redis redis.Config `koanf:"redis"`
|
Redis redis.Config `koanf:"redis"`
|
||||||
KavenegarSmsProvider smsprovider.Config `koanf:"kavenegar_sms_provider"`
|
KavenegarSmsProvider smsprovider.Config `koanf:"kavenegar_sms_provider"`
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
|
|
||||||
func Default() Config {
|
func Default() Config {
|
||||||
cfx := Config{
|
cfx := Config{
|
||||||
Auth: authservice.Config{
|
BenefactorAuth: authservice.Config{
|
||||||
AccessExpirationTime: AccessTokenExpireDuration,
|
AccessExpirationTime: AccessTokenExpireDuration,
|
||||||
RefreshExpirationTime: RefreshTokenExpireDuration,
|
RefreshExpirationTime: RefreshTokenExpireDuration,
|
||||||
AccessSubject: AccessTokenSubject,
|
AccessSubject: AccessTokenSubject,
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
package smscontract
|
||||||
|
|
||||||
|
type SmsAdapter interface {
|
||||||
|
Send(phoneNumber string, message string)
|
||||||
|
}
|
|
@ -4,26 +4,21 @@ import (
|
||||||
adminservice "git.gocasts.ir/ebhomengo/niki/service/admin/admin"
|
adminservice "git.gocasts.ir/ebhomengo/niki/service/admin/admin"
|
||||||
adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
|
adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
|
||||||
adminauthservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
adminauthservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
||||||
adminvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/admin"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Handler struct {
|
type Handler struct {
|
||||||
authConfig adminauthservice.Config
|
|
||||||
authSvc adminauthservice.Service
|
authSvc adminauthservice.Service
|
||||||
adminSvc adminservice.Service
|
adminSvc adminservice.Service
|
||||||
adminVld adminvalidator.Validator
|
|
||||||
adminAuthorizeSvc adminauthorizationservice.Service
|
adminAuthorizeSvc adminauthorizationservice.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(authConfig adminauthservice.Config, authSvc adminauthservice.Service,
|
func New(authSvc adminauthservice.Service,
|
||||||
adminSvc adminservice.Service, adminVld adminvalidator.Validator,
|
adminSvc adminservice.Service,
|
||||||
adminAuthorizeSvc adminauthorizationservice.Service,
|
adminAuthorizeSvc adminauthorizationservice.Service,
|
||||||
) Handler {
|
) Handler {
|
||||||
return Handler{
|
return Handler{
|
||||||
authConfig: authConfig,
|
|
||||||
authSvc: authSvc,
|
authSvc: authSvc,
|
||||||
adminSvc: adminSvc,
|
adminSvc: adminSvc,
|
||||||
adminVld: adminVld,
|
|
||||||
adminAuthorizeSvc: adminAuthorizeSvc,
|
adminAuthorizeSvc: adminAuthorizeSvc,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,17 +24,15 @@ func (h Handler) LoginByPhoneNumber(c echo.Context) error {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if fieldErrors, err := h.adminVld.ValidateLoginWithPhoneNumberRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, sErr := h.adminSvc.LoginWithPhoneNumber(c.Request().Context(), req)
|
resp, sErr := h.adminSvc.LoginWithPhoneNumber(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,17 +25,15 @@ func (h Handler) Register(c echo.Context) error {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if fieldErrors, err := h.adminVld.ValidateRegisterRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, sErr := h.adminSvc.Register(c.Request().Context(), req)
|
resp, sErr := h.adminSvc.Register(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,9 +11,8 @@ func (h Handler) SetRoutes(e *echo.Echo) {
|
||||||
|
|
||||||
//nolint:gocritic
|
//nolint:gocritic
|
||||||
//r.POST("/", h.Add).Name = "admin-addkindboxreq"
|
//r.POST("/", h.Add).Name = "admin-addkindboxreq"
|
||||||
r.POST("/register", h.Register, middleware.Auth(h.authSvc, h.authConfig), middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminAdminRegisterPermission))
|
r.POST("/register", h.Register, middleware.Auth(h.authSvc), middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminAdminRegisterPermission))
|
||||||
r.POST("/login-by-phone", h.LoginByPhoneNumber)
|
r.POST("/login-by-phone", h.LoginByPhoneNumber)
|
||||||
//nolint:gocritic
|
//nolint:gocritic
|
||||||
//r.PATCH("/:id", h.Update).Name = "admin-updatekindboxreq"
|
//r.PATCH("/:id", h.Update).Name = "admin-updatekindboxreq"
|
||||||
r.GET("/agents", h.GetAllAgent, middleware.Auth(h.authSvc, h.authConfig), middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminAdminGetAllAgentPermission))
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package adminhandler
|
package adminagenthandler
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
|
adminagentparam "git.gocasts.ir/ebhomengo/niki/param/admin/agent"
|
||||||
httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg"
|
httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg"
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
)
|
)
|
||||||
|
@ -12,12 +13,13 @@ import (
|
||||||
// @Tags Admin
|
// @Tags Admin
|
||||||
// @Accept json
|
// @Accept json
|
||||||
// @Produce json
|
// @Produce json
|
||||||
// @Success 200 {object} adminserviceparam.GetAllAgentResponse
|
// @Success 200 {object} adminagentparam.GetAllAgentResponse
|
||||||
// @Failure 400 {string} "Bad request"
|
// @Failure 400 {string} "Bad request"
|
||||||
// @Security AuthBearerAdmin
|
// @Security AuthBearerAdmin
|
||||||
// @Router /admins/agents [get].
|
// @Router /admins/agents [get].
|
||||||
func (h Handler) GetAllAgent(c echo.Context) error {
|
func (h Handler) GetAllAgent(c echo.Context) error {
|
||||||
resp, sErr := h.adminSvc.GetAllAgent(c.Request().Context())
|
var resp adminagentparam.GetAllAgentResponse
|
||||||
|
resp, sErr := h.agentSvc.GetAllAgent(c.Request().Context())
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
package adminagenthandler
|
||||||
|
|
||||||
|
import (
|
||||||
|
agentservice "git.gocasts.ir/ebhomengo/niki/service/admin/agent"
|
||||||
|
authorizeservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
|
||||||
|
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Handler struct {
|
||||||
|
authSvc authservice.Service
|
||||||
|
agentSvc agentservice.Service
|
||||||
|
authorizeSvc authorizeservice.Service
|
||||||
|
}
|
||||||
|
|
||||||
|
func New(authSvc authservice.Service,
|
||||||
|
agentSvc agentservice.Service,
|
||||||
|
authorizeSvc authorizeservice.Service,
|
||||||
|
) Handler {
|
||||||
|
return Handler{
|
||||||
|
authSvc: authSvc,
|
||||||
|
agentSvc: agentSvc,
|
||||||
|
authorizeSvc: authorizeSvc,
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
package adminagenthandler
|
||||||
|
|
||||||
|
import (
|
||||||
|
"git.gocasts.ir/ebhomengo/niki/delivery/http_server/middleware"
|
||||||
|
"git.gocasts.ir/ebhomengo/niki/entity"
|
||||||
|
"github.com/labstack/echo/v4"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (h Handler) SetRoutes(e *echo.Echo) {
|
||||||
|
r := e.Group("/admins")
|
||||||
|
|
||||||
|
r.GET("/agents", h.GetAllAgent, middleware.Auth(h.authSvc), middleware.AdminAuthorization(h.authorizeSvc, entity.AdminAdminGetAllAgentPermission))
|
||||||
|
}
|
|
@ -26,19 +26,16 @@ func (h Handler) AssignReceiverAgent(c echo.Context) error {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if fieldErrors, err := h.adminKindBoxVld.ValidateAssignReceiverAgent(req); err != nil {
|
resp, sErr := h.adminKindBoxSvc.AssignReceiverAgent(c.Request().Context(), req)
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
sErr := h.adminKindBoxSvc.AssignReceiverAgent(c.Request().Context(), req)
|
|
||||||
|
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,22 +30,19 @@ func (h Handler) Enumerate(c echo.Context) error {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if fieldErrors, err := h.adminKindBoxVld.ValidateEnumerate(req); err != nil {
|
resp, sErr := h.adminKindBoxSvc.Enumerate(c.Request().Context(), req)
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
sErr := h.adminKindBoxSvc.Enumerate(c.Request().Context(), req)
|
|
||||||
|
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
return c.JSON(http.StatusNoContent, nil)
|
return c.JSON(http.StatusNoContent, resp)
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,17 +24,16 @@ func (h Handler) Get(c echo.Context) error {
|
||||||
if bErr := c.Bind(&req); bErr != nil {
|
if bErr := c.Bind(&req); bErr != nil {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
if fieldErrors, err := h.adminKindBoxVld.ValidateGetRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, sErr := h.adminKindBoxSvc.Get(c.Request().Context(), req)
|
resp, sErr := h.adminKindBoxSvc.Get(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,18 +48,16 @@ func (h Handler) GetAll(c echo.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
req.Filter = queryparam.GetFilterParams(c)
|
req.Filter = queryparam.GetFilterParams(c)
|
||||||
if fieldErrors, err := h.adminKindBoxVld.ValidateGetAll(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
resp, sErr := h.adminKindBoxSvc.GetAll(c.Request().Context(), req)
|
resp, sErr := h.adminKindBoxSvc.GetAll(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,26 +4,21 @@ import (
|
||||||
adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
|
adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
|
||||||
adminkindboxservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box"
|
adminkindboxservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box"
|
||||||
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
||||||
adminkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/kind_box"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Handler struct {
|
type Handler struct {
|
||||||
authConfig authservice.Config
|
|
||||||
authSvc authservice.Service
|
authSvc authservice.Service
|
||||||
adminKindBoxSvc adminkindboxservice.Service
|
adminKindBoxSvc adminkindboxservice.Service
|
||||||
adminKindBoxVld adminkindboxvalidator.Validator
|
|
||||||
adminAuthorizeSvc adminauthorizationservice.Service
|
adminAuthorizeSvc adminauthorizationservice.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(authConfig authservice.Config, authSvc authservice.Service,
|
func New(authSvc authservice.Service,
|
||||||
adminKindBoxSvc adminkindboxservice.Service, adminKindBoxVld adminkindboxvalidator.Validator,
|
adminKindBoxSvc adminkindboxservice.Service,
|
||||||
adminAuthorizeSvc adminauthorizationservice.Service,
|
adminAuthorizeSvc adminauthorizationservice.Service,
|
||||||
) Handler {
|
) Handler {
|
||||||
return Handler{
|
return Handler{
|
||||||
authConfig: authConfig,
|
|
||||||
authSvc: authSvc,
|
authSvc: authSvc,
|
||||||
adminKindBoxSvc: adminKindBoxSvc,
|
adminKindBoxSvc: adminKindBoxSvc,
|
||||||
adminKindBoxVld: adminKindBoxVld,
|
|
||||||
adminAuthorizeSvc: adminAuthorizeSvc,
|
adminAuthorizeSvc: adminAuthorizeSvc,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ import (
|
||||||
func (h Handler) SetRoutes(e *echo.Echo) {
|
func (h Handler) SetRoutes(e *echo.Echo) {
|
||||||
r := e.Group("/admin/kindboxes")
|
r := e.Group("/admin/kindboxes")
|
||||||
|
|
||||||
r.Use(middleware.Auth(h.authSvc, h.authConfig))
|
r.Use(middleware.Auth(h.authSvc))
|
||||||
|
|
||||||
r.GET("/:id", h.Get, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxGetPermission))
|
r.GET("/:id", h.Get, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxGetPermission))
|
||||||
r.PATCH("/assign-receiver-agent/:id", h.AssignReceiverAgent, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxAssignReceiverAgentPermission))
|
r.PATCH("/assign-receiver-agent/:id", h.AssignReceiverAgent, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxAssignReceiverAgentPermission))
|
||||||
|
|
|
@ -32,18 +32,16 @@ func (h Handler) Accept(c echo.Context) error {
|
||||||
return c.JSON(http.StatusBadRequest, errmsg.ErrorMsgInvalidInput)
|
return c.JSON(http.StatusBadRequest, errmsg.ErrorMsgInvalidInput)
|
||||||
}
|
}
|
||||||
req.ID = uint(num)
|
req.ID = uint(num)
|
||||||
if fieldErrors, err := h.adminKindBoxReqVld.ValidateAcceptRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
resp, sErr := h.adminKindBoxReqSvc.Accept(c.Request().Context(), req)
|
resp, sErr := h.adminKindBoxReqSvc.Accept(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,18 +24,16 @@ func (h Handler) AddKindBoxReq(c echo.Context) error {
|
||||||
if err := c.Bind(&req); err != nil {
|
if err := c.Bind(&req); err != nil {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest, errmsg.ErrBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest, errmsg.ErrBadRequest)
|
||||||
}
|
}
|
||||||
result := h.adminKindBoxReqVld.ValidateAddRequest(req)
|
|
||||||
if result != nil {
|
|
||||||
msg, code := httpmsg.Error(result.Err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": result.Fields,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, sErr := h.adminKindBoxReqSvc.Add(c.Request().Context(), req)
|
resp, sErr := h.adminKindBoxReqSvc.Add(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,19 +36,16 @@ func (h Handler) AssignSenderAgent(c echo.Context) error {
|
||||||
|
|
||||||
req.KindBoxReqID = uint(id)
|
req.KindBoxReqID = uint(id)
|
||||||
|
|
||||||
if fieldErrors, err := h.adminKindBoxReqVld.ValidateAssignSenderAgent(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
resp, sErr := h.adminKindBoxReqSvc.AssignSenderAgent(c.Request().Context(), req)
|
resp, sErr := h.adminKindBoxReqSvc.AssignSenderAgent(c.Request().Context(), req)
|
||||||
|
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,24 +29,21 @@ func (h Handler) Deliver(c echo.Context) error {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if fieldErrors, err := h.adminKindBoxReqVld.ValidateDeliver(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
q := querier.GetQuerierFromContextOrNew(c.Request().Context()).Begin()
|
q := querier.GetQuerierFromContextOrNew(c.Request().Context()).Begin()
|
||||||
ctx := context.WithValue(c.Request().Context(), querier.QuerierContextKey, q)
|
ctx := context.WithValue(c.Request().Context(), querier.QuerierContextKey, q)
|
||||||
resp, sErr := h.adminKindBoxReqSvc.Deliver(ctx, req)
|
resp, sErr := h.adminKindBoxReqSvc.Deliver(ctx, req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
rErr := q.Rollback()
|
rErr := q.Rollback()
|
||||||
if rErr != nil {
|
if rErr != nil {
|
||||||
return echo.NewHTTPError(http.StatusInternalServerError, errmsg.ErrorMsgSomethingWentWrong)
|
return echo.NewHTTPError(http.StatusInternalServerError, errmsg.ErrorMsgSomethingWentWrong)
|
||||||
}
|
}
|
||||||
msg, code := httpmsg.Error(sErr)
|
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,18 +28,15 @@ func (h Handler) Get(c echo.Context) error {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if fieldErrors, err := h.adminKindBoxReqVld.ValidateGetRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, httpmsg.ErrorResponse{
|
|
||||||
Message: msg,
|
|
||||||
Errors: fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
resp, err := h.adminKindBoxReqSvc.Get(c.Request().Context(), req)
|
resp, err := h.adminKindBoxReqSvc.Get(c.Request().Context(), req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
msg, code := httpmsg.Error(err)
|
msg, code := httpmsg.Error(err)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,18 +46,16 @@ func (h Handler) GetAll(c echo.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
req.Filter = queryparam.GetFilterParams(c)
|
req.Filter = queryparam.GetFilterParams(c)
|
||||||
if fieldErrors, err := h.adminKindBoxReqVld.ValidateGetAll(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, httpmsg.ErrorResponse{
|
|
||||||
Message: msg,
|
|
||||||
Errors: fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
resp, err := h.adminKindBoxReqSvc.GetAll(c.Request().Context(), req)
|
resp, err := h.adminKindBoxReqSvc.GetAll(c.Request().Context(), req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
msg, code := httpmsg.Error(err)
|
msg, code := httpmsg.Error(err)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, httpmsg.ErrorResponse{
|
||||||
|
Message: msg,
|
||||||
|
Errors: resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,22 +39,18 @@ func (h Handler) GetAllAwaitingDelivery(c echo.Context) error {
|
||||||
if bErr := c.Bind(&req); bErr != nil {
|
if bErr := c.Bind(&req); bErr != nil {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
req.Filter = queryparam.GetFilterParams(c)
|
req.Filter = queryparam.GetFilterParams(c)
|
||||||
if fieldErrors, err := h.adminKindBoxReqVld.ValidateGetAllAwaitingDelivery(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
req.Filter["sender_agent_id"] = claim.GetClaimsFromEchoContext(c).UserID
|
req.Filter["sender_agent_id"] = claim.GetClaimsFromEchoContext(c).UserID
|
||||||
req.Filter["status"] = entity.KindBoxReqAssignedSenderAgentStatus.String()
|
req.Filter["status"] = entity.KindBoxReqAssignedSenderAgentStatus
|
||||||
|
|
||||||
resp, sErr := h.adminKindBoxReqSvc.GetAllAwaitingDelivery(c.Request().Context(), req)
|
resp, sErr := h.adminKindBoxReqSvc.GetAllAwaitingDelivery(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,18 +28,15 @@ func (h Handler) GetAwaitingDelivery(c echo.Context) error {
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.AgentID = claims.UserID
|
req.AgentID = claims.UserID
|
||||||
|
|
||||||
if fieldErrors, err := h.adminKindBoxReqVld.ValidateGetAwaitingDeliveryRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
resp, sErr := h.adminKindBoxReqSvc.GetAwaitingDelivery(c.Request().Context(), req)
|
resp, sErr := h.adminKindBoxReqSvc.GetAwaitingDelivery(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,27 +5,22 @@ import (
|
||||||
adminkindboxreqservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box_req"
|
adminkindboxreqservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box_req"
|
||||||
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
||||||
"git.gocasts.ir/ebhomengo/niki/service/notification"
|
"git.gocasts.ir/ebhomengo/niki/service/notification"
|
||||||
adminkindboxreqvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/kind_box_req"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Handler struct {
|
type Handler struct {
|
||||||
authConfig authservice.Config
|
|
||||||
authSvc authservice.Service
|
authSvc authservice.Service
|
||||||
adminKindBoxReqSvc adminkindboxreqservice.Service
|
adminKindBoxReqSvc adminkindboxreqservice.Service
|
||||||
adminKindBoxReqVld adminkindboxreqvalidator.Validator
|
|
||||||
adminAuthorizeSvc adminauthorizationservice.Service
|
adminAuthorizeSvc adminauthorizationservice.Service
|
||||||
notificationSvc notification.Service
|
notificationSvc notification.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(authConfig authservice.Config, authSvc authservice.Service,
|
func New(authSvc authservice.Service,
|
||||||
adminKindBoxReqSvc adminkindboxreqservice.Service, adminKindBoxReqVld adminkindboxreqvalidator.Validator,
|
adminKindBoxReqSvc adminkindboxreqservice.Service,
|
||||||
adminAuthorizeSvc adminauthorizationservice.Service, notificationSvc notification.Service,
|
adminAuthorizeSvc adminauthorizationservice.Service, notificationSvc notification.Service,
|
||||||
) Handler {
|
) Handler {
|
||||||
return Handler{
|
return Handler{
|
||||||
authConfig: authConfig,
|
|
||||||
authSvc: authSvc,
|
authSvc: authSvc,
|
||||||
adminKindBoxReqSvc: adminKindBoxReqSvc,
|
adminKindBoxReqSvc: adminKindBoxReqSvc,
|
||||||
adminKindBoxReqVld: adminKindBoxReqVld,
|
|
||||||
adminAuthorizeSvc: adminAuthorizeSvc,
|
adminAuthorizeSvc: adminAuthorizeSvc,
|
||||||
notificationSvc: notificationSvc,
|
notificationSvc: notificationSvc,
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,18 +31,16 @@ func (h Handler) Reject(c echo.Context) error {
|
||||||
return c.JSON(http.StatusBadRequest, errmsg.ErrorMsgInvalidInput)
|
return c.JSON(http.StatusBadRequest, errmsg.ErrorMsgInvalidInput)
|
||||||
}
|
}
|
||||||
req.ID = uint(num)
|
req.ID = uint(num)
|
||||||
if fieldErrors, err := h.adminKindBoxReqVld.ValidateRejectRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
resp, sErr := h.adminKindBoxReqSvc.Reject(c.Request().Context(), req)
|
resp, sErr := h.adminKindBoxReqSvc.Reject(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ import (
|
||||||
func (h Handler) SetRoutes(e *echo.Echo) {
|
func (h Handler) SetRoutes(e *echo.Echo) {
|
||||||
r := e.Group("/admins/kindboxreqs")
|
r := e.Group("/admins/kindboxreqs")
|
||||||
|
|
||||||
r.Use(middleware.Auth(h.authSvc, h.authConfig))
|
r.Use(middleware.Auth(h.authSvc))
|
||||||
r.POST("", h.AddKindBoxReq, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqAddPermission))
|
r.POST("", h.AddKindBoxReq, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqAddPermission))
|
||||||
r.PATCH("/accept-kind-box-req/:id", h.Accept, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqAcceptPermission))
|
r.PATCH("/accept-kind-box-req/:id", h.Accept, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqAcceptPermission))
|
||||||
r.PATCH("/reject-kind-box-req/:id", h.Reject, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqRejectPermission))
|
r.PATCH("/reject-kind-box-req/:id", h.Reject, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxReqRejectPermission))
|
||||||
|
|
|
@ -25,18 +25,15 @@ func (h Handler) Update(c echo.Context) error {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if fieldErrors, err := h.adminKindBoxReqVld.ValidateUpdateRequest(req); err != nil {
|
resp, sErr := h.adminKindBoxReqSvc.Update(c.Request().Context(), req)
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
sErr := h.adminKindBoxReqSvc.Update(c.Request().Context(), req)
|
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,18 +32,15 @@ func (h Handler) Get(c echo.Context) error {
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.AgentID = claims.UserID
|
req.AgentID = claims.UserID
|
||||||
|
|
||||||
if fieldErrors, err := h.agentKindBoxVld.ValidateGetRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, httpmsg.ErrorResponse{
|
|
||||||
Message: msg,
|
|
||||||
Errors: fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
resp, sErr := h.agentKindBoxSvc.Get(c.Request().Context(), req)
|
resp, sErr := h.agentKindBoxSvc.Get(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, httpmsg.ErrorResponse{
|
||||||
|
Message: msg,
|
||||||
|
Errors: resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,20 +44,18 @@ func (h Handler) GetAll(c echo.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
req.Filter = queryparam.GetFilterParams(c)
|
req.Filter = queryparam.GetFilterParams(c)
|
||||||
if fieldErrors, err := h.agentKindBoxVld.ValidateGetAll(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, httpmsg.ErrorResponse{
|
|
||||||
Message: msg,
|
|
||||||
Errors: fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
req.Filter["receiver_agent_id"] = claim.GetClaimsFromEchoContext(c).UserID
|
req.Filter["receiver_agent_id"] = claim.GetClaimsFromEchoContext(c).UserID
|
||||||
req.Filter["status"] = entity.KindBoxAssignedReceiverAgentStatus.String()
|
req.Filter["status"] = entity.KindBoxAssignedReceiverAgentStatus
|
||||||
|
|
||||||
resp, err := h.agentKindBoxSvc.GetAll(c.Request().Context(), req)
|
resp, err := h.agentKindBoxSvc.GetAll(c.Request().Context(), req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
msg, code := httpmsg.Error(err)
|
msg, code := httpmsg.Error(err)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, httpmsg.ErrorResponse{
|
||||||
|
Message: msg,
|
||||||
|
Errors: resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,26 +4,21 @@ import (
|
||||||
adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
|
adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
|
||||||
agentkindboxservice "git.gocasts.ir/ebhomengo/niki/service/agent/kind_box"
|
agentkindboxservice "git.gocasts.ir/ebhomengo/niki/service/agent/kind_box"
|
||||||
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
||||||
agentkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/agent/kind_box"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Handler struct {
|
type Handler struct {
|
||||||
authConfig authservice.Config
|
|
||||||
authSvc authservice.Service
|
authSvc authservice.Service
|
||||||
agentKindBoxSvc agentkindboxservice.Service
|
agentKindBoxSvc agentkindboxservice.Service
|
||||||
agentKindBoxVld agentkindboxvalidator.Validator
|
|
||||||
adminAuthorizeSvc adminauthorizationservice.Service
|
adminAuthorizeSvc adminauthorizationservice.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(authConfig authservice.Config, authSvc authservice.Service,
|
func New(authSvc authservice.Service,
|
||||||
agentKindBoxSvc agentkindboxservice.Service, agentKindBoxVld agentkindboxvalidator.Validator,
|
agentKindBoxSvc agentkindboxservice.Service,
|
||||||
adminAuthorizeSvc adminauthorizationservice.Service,
|
adminAuthorizeSvc adminauthorizationservice.Service,
|
||||||
) Handler {
|
) Handler {
|
||||||
return Handler{
|
return Handler{
|
||||||
authConfig: authConfig,
|
|
||||||
authSvc: authSvc,
|
authSvc: authSvc,
|
||||||
agentKindBoxSvc: agentKindBoxSvc,
|
agentKindBoxSvc: agentKindBoxSvc,
|
||||||
agentKindBoxVld: agentKindBoxVld,
|
|
||||||
adminAuthorizeSvc: adminAuthorizeSvc,
|
adminAuthorizeSvc: adminAuthorizeSvc,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,19 +33,16 @@ func (h Handler) Return(c echo.Context) error {
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.AgentID = claims.UserID
|
req.AgentID = claims.UserID
|
||||||
|
|
||||||
if fieldErrors, err := h.agentKindBoxVld.ValidateReturn(req); err != nil {
|
resp, sErr := h.agentKindBoxSvc.Return(c.Request().Context(), req)
|
||||||
msg, code := httpmsg.Error(err)
|
if sErr != nil {
|
||||||
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
return c.JSON(code, httpmsg.ErrorResponse{
|
return c.JSON(code, httpmsg.ErrorResponse{
|
||||||
Message: msg,
|
Message: msg,
|
||||||
Errors: fieldErrors,
|
Errors: resp.FieldErrors,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
err := h.agentKindBoxSvc.Return(c.Request().Context(), req)
|
|
||||||
if err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ import (
|
||||||
func (h Handler) SetRoutes(e *echo.Echo) {
|
func (h Handler) SetRoutes(e *echo.Echo) {
|
||||||
r := e.Group("/agents/kindboxes")
|
r := e.Group("/agents/kindboxes")
|
||||||
|
|
||||||
r.Use(middleware.Auth(h.authSvc, h.authConfig))
|
r.Use(middleware.Auth(h.authSvc))
|
||||||
|
|
||||||
r.GET("/:id", h.Get, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxGetAwaitingReturnPermission))
|
r.GET("/:id", h.Get, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxGetAwaitingReturnPermission))
|
||||||
r.GET("", h.GetAll, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxGetAwaitingReturnPermission))
|
r.GET("", h.GetAll, middleware.AdminAuthorization(h.adminAuthorizeSvc, entity.AdminKindBoxGetAwaitingReturnPermission))
|
||||||
|
|
|
@ -28,18 +28,16 @@ func (h Handler) AddAddress(c echo.Context) error {
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.BenefactorID = claims.UserID
|
req.BenefactorID = claims.UserID
|
||||||
|
|
||||||
if fieldErrors, err := h.addressVld.ValidateAddAddress(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, sErr := h.addressSvc.Add(c.Request().Context(), req)
|
resp, sErr := h.addressSvc.Add(c.Request().Context(), req)
|
||||||
|
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,17 +26,16 @@ func (h Handler) DeleteAddress(c echo.Context) error {
|
||||||
}
|
}
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.BenefactorID = claims.UserID
|
req.BenefactorID = claims.UserID
|
||||||
if fieldErrors, err := h.addressVld.ValidateDeleteRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
resp, dErr := h.addressSvc.Delete(c.Request().Context(), req)
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
dErr := h.addressSvc.Delete(c.Request().Context(), req)
|
|
||||||
if dErr != nil {
|
if dErr != nil {
|
||||||
msg, code := httpmsg.Error(dErr)
|
msg, code := httpmsg.Error(dErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,17 +27,15 @@ func (h Handler) GetAddress(c echo.Context) error {
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.BenefactorID = claims.UserID
|
req.BenefactorID = claims.UserID
|
||||||
|
|
||||||
if fieldErrors, err := h.addressVld.ValidateGetAddress(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, sErr := h.addressSvc.Get(c.Request().Context(), req)
|
resp, sErr := h.addressSvc.Get(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,26 +3,19 @@ package benefactoraddresshandler
|
||||||
import (
|
import (
|
||||||
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
||||||
benefactoraddressservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/address"
|
benefactoraddressservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/address"
|
||||||
benefactoraddressvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/address"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Handler struct {
|
type Handler struct {
|
||||||
authConfig authservice.Config
|
|
||||||
authSvc authservice.Service
|
authSvc authservice.Service
|
||||||
addressSvc benefactoraddressservice.Service
|
addressSvc benefactoraddressservice.Service
|
||||||
addressVld benefactoraddressvalidator.Validator
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(
|
func New(
|
||||||
authConfig authservice.Config,
|
|
||||||
authSvc authservice.Service,
|
authSvc authservice.Service,
|
||||||
addressSvc benefactoraddressservice.Service,
|
addressSvc benefactoraddressservice.Service,
|
||||||
addressVld benefactoraddressvalidator.Validator,
|
|
||||||
) Handler {
|
) Handler {
|
||||||
return Handler{
|
return Handler{
|
||||||
authConfig: authConfig,
|
|
||||||
authSvc: authSvc,
|
authSvc: authSvc,
|
||||||
addressSvc: addressSvc,
|
addressSvc: addressSvc,
|
||||||
addressVld: addressVld,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,14 +11,14 @@ func (h Handler) SetRoutes(e *echo.Echo) {
|
||||||
|
|
||||||
r.GET("/provinces", h.GetAllProvinces)
|
r.GET("/provinces", h.GetAllProvinces)
|
||||||
r.GET("/cities", h.GetAllCities)
|
r.GET("/cities", h.GetAllCities)
|
||||||
r.POST("/", h.AddAddress, middleware.Auth(h.authSvc, h.authConfig),
|
r.POST("/", h.AddAddress, middleware.Auth(h.authSvc),
|
||||||
middleware.BenefactorAuthorization(entity.UserBenefactorRole))
|
middleware.BenefactorAuthorization(entity.UserBenefactorRole))
|
||||||
r.GET("/:id", h.GetAddress, middleware.Auth(h.authSvc, h.authConfig),
|
r.GET("/:id", h.GetAddress, middleware.Auth(h.authSvc),
|
||||||
middleware.BenefactorAuthorization(entity.UserBenefactorRole))
|
middleware.BenefactorAuthorization(entity.UserBenefactorRole))
|
||||||
r.GET("/", h.GetAddresses, middleware.Auth(h.authSvc, h.authConfig),
|
r.GET("/", h.GetAddresses, middleware.Auth(h.authSvc),
|
||||||
middleware.BenefactorAuthorization(entity.UserBenefactorRole))
|
middleware.BenefactorAuthorization(entity.UserBenefactorRole))
|
||||||
r.DELETE("/:id", h.DeleteAddress, middleware.Auth(h.authSvc, h.authConfig),
|
r.DELETE("/:id", h.DeleteAddress, middleware.Auth(h.authSvc),
|
||||||
middleware.BenefactorAuthorization(entity.UserBenefactorRole))
|
middleware.BenefactorAuthorization(entity.UserBenefactorRole))
|
||||||
r.PATCH("/:id", h.UpdateAddress, middleware.Auth(h.authSvc, h.authConfig),
|
r.PATCH("/:id", h.UpdateAddress, middleware.Auth(h.authSvc),
|
||||||
middleware.BenefactorAuthorization(entity.UserBenefactorRole))
|
middleware.BenefactorAuthorization(entity.UserBenefactorRole))
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,18 +33,15 @@ func (h Handler) UpdateAddress(c echo.Context) error {
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.BenefactorID = claims.UserID
|
req.BenefactorID = claims.UserID
|
||||||
|
|
||||||
if fieldErrors, err := h.addressVld.ValidateUpdateAddress(req); err != nil {
|
resp, sErr := h.addressSvc.Update(c.Request().Context(), req)
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
sErr := h.addressSvc.Update(c.Request().Context(), req)
|
|
||||||
|
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,25 +3,19 @@ package benefactorhandler
|
||||||
import (
|
import (
|
||||||
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
||||||
benefactorservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/benefactor"
|
benefactorservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/benefactor"
|
||||||
benefactorvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/benefactor"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Handler struct {
|
type Handler struct {
|
||||||
authConfig authservice.Config
|
|
||||||
authSvc authservice.Service
|
authSvc authservice.Service
|
||||||
benefactorSvc benefactorservice.Service
|
benefactorSvc benefactorservice.Service
|
||||||
benefactorVld benefactorvalidator.Validator
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(authConfig authservice.Config,
|
func New(
|
||||||
authSvc authservice.Service,
|
authSvc authservice.Service,
|
||||||
benefactorSvc benefactorservice.Service,
|
benefactorSvc benefactorservice.Service,
|
||||||
benefactorVld benefactorvalidator.Validator,
|
|
||||||
) Handler {
|
) Handler {
|
||||||
return Handler{
|
return Handler{
|
||||||
authConfig: authConfig,
|
|
||||||
authSvc: authSvc,
|
authSvc: authSvc,
|
||||||
benefactorSvc: benefactorSvc,
|
benefactorSvc: benefactorSvc,
|
||||||
benefactorVld: benefactorVld,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ package benefactorhandler
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
benefactoreparam "git.gocasts.ir/ebhomengo/niki/param/benefactor/benefactore"
|
benefactoreparam "git.gocasts.ir/ebhomengo/niki/param/benefactor/benefactor"
|
||||||
httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg"
|
httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg"
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
)
|
)
|
||||||
|
@ -24,17 +24,16 @@ func (h Handler) loginOrRegister(c echo.Context) error {
|
||||||
if bErr := c.Bind(&req); bErr != nil {
|
if bErr := c.Bind(&req); bErr != nil {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
if fieldErrors, err := h.benefactorVld.ValidateLoginRegisterRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, sErr := h.benefactorSvc.LoginOrRegister(c.Request().Context(), req)
|
resp, sErr := h.benefactorSvc.LoginOrRegister(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ package benefactorhandler
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
benefactoreparam "git.gocasts.ir/ebhomengo/niki/param/benefactor/benefactore"
|
benefactoreparam "git.gocasts.ir/ebhomengo/niki/param/benefactor/benefactor"
|
||||||
httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg"
|
httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg"
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
)
|
)
|
||||||
|
@ -24,17 +24,15 @@ func (h Handler) SendOtp(c echo.Context) error {
|
||||||
if bErr := c.Bind(&req); bErr != nil {
|
if bErr := c.Bind(&req); bErr != nil {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
if fieldErrors, err := h.benefactorVld.ValidateSendOtpRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, sErr := h.benefactorSvc.SendOtp(c.Request().Context(), req)
|
resp, sErr := h.benefactorSvc.SendOtp(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,17 +24,16 @@ func (h Handler) Get(c echo.Context) error {
|
||||||
if bErr := c.Bind(&req); bErr != nil {
|
if bErr := c.Bind(&req); bErr != nil {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
if fieldErrors, err := h.benefactorKindBoxVld.ValidateGetRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, sErr := h.benefactorKindBoxSvc.Get(c.Request().Context(), req)
|
resp, sErr := h.benefactorKindBoxSvc.Get(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,18 +49,16 @@ func (h Handler) GetAll(c echo.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
req.Filter = queryparam.GetFilterParams(c)
|
req.Filter = queryparam.GetFilterParams(c)
|
||||||
if fieldErrors, err := h.benefactorKindBoxVld.ValidateGetAll(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
req.Filter["benefactor_id"] = claim.GetClaimsFromEchoContext(c).UserID
|
req.Filter["benefactor_id"] = claim.GetClaimsFromEchoContext(c).UserID
|
||||||
resp, sErr := h.benefactorKindBoxSvc.GetAll(c.Request().Context(), req)
|
resp, sErr := h.benefactorKindBoxSvc.GetAll(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,23 +3,18 @@ package benefactorkindboxhandler
|
||||||
import (
|
import (
|
||||||
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
||||||
benefactorkindboxservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/kind_box"
|
benefactorkindboxservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/kind_box"
|
||||||
benefactorkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/kind_box"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Handler struct {
|
type Handler struct {
|
||||||
authConfig authservice.Config
|
|
||||||
authSvc authservice.Service
|
authSvc authservice.Service
|
||||||
benefactorKindBoxSvc benefactorkindboxservice.Service
|
benefactorKindBoxSvc benefactorkindboxservice.Service
|
||||||
benefactorKindBoxVld benefactorkindboxvalidator.Validator
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(authConfig authservice.Config, authSvc authservice.Service,
|
func New(authSvc authservice.Service,
|
||||||
benefactorKindBoxSvc benefactorkindboxservice.Service, benefactorKindBoxVld benefactorkindboxvalidator.Validator,
|
benefactorKindBoxSvc benefactorkindboxservice.Service,
|
||||||
) Handler {
|
) Handler {
|
||||||
return Handler{
|
return Handler{
|
||||||
authConfig: authConfig,
|
|
||||||
authSvc: authSvc,
|
authSvc: authSvc,
|
||||||
benefactorKindBoxSvc: benefactorKindBoxSvc,
|
benefactorKindBoxSvc: benefactorKindBoxSvc,
|
||||||
benefactorKindBoxVld: benefactorKindBoxVld,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,17 +29,15 @@ func (h Handler) RegisterEmptyingRequest(c echo.Context) error {
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.BenefactorID = claims.UserID
|
req.BenefactorID = claims.UserID
|
||||||
|
|
||||||
if fieldErrors, err := h.benefactorKindBoxVld.ValidateRegisterEmptyingRequest(req); err != nil {
|
resp, sErr := h.benefactorKindBoxSvc.RegisterEmptyingRequest(c.Request().Context(), req)
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
sErr := h.benefactorKindBoxSvc.RegisterEmptyingRequest(c.Request().Context(), req)
|
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ func (h Handler) SetRoutes(e *echo.Echo) {
|
||||||
r := e.Group("/benefactor/kindboxes")
|
r := e.Group("/benefactor/kindboxes")
|
||||||
|
|
||||||
r.Use(
|
r.Use(
|
||||||
middleware.Auth(h.authSvc, h.authConfig),
|
middleware.Auth(h.authSvc),
|
||||||
middleware.BenefactorAuthorization(entity.UserBenefactorRole),
|
middleware.BenefactorAuthorization(entity.UserBenefactorRole),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -31,17 +31,15 @@ func (h Handler) Add(c echo.Context) error {
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.BenefactorID = claims.UserID
|
req.BenefactorID = claims.UserID
|
||||||
|
|
||||||
if fieldErrors, err := h.benefactorKindBoxReqVld.ValidateAddRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, sErr := h.benefactorKindBoxReqSvc.Add(c.Request().Context(), req)
|
resp, sErr := h.benefactorKindBoxReqSvc.Add(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,153 +0,0 @@
|
||||||
package benefactorkindboxreqhandler_test
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding/json"
|
|
||||||
"net/http"
|
|
||||||
"net/http/httptest"
|
|
||||||
"testing"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/delivery/http_server/middleware"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/entity"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/param/benefactor/address"
|
|
||||||
benefactoreparam "git.gocasts.ir/ebhomengo/niki/param/benefactor/benefactore"
|
|
||||||
benefactorkindboxreqparam "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
|
||||||
testutils "git.gocasts.ir/ebhomengo/niki/test"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/test/seed"
|
|
||||||
"github.com/brianvoe/gofakeit/v6"
|
|
||||||
"github.com/labstack/echo/v4"
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestAdd(t *testing.T) {
|
|
||||||
testutils.SetupEnd2EndTest(t)
|
|
||||||
respSendOTP := testutils.SendOTP(t)
|
|
||||||
|
|
||||||
loginOrRegisterRequest := benefactoreparam.LoginOrRegisterRequest{
|
|
||||||
PhoneNumber: respSendOTP.PhoneNumber,
|
|
||||||
VerificationCode: respSendOTP.Code,
|
|
||||||
}
|
|
||||||
benefactor, cleanupBenefactor := testutils.CreateBenefactorWithSvc(t, loginOrRegisterRequest)
|
|
||||||
defer cleanupBenefactor()
|
|
||||||
benefactorAddAddressRequest := addressparam.BenefactorAddAddressRequest{
|
|
||||||
PostalCode: gofakeit.Address().Zip,
|
|
||||||
Address: gofakeit.Address().Address,
|
|
||||||
Lat: float32(gofakeit.Address().Latitude),
|
|
||||||
Lon: float32(gofakeit.Address().Longitude),
|
|
||||||
CityID: gofakeit.UintRange(1, 100),
|
|
||||||
ProvinceID: gofakeit.UintRange(1, 31),
|
|
||||||
BenefactorID: benefactor.BenefactorInfo.ID,
|
|
||||||
}
|
|
||||||
address, cleanupAddress := testutils.CreateAddressWithSvc(t, benefactorAddAddressRequest)
|
|
||||||
defer cleanupAddress()
|
|
||||||
kindboxreqResponse, _ := json.Marshal(entity.KindBoxReq{
|
|
||||||
ID: 1,
|
|
||||||
KindBoxType: entity.KindBoxCylindrical,
|
|
||||||
CountRequested: gofakeit.UintRange(1, 100),
|
|
||||||
CountAccepted: 0,
|
|
||||||
BenefactorID: benefactor.BenefactorInfo.ID,
|
|
||||||
Status: entity.KindBoxReqPendingStatus,
|
|
||||||
Description: "",
|
|
||||||
ReferDate: time.Time{},
|
|
||||||
AddressID: address.Address.ID,
|
|
||||||
})
|
|
||||||
|
|
||||||
type testCase struct {
|
|
||||||
name string
|
|
||||||
requestBody interface{}
|
|
||||||
expectedStatus int
|
|
||||||
expectedBody string
|
|
||||||
err bool
|
|
||||||
token string
|
|
||||||
}
|
|
||||||
|
|
||||||
testCases := []testCase{
|
|
||||||
{
|
|
||||||
name: "invalid payload",
|
|
||||||
requestBody: `invalid payload`,
|
|
||||||
expectedStatus: http.StatusBadRequest,
|
|
||||||
expectedBody: `{"message": "Bad request"}`,
|
|
||||||
err: true,
|
|
||||||
token: "Bearer " + benefactor.Tokens.AccessToken,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "invalid or expired jwt",
|
|
||||||
requestBody: benefactorkindboxreqparam.KindBoxReqAddRequest{
|
|
||||||
KindBoxType: 1,
|
|
||||||
AddressID: address.Address.ID,
|
|
||||||
ReferDate: time.Now(),
|
|
||||||
CountRequested: 1,
|
|
||||||
},
|
|
||||||
token: "Bearer 12" + benefactor.Tokens.AccessToken,
|
|
||||||
expectedStatus: http.StatusUnauthorized,
|
|
||||||
err: true,
|
|
||||||
expectedBody: `{"message":"invalid or expired jwt"}`,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Validation Failed",
|
|
||||||
requestBody: benefactorkindboxreqparam.KindBoxReqAddRequest{
|
|
||||||
AddressID: address.Address.ID,
|
|
||||||
ReferDate: time.Now(),
|
|
||||||
CountRequested: 2,
|
|
||||||
},
|
|
||||||
err: true,
|
|
||||||
token: "Bearer " + benefactor.Tokens.AccessToken,
|
|
||||||
expectedStatus: http.StatusUnprocessableEntity,
|
|
||||||
expectedBody: `{
|
|
||||||
"errors":{
|
|
||||||
"kind_box_type":"cannot be blank"
|
|
||||||
},
|
|
||||||
"message":"invalid input"
|
|
||||||
}`,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Added successfully",
|
|
||||||
requestBody: benefactorkindboxreqparam.KindBoxReqAddRequest{
|
|
||||||
KindBoxType: 2,
|
|
||||||
AddressID: address.Address.ID,
|
|
||||||
ReferDate: time.Now(),
|
|
||||||
CountRequested: 2,
|
|
||||||
},
|
|
||||||
token: "Bearer " + benefactor.Tokens.AccessToken,
|
|
||||||
expectedStatus: http.StatusCreated,
|
|
||||||
expectedBody: string(kindboxreqResponse),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
e := echo.New()
|
|
||||||
r := e.Group("/benefactor/kindboxreqs")
|
|
||||||
|
|
||||||
r.POST("/", testutils.BenefactorkindBoxReqHandler.Add, middleware.Auth(testutils.AuthSvc, testutils.AuthConfig),
|
|
||||||
middleware.BenefactorAuthorization(entity.UserBenefactorRole))
|
|
||||||
|
|
||||||
for _, tc := range testCases {
|
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
|
||||||
requestBody, _ := json.Marshal(tc.requestBody)
|
|
||||||
req := httptest.NewRequest(http.MethodPost, "/benefactor/kindboxreqs/", bytes.NewBuffer(requestBody))
|
|
||||||
|
|
||||||
req.Header.Set(echo.HeaderContentType, echo.MIMEApplicationJSON)
|
|
||||||
req.Header.Set(echo.HeaderAuthorization, tc.token)
|
|
||||||
|
|
||||||
rec := httptest.NewRecorder()
|
|
||||||
|
|
||||||
e.ServeHTTP(rec, req)
|
|
||||||
|
|
||||||
// Assertion
|
|
||||||
assert.Equal(t, tc.expectedStatus, rec.Code)
|
|
||||||
|
|
||||||
if tc.err {
|
|
||||||
assert.JSONEq(t, tc.expectedBody, rec.Body.String())
|
|
||||||
return
|
|
||||||
}
|
|
||||||
response := &benefactorkindboxreqparam.KindBoxReqAddResponse{}
|
|
||||||
err := json.Unmarshal(
|
|
||||||
rec.Body.Bytes(),
|
|
||||||
response,
|
|
||||||
)
|
|
||||||
assert.Nil(t, err, "error in deserializing the request")
|
|
||||||
seed.DeleteBenefactor(t, testutils.MysqlRepo, response.KindBoxReq.ID)
|
|
||||||
assert.NotEmpty(t, response.KindBoxReq)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,17 +27,16 @@ func (h Handler) Delete(c echo.Context) error {
|
||||||
}
|
}
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.BenefactorID = claims.UserID
|
req.BenefactorID = claims.UserID
|
||||||
if fieldErrors, err := h.benefactorKindBoxReqVld.ValidateDeleteRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, dErr := h.benefactorKindBoxReqSvc.Delete(c.Request().Context(), req)
|
resp, dErr := h.benefactorKindBoxReqSvc.Delete(c.Request().Context(), req)
|
||||||
if dErr != nil {
|
if dErr != nil {
|
||||||
msg, code := httpmsg.Error(dErr)
|
msg, code := httpmsg.Error(dErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,17 +27,15 @@ func (h Handler) Get(c echo.Context) error {
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.BenefactorID = claims.UserID
|
req.BenefactorID = claims.UserID
|
||||||
|
|
||||||
if fieldErrors, err := h.benefactorKindBoxReqVld.ValidateGetRequest(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
resp, sErr := h.benefactorKindBoxReqSvc.Get(c.Request().Context(), req)
|
resp, sErr := h.benefactorKindBoxReqSvc.Get(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,19 +41,17 @@ func (h Handler) GetAll(c echo.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
req.Filter = queryparam.GetFilterParams(c)
|
req.Filter = queryparam.GetFilterParams(c)
|
||||||
if fieldErrors, err := h.benefactorKindBoxReqVld.ValidateGetAll(req); err != nil {
|
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
req.Filter["benefactor_id"] = claim.GetClaimsFromEchoContext(c).UserID
|
req.Filter["benefactor_id"] = claim.GetClaimsFromEchoContext(c).UserID
|
||||||
|
|
||||||
resp, sErr := h.benefactorKindBoxReqSvc.GetAll(c.Request().Context(), req)
|
resp, sErr := h.benefactorKindBoxReqSvc.GetAll(c.Request().Context(), req)
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,23 +3,18 @@ package benefactorkindboxreqhandler
|
||||||
import (
|
import (
|
||||||
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
||||||
benefactorkindboxreqservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/kind_box_req"
|
benefactorkindboxreqservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/kind_box_req"
|
||||||
benefactorkindboxreqvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/kind_box_req"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Handler struct {
|
type Handler struct {
|
||||||
authConfig authservice.Config
|
|
||||||
authSvc authservice.Service
|
authSvc authservice.Service
|
||||||
benefactorKindBoxReqSvc benefactorkindboxreqservice.Service
|
benefactorKindBoxReqSvc benefactorkindboxreqservice.Service
|
||||||
benefactorKindBoxReqVld benefactorkindboxreqvalidator.Validator
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(authConfig authservice.Config, authSvc authservice.Service,
|
func New(authSvc authservice.Service,
|
||||||
benefactorKindBoxReqSvc benefactorkindboxreqservice.Service, benefactorKindBoxReqVld benefactorkindboxreqvalidator.Validator,
|
benefactorKindBoxReqSvc benefactorkindboxreqservice.Service,
|
||||||
) Handler {
|
) Handler {
|
||||||
return Handler{
|
return Handler{
|
||||||
authConfig: authConfig,
|
|
||||||
authSvc: authSvc,
|
authSvc: authSvc,
|
||||||
benefactorKindBoxReqSvc: benefactorKindBoxReqSvc,
|
benefactorKindBoxReqSvc: benefactorKindBoxReqSvc,
|
||||||
benefactorKindBoxReqVld: benefactorKindBoxReqVld,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ func (h Handler) SetRoutes(e *echo.Echo) {
|
||||||
r := e.Group("/benefactor/kindboxreqs")
|
r := e.Group("/benefactor/kindboxreqs")
|
||||||
|
|
||||||
r.Use(
|
r.Use(
|
||||||
middleware.Auth(h.authSvc, h.authConfig),
|
middleware.Auth(h.authSvc),
|
||||||
middleware.BenefactorAuthorization(entity.UserBenefactorRole),
|
middleware.BenefactorAuthorization(entity.UserBenefactorRole),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -33,18 +33,15 @@ func (h Handler) Update(c echo.Context) error {
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
req.BenefactorID = claims.UserID
|
req.BenefactorID = claims.UserID
|
||||||
|
|
||||||
if fieldErrors, err := h.benefactorKindBoxReqVld.ValidateUpdateRequest(req); err != nil {
|
resp, sErr := h.benefactorKindBoxReqSvc.Update(c.Request().Context(), req)
|
||||||
msg, code := httpmsg.Error(err)
|
|
||||||
|
|
||||||
return c.JSON(code, echo.Map{
|
|
||||||
"message": msg,
|
|
||||||
"errors": fieldErrors,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
sErr := h.benefactorKindBoxReqSvc.Update(c.Request().Context(), req)
|
|
||||||
if sErr != nil {
|
if sErr != nil {
|
||||||
msg, code := httpmsg.Error(sErr)
|
msg, code := httpmsg.Error(sErr)
|
||||||
|
if resp.FieldErrors != nil {
|
||||||
|
return c.JSON(code, echo.Map{
|
||||||
|
"message": msg,
|
||||||
|
"errors": resp.FieldErrors,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ func AdminAuthorization(service adminauthorizationservice.Service,
|
||||||
return func(c echo.Context) (err error) {
|
return func(c echo.Context) (err error) {
|
||||||
claims := claim.GetClaimsFromEchoContext(c)
|
claims := claim.GetClaimsFromEchoContext(c)
|
||||||
|
|
||||||
isAllowed, err := service.CheckAccess(claims.UserID, entity.MapToAdminRole(claims.Role), permissions...)
|
isAllowed, err := service.CheckAccess(c.Request().Context(), claims.UserID, entity.MapToAdminRole(claims.Role), permissions...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return echo.NewHTTPError(http.StatusInternalServerError, errmsg.ErrorMsgSomethingWentWrong)
|
return echo.NewHTTPError(http.StatusInternalServerError, errmsg.ErrorMsgSomethingWentWrong)
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,10 +7,10 @@ import (
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Auth(service authservice.Service, cfg authservice.Config) echo.MiddlewareFunc {
|
func Auth(service authservice.Service) echo.MiddlewareFunc {
|
||||||
return mw.WithConfig(mw.Config{
|
return mw.WithConfig(mw.Config{
|
||||||
ContextKey: config.AuthMiddlewareContextKey,
|
ContextKey: config.AuthMiddlewareContextKey,
|
||||||
SigningKey: []byte(cfg.SignKey),
|
SigningKey: []byte(service.Config.SignKey),
|
||||||
// TODO - as sign method string to config
|
// TODO - as sign method string to config
|
||||||
SigningMethod: "HS256",
|
SigningMethod: "HS256",
|
||||||
ParseTokenFunc: func(c echo.Context, auth string) (interface{}, error) {
|
ParseTokenFunc: func(c echo.Context, auth string) (interface{}, error) {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/config"
|
"git.gocasts.ir/ebhomengo/niki/config"
|
||||||
adminhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/admin/admin"
|
adminhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/admin/admin"
|
||||||
|
adminagenthandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/admin/agent"
|
||||||
adminKindBoxHandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/admin/kind_box"
|
adminKindBoxHandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/admin/kind_box"
|
||||||
adminkindboxreqhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/admin/kind_box_req"
|
adminkindboxreqhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/admin/kind_box_req"
|
||||||
agentkindboxhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/agent/kind_box"
|
agentkindboxhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/agent/kind_box"
|
||||||
|
@ -13,25 +14,7 @@ import (
|
||||||
benefactorkindboxhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/benefactor/kind_box"
|
benefactorkindboxhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/benefactor/kind_box"
|
||||||
benefactorkindboxreqhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/benefactor/kind_box_req"
|
benefactorkindboxreqhandler "git.gocasts.ir/ebhomengo/niki/delivery/http_server/benefactor/kind_box_req"
|
||||||
"git.gocasts.ir/ebhomengo/niki/docs"
|
"git.gocasts.ir/ebhomengo/niki/docs"
|
||||||
adminservice "git.gocasts.ir/ebhomengo/niki/service/admin/admin"
|
"git.gocasts.ir/ebhomengo/niki/service"
|
||||||
adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
|
|
||||||
adminkindboxservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box"
|
|
||||||
adminkindboxreqservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box_req"
|
|
||||||
agentkindboxservice "git.gocasts.ir/ebhomengo/niki/service/agent/kind_box"
|
|
||||||
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
|
||||||
benefactoraddressservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/address"
|
|
||||||
benefactorservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/benefactor"
|
|
||||||
benefactorkindboxservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/kind_box"
|
|
||||||
benefactorkindboxreqservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/kind_box_req"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/service/notification"
|
|
||||||
adminvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/admin"
|
|
||||||
adminkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/kind_box"
|
|
||||||
adminkindboxreqvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/kind_box_req"
|
|
||||||
agentkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/agent/kind_box"
|
|
||||||
benefactoraddressvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/address"
|
|
||||||
benefactorvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/benefactor"
|
|
||||||
benefactorkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/kind_box"
|
|
||||||
benefactorkindboxreqvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/kind_box_req"
|
|
||||||
echo "github.com/labstack/echo/v4"
|
echo "github.com/labstack/echo/v4"
|
||||||
middleware "github.com/labstack/echo/v4/middleware"
|
middleware "github.com/labstack/echo/v4/middleware"
|
||||||
echoSwagger "github.com/swaggo/echo-swagger"
|
echoSwagger "github.com/swaggo/echo-swagger"
|
||||||
|
@ -40,50 +23,33 @@ import (
|
||||||
type Server struct {
|
type Server struct {
|
||||||
config config.Config
|
config config.Config
|
||||||
Router *echo.Echo
|
Router *echo.Echo
|
||||||
|
adminHandler adminhandler.Handler
|
||||||
|
adminKindBoxReqHandler adminkindboxreqhandler.Handler
|
||||||
|
adminKindBoxHandler adminKindBoxHandler.Handler
|
||||||
|
adminAgentHandler adminagenthandler.Handler
|
||||||
|
agentKindBoxHandler agentkindboxhandler.Handler
|
||||||
benefactorHandler benefactorhandler.Handler
|
benefactorHandler benefactorhandler.Handler
|
||||||
benefactorKindBoxReqHandler benefactorkindboxreqhandler.Handler
|
benefactorKindBoxReqHandler benefactorkindboxreqhandler.Handler
|
||||||
benefactorAddressHandler benefactoraddresshandler.Handler
|
benefactorAddressHandler benefactoraddresshandler.Handler
|
||||||
benefactorKindBoxHandler benefactorkindboxhandler.Handler
|
benefactorKindBoxHandler benefactorkindboxhandler.Handler
|
||||||
adminHandler adminhandler.Handler
|
|
||||||
adminKindBoxReqHandler adminkindboxreqhandler.Handler
|
|
||||||
adminKindBoxHandler adminKindBoxHandler.Handler
|
|
||||||
agentKindBoxHandler agentkindboxhandler.Handler
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(
|
func New(
|
||||||
cfg config.Config,
|
cfg config.Config,
|
||||||
benefactorSvc benefactorservice.Service,
|
svc *service.Service,
|
||||||
benefactorVld benefactorvalidator.Validator,
|
) *Server {
|
||||||
benefactorAuthSvc authservice.Service,
|
return &Server{
|
||||||
benefactorKindBoxReqSvc benefactorkindboxreqservice.Service,
|
|
||||||
benefactorKindBoxReqVld benefactorkindboxreqvalidator.Validator,
|
|
||||||
benefactorAddressSvc benefactoraddressservice.Service,
|
|
||||||
benefactorAddressVld benefactoraddressvalidator.Validator,
|
|
||||||
benefactorKindBoxSvc benefactorkindboxservice.Service,
|
|
||||||
benefactorKindBoxVld benefactorkindboxvalidator.Validator,
|
|
||||||
adminSvc adminservice.Service,
|
|
||||||
adminVld adminvalidator.Validator,
|
|
||||||
adminAuthSvc authservice.Service,
|
|
||||||
adminKinBoxReqSvc adminkindboxreqservice.Service,
|
|
||||||
adminKinBoxReqVld adminkindboxreqvalidator.Validator,
|
|
||||||
adminAuthorizeSvc adminauthorizationservice.Service,
|
|
||||||
adminKindBoxSvc adminkindboxservice.Service,
|
|
||||||
adminKindBoxVld adminkindboxvalidator.Validator,
|
|
||||||
agentKindBoxSvc agentkindboxservice.Service,
|
|
||||||
agentKindBoxVld agentkindboxvalidator.Validator,
|
|
||||||
notificationSvc notification.Service,
|
|
||||||
) Server {
|
|
||||||
return Server{
|
|
||||||
Router: echo.New(),
|
Router: echo.New(),
|
||||||
config: cfg,
|
config: cfg,
|
||||||
benefactorHandler: benefactorhandler.New(cfg.Auth, benefactorAuthSvc, benefactorSvc, benefactorVld),
|
adminHandler: adminhandler.New(svc.AdminAuthSvc, svc.AdminSvc, svc.AdminAuthorizeSvc),
|
||||||
benefactorKindBoxReqHandler: benefactorkindboxreqhandler.New(cfg.Auth, benefactorAuthSvc, benefactorKindBoxReqSvc, benefactorKindBoxReqVld),
|
adminKindBoxReqHandler: adminkindboxreqhandler.New(svc.AdminAuthSvc, svc.AdminKindBoxReqSvc, svc.AdminAuthorizeSvc, svc.NotificationSvc),
|
||||||
benefactorAddressHandler: benefactoraddresshandler.New(cfg.Auth, benefactorAuthSvc, benefactorAddressSvc, benefactorAddressVld),
|
adminKindBoxHandler: adminKindBoxHandler.New(svc.AdminAuthSvc, svc.AdminKindBoxSvc, svc.AdminAuthorizeSvc),
|
||||||
benefactorKindBoxHandler: benefactorkindboxhandler.New(cfg.Auth, benefactorAuthSvc, benefactorKindBoxSvc, benefactorKindBoxVld),
|
adminAgentHandler: adminagenthandler.New(svc.AdminAuthSvc, svc.AdminAgentSvc, svc.AdminAuthorizeSvc),
|
||||||
adminHandler: adminhandler.New(cfg.AdminAuth, adminAuthSvc, adminSvc, adminVld, adminAuthorizeSvc),
|
agentKindBoxHandler: agentkindboxhandler.New(svc.AdminAuthSvc, svc.AgentKindBoxSvc, svc.AdminAuthorizeSvc),
|
||||||
adminKindBoxReqHandler: adminkindboxreqhandler.New(cfg.Auth, adminAuthSvc, adminKinBoxReqSvc, adminKinBoxReqVld, adminAuthorizeSvc, notificationSvc),
|
benefactorHandler: benefactorhandler.New(svc.BenefactorAuthSvc, svc.BenefactorSvc),
|
||||||
adminKindBoxHandler: adminKindBoxHandler.New(cfg.Auth, adminAuthSvc, adminKindBoxSvc, adminKindBoxVld, adminAuthorizeSvc),
|
benefactorKindBoxReqHandler: benefactorkindboxreqhandler.New(svc.BenefactorAuthSvc, svc.BenefactorKindBoxReqSvc),
|
||||||
agentKindBoxHandler: agentkindboxhandler.New(cfg.AdminAuth, adminAuthSvc, agentKindBoxSvc, agentKindBoxVld, adminAuthorizeSvc),
|
benefactorAddressHandler: benefactoraddresshandler.New(svc.BenefactorAuthSvc, svc.BenefactorAddressSvc),
|
||||||
|
benefactorKindBoxHandler: benefactorkindboxhandler.New(svc.BenefactorAuthSvc, svc.BenefactorKindBoxSvc),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
353
docs/docs.go
353
docs/docs.go
|
@ -810,11 +810,11 @@ const docTemplate = `{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"on-table",
|
||||||
2,
|
"cylindrical",
|
||||||
3
|
"stand-up"
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"format": "enum",
|
"format": "enum",
|
||||||
"description": "Filter by KindBox type",
|
"description": "Filter by KindBox type",
|
||||||
"name": "filter_kind_box_type",
|
"name": "filter_kind_box_type",
|
||||||
|
@ -1119,7 +1119,7 @@ const docTemplate = `{
|
||||||
"200": {
|
"200": {
|
||||||
"description": "OK",
|
"description": "OK",
|
||||||
"schema": {
|
"schema": {
|
||||||
"$ref": "#/definitions/adminserviceparam.GetAllAgentResponse"
|
"$ref": "#/definitions/adminagentparam.GetAllAgentResponse"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"400": {
|
"400": {
|
||||||
|
@ -1170,11 +1170,11 @@ const docTemplate = `{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"on-table",
|
||||||
2,
|
"cylindrical",
|
||||||
3
|
"stand-up"
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"format": "enum",
|
"format": "enum",
|
||||||
"description": "Filter by KindBox type",
|
"description": "Filter by KindBox type",
|
||||||
"name": "filter_kind_box_type",
|
"name": "filter_kind_box_type",
|
||||||
|
@ -1182,13 +1182,13 @@ const docTemplate = `{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"pending",
|
||||||
2,
|
"accepted",
|
||||||
3,
|
"assigned-sender-agent",
|
||||||
4,
|
"rejected",
|
||||||
5
|
"delivered"
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"format": "enum",
|
"format": "enum",
|
||||||
"description": "Filter by KindBoxReq status",
|
"description": "Filter by KindBoxReq status",
|
||||||
"name": "filter_status",
|
"name": "filter_status",
|
||||||
|
@ -1496,11 +1496,11 @@ const docTemplate = `{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"on-table",
|
||||||
2,
|
"cylindrical",
|
||||||
3
|
"stand-up"
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"format": "enum",
|
"format": "enum",
|
||||||
"description": "Filter by KindBox type",
|
"description": "Filter by KindBox type",
|
||||||
"name": "filter_type",
|
"name": "filter_type",
|
||||||
|
@ -2075,11 +2075,11 @@ const docTemplate = `{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"on-table",
|
||||||
2,
|
"cylindrical",
|
||||||
3
|
"stand-up"
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"format": "enum",
|
"format": "enum",
|
||||||
"description": "Filter by KindBox type",
|
"description": "Filter by KindBox type",
|
||||||
"name": "filter_kind_box_type",
|
"name": "filter_kind_box_type",
|
||||||
|
@ -2495,6 +2495,12 @@ const docTemplate = `{
|
||||||
"properties": {
|
"properties": {
|
||||||
"address": {
|
"address": {
|
||||||
"$ref": "#/definitions/entity.Address"
|
"$ref": "#/definitions/entity.Address"
|
||||||
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2503,6 +2509,12 @@ const docTemplate = `{
|
||||||
"properties": {
|
"properties": {
|
||||||
"address": {
|
"address": {
|
||||||
"$ref": "#/definitions/entity.Address"
|
"$ref": "#/definitions/entity.Address"
|
||||||
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2568,6 +2580,38 @@ const docTemplate = `{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"adminagentparam.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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"adminagentparam.GetAllAgentResponse": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"agents": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/adminagentparam.Agent"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"adminkindboxparam.AssignReceiverRequest": {
|
"adminkindboxparam.AssignReceiverRequest": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -2593,6 +2637,12 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBox"
|
"$ref": "#/definitions/entity.KindBox"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -2619,6 +2669,12 @@ const docTemplate = `{
|
||||||
"deliveredAt": {
|
"deliveredAt": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -2663,7 +2719,15 @@ const docTemplate = `{
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adminkindboxreqparam.AssignSenderResponse": {
|
"adminkindboxreqparam.AssignSenderResponse": {
|
||||||
"type": "object"
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"adminkindboxreqparam.DeliverKindBoxReqRequest": {
|
"adminkindboxreqparam.DeliverKindBoxReqRequest": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
|
@ -2682,7 +2746,15 @@ const docTemplate = `{
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adminkindboxreqparam.DeliverKindBoxReqResponse": {
|
"adminkindboxreqparam.DeliverKindBoxReqResponse": {
|
||||||
"type": "object"
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"adminkindboxreqparam.DeliveryAwaitingGetAllResponse": {
|
"adminkindboxreqparam.DeliveryAwaitingGetAllResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
|
@ -2693,6 +2765,12 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -2725,6 +2803,12 @@ const docTemplate = `{
|
||||||
"description": {
|
"description": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -2766,6 +2850,12 @@ const docTemplate = `{
|
||||||
"description": {
|
"description": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -2803,6 +2893,12 @@ const docTemplate = `{
|
||||||
"deliver_refer_date": {
|
"deliver_refer_date": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"kind_box_req_id": {
|
"kind_box_req_id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -2836,13 +2932,19 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBoxType"
|
"$ref": "#/definitions/entity.KindBoxType"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "on-table"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adminkindboxreqparam.KindBoxReqAddResponse": {
|
"adminkindboxreqparam.KindBoxReqAddResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"kindBoxReq": {
|
"kindBoxReq": {
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
|
@ -2857,6 +2959,12 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -2894,6 +3002,12 @@ const docTemplate = `{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "description"
|
"example": "description"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"example": 1
|
"example": 1
|
||||||
|
@ -2904,7 +3018,7 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBoxType"
|
"$ref": "#/definitions/entity.KindBoxType"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "on-table"
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
|
@ -2912,7 +3026,7 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBoxReqStatus"
|
"$ref": "#/definitions/entity.KindBoxReqStatus"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "pending"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2949,7 +3063,7 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBoxType"
|
"$ref": "#/definitions/entity.KindBoxType"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 2
|
"example": "cylindrical"
|
||||||
},
|
},
|
||||||
"sender_agent_id": {
|
"sender_agent_id": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
|
@ -2978,7 +3092,7 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.Gender"
|
"$ref": "#/definitions/entity.Gender"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "male"
|
||||||
},
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
|
@ -3006,39 +3120,7 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.AdminStatus"
|
"$ref": "#/definitions/entity.AdminStatus"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "active"
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3061,6 +3143,12 @@ const docTemplate = `{
|
||||||
"admin_info": {
|
"admin_info": {
|
||||||
"$ref": "#/definitions/adminserviceparam.AdminInfo"
|
"$ref": "#/definitions/adminserviceparam.AdminInfo"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"tokens": {
|
"tokens": {
|
||||||
"$ref": "#/definitions/adminserviceparam.Tokens"
|
"$ref": "#/definitions/adminserviceparam.Tokens"
|
||||||
}
|
}
|
||||||
|
@ -3087,7 +3175,7 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.Gender"
|
"$ref": "#/definitions/entity.Gender"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "male"
|
||||||
},
|
},
|
||||||
"last_name": {
|
"last_name": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
@ -3115,7 +3203,7 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.AdminStatus"
|
"$ref": "#/definitions/entity.AdminStatus"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "active"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3124,6 +3212,12 @@ const docTemplate = `{
|
||||||
"properties": {
|
"properties": {
|
||||||
"admin": {
|
"admin": {
|
||||||
"$ref": "#/definitions/entity.Admin"
|
"$ref": "#/definitions/entity.Admin"
|
||||||
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3147,6 +3241,12 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBox"
|
"$ref": "#/definitions/entity.KindBox"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -3173,6 +3273,12 @@ const docTemplate = `{
|
||||||
"deliveredAt": {
|
"deliveredAt": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -3232,7 +3338,11 @@ const docTemplate = `{
|
||||||
"example": "rez"
|
"example": "rez"
|
||||||
},
|
},
|
||||||
"role": {
|
"role": {
|
||||||
"type": "string",
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/definitions/entity.UserRole"
|
||||||
|
}
|
||||||
|
],
|
||||||
"example": "benefactor"
|
"example": "benefactor"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3256,6 +3366,12 @@ const docTemplate = `{
|
||||||
"benefactore_info": {
|
"benefactore_info": {
|
||||||
"$ref": "#/definitions/benefactoreparam.BenefactroInfo"
|
"$ref": "#/definitions/benefactoreparam.BenefactroInfo"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"tokens": {
|
"tokens": {
|
||||||
"$ref": "#/definitions/benefactoreparam.Tokens"
|
"$ref": "#/definitions/benefactoreparam.Tokens"
|
||||||
}
|
}
|
||||||
|
@ -3277,6 +3393,12 @@ const docTemplate = `{
|
||||||
"description": "this just use in test .env\n\t\tTODO - remove it after test",
|
"description": "this just use in test .env\n\t\tTODO - remove it after test",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"phone_number": {
|
"phone_number": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "09198829528"
|
"example": "09198829528"
|
||||||
|
@ -3303,6 +3425,12 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBox"
|
"$ref": "#/definitions/entity.KindBox"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -3329,6 +3457,12 @@ const docTemplate = `{
|
||||||
"deliveredAt": {
|
"deliveredAt": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -3390,6 +3524,12 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -3424,24 +3564,44 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBoxType"
|
"$ref": "#/definitions/entity.KindBoxType"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "on-table"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"benefactorkindboxreqparam.KindBoxReqAddResponse": {
|
"benefactorkindboxreqparam.KindBoxReqAddResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"kind_box_req": {
|
"kind_box_req": {
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"benefactorkindboxreqparam.KindBoxReqDeleteResponse": {
|
"benefactorkindboxreqparam.KindBoxReqDeleteResponse": {
|
||||||
"type": "object"
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"benefactorkindboxreqparam.KindBoxReqGetResponse": {
|
"benefactorkindboxreqparam.KindBoxReqGetResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"kind_box_req": {
|
"kind_box_req": {
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
|
@ -3476,7 +3636,7 @@ const docTemplate = `{
|
||||||
"$ref": "#/definitions/entity.KindBoxType"
|
"$ref": "#/definitions/entity.KindBoxType"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 2
|
"example": "cylindrical"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3561,10 +3721,10 @@ const docTemplate = `{
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"entity.AdminStatus": {
|
"entity.AdminStatus": {
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"active",
|
||||||
2
|
"inactive"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"AdminActiveStatus",
|
"AdminActiveStatus",
|
||||||
|
@ -3586,10 +3746,10 @@ const docTemplate = `{
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"entity.Gender": {
|
"entity.Gender": {
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"male",
|
||||||
2
|
"female"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"MaleGender",
|
"MaleGender",
|
||||||
|
@ -3694,13 +3854,13 @@ const docTemplate = `{
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"entity.KindBoxReqStatus": {
|
"entity.KindBoxReqStatus": {
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"pending",
|
||||||
2,
|
"accepted",
|
||||||
3,
|
"assigned-sender-agent",
|
||||||
4,
|
"rejected",
|
||||||
5
|
"delivered"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"KindBoxReqPendingStatus",
|
"KindBoxReqPendingStatus",
|
||||||
|
@ -3711,13 +3871,13 @@ const docTemplate = `{
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"entity.KindBoxStatus": {
|
"entity.KindBoxStatus": {
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"delivered",
|
||||||
2,
|
"ready-to-return",
|
||||||
3,
|
"assigned-receiver-agent",
|
||||||
4,
|
"returned",
|
||||||
5
|
"enumerated"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"KindBoxDeliveredStatus",
|
"KindBoxDeliveredStatus",
|
||||||
|
@ -3728,11 +3888,11 @@ const docTemplate = `{
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"entity.KindBoxType": {
|
"entity.KindBoxType": {
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"on-table",
|
||||||
2,
|
"cylindrical",
|
||||||
3
|
"stand-up"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"KindBoxOnTable",
|
"KindBoxOnTable",
|
||||||
|
@ -3751,6 +3911,15 @@ const docTemplate = `{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"entity.UserRole": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"benefactor"
|
||||||
|
],
|
||||||
|
"x-enum-varnames": [
|
||||||
|
"UserBenefactorRole"
|
||||||
|
]
|
||||||
|
},
|
||||||
"httpmsg.ErrorResponse": {
|
"httpmsg.ErrorResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -3785,7 +3954,7 @@ const docTemplate = `{
|
||||||
},
|
},
|
||||||
"securityDefinitions": {
|
"securityDefinitions": {
|
||||||
"AuthBearerAdmin": {
|
"AuthBearerAdmin": {
|
||||||
"description": "Type the word 'Bearer' followed by a space and Admin JWT token",
|
"description": "Type the word 'Bearer' followed by a space and Admin JWT token.",
|
||||||
"type": "apiKey",
|
"type": "apiKey",
|
||||||
"name": "Authorization",
|
"name": "Authorization",
|
||||||
"in": "header"
|
"in": "header"
|
||||||
|
|
|
@ -799,11 +799,11 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"on-table",
|
||||||
2,
|
"cylindrical",
|
||||||
3
|
"stand-up"
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"format": "enum",
|
"format": "enum",
|
||||||
"description": "Filter by KindBox type",
|
"description": "Filter by KindBox type",
|
||||||
"name": "filter_kind_box_type",
|
"name": "filter_kind_box_type",
|
||||||
|
@ -1108,7 +1108,7 @@
|
||||||
"200": {
|
"200": {
|
||||||
"description": "OK",
|
"description": "OK",
|
||||||
"schema": {
|
"schema": {
|
||||||
"$ref": "#/definitions/adminserviceparam.GetAllAgentResponse"
|
"$ref": "#/definitions/adminagentparam.GetAllAgentResponse"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"400": {
|
"400": {
|
||||||
|
@ -1159,11 +1159,11 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"on-table",
|
||||||
2,
|
"cylindrical",
|
||||||
3
|
"stand-up"
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"format": "enum",
|
"format": "enum",
|
||||||
"description": "Filter by KindBox type",
|
"description": "Filter by KindBox type",
|
||||||
"name": "filter_kind_box_type",
|
"name": "filter_kind_box_type",
|
||||||
|
@ -1171,13 +1171,13 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"pending",
|
||||||
2,
|
"accepted",
|
||||||
3,
|
"assigned-sender-agent",
|
||||||
4,
|
"rejected",
|
||||||
5
|
"delivered"
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"format": "enum",
|
"format": "enum",
|
||||||
"description": "Filter by KindBoxReq status",
|
"description": "Filter by KindBoxReq status",
|
||||||
"name": "filter_status",
|
"name": "filter_status",
|
||||||
|
@ -1485,11 +1485,11 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"on-table",
|
||||||
2,
|
"cylindrical",
|
||||||
3
|
"stand-up"
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"format": "enum",
|
"format": "enum",
|
||||||
"description": "Filter by KindBox type",
|
"description": "Filter by KindBox type",
|
||||||
"name": "filter_type",
|
"name": "filter_type",
|
||||||
|
@ -2064,11 +2064,11 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"on-table",
|
||||||
2,
|
"cylindrical",
|
||||||
3
|
"stand-up"
|
||||||
],
|
],
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"format": "enum",
|
"format": "enum",
|
||||||
"description": "Filter by KindBox type",
|
"description": "Filter by KindBox type",
|
||||||
"name": "filter_kind_box_type",
|
"name": "filter_kind_box_type",
|
||||||
|
@ -2484,6 +2484,12 @@
|
||||||
"properties": {
|
"properties": {
|
||||||
"address": {
|
"address": {
|
||||||
"$ref": "#/definitions/entity.Address"
|
"$ref": "#/definitions/entity.Address"
|
||||||
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2492,6 +2498,12 @@
|
||||||
"properties": {
|
"properties": {
|
||||||
"address": {
|
"address": {
|
||||||
"$ref": "#/definitions/entity.Address"
|
"$ref": "#/definitions/entity.Address"
|
||||||
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2557,6 +2569,38 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"adminagentparam.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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"adminagentparam.GetAllAgentResponse": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"agents": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/adminagentparam.Agent"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"adminkindboxparam.AssignReceiverRequest": {
|
"adminkindboxparam.AssignReceiverRequest": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -2582,6 +2626,12 @@
|
||||||
"$ref": "#/definitions/entity.KindBox"
|
"$ref": "#/definitions/entity.KindBox"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -2608,6 +2658,12 @@
|
||||||
"deliveredAt": {
|
"deliveredAt": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -2652,7 +2708,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adminkindboxreqparam.AssignSenderResponse": {
|
"adminkindboxreqparam.AssignSenderResponse": {
|
||||||
"type": "object"
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"adminkindboxreqparam.DeliverKindBoxReqRequest": {
|
"adminkindboxreqparam.DeliverKindBoxReqRequest": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
|
@ -2671,7 +2735,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adminkindboxreqparam.DeliverKindBoxReqResponse": {
|
"adminkindboxreqparam.DeliverKindBoxReqResponse": {
|
||||||
"type": "object"
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"adminkindboxreqparam.DeliveryAwaitingGetAllResponse": {
|
"adminkindboxreqparam.DeliveryAwaitingGetAllResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
|
@ -2682,6 +2754,12 @@
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -2714,6 +2792,12 @@
|
||||||
"description": {
|
"description": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -2755,6 +2839,12 @@
|
||||||
"description": {
|
"description": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -2792,6 +2882,12 @@
|
||||||
"deliver_refer_date": {
|
"deliver_refer_date": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"kind_box_req_id": {
|
"kind_box_req_id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -2825,13 +2921,19 @@
|
||||||
"$ref": "#/definitions/entity.KindBoxType"
|
"$ref": "#/definitions/entity.KindBoxType"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "on-table"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adminkindboxreqparam.KindBoxReqAddResponse": {
|
"adminkindboxreqparam.KindBoxReqAddResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"kindBoxReq": {
|
"kindBoxReq": {
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
|
@ -2846,6 +2948,12 @@
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -2883,6 +2991,12 @@
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "description"
|
"example": "description"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"example": 1
|
"example": 1
|
||||||
|
@ -2893,7 +3007,7 @@
|
||||||
"$ref": "#/definitions/entity.KindBoxType"
|
"$ref": "#/definitions/entity.KindBoxType"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "on-table"
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
|
@ -2901,7 +3015,7 @@
|
||||||
"$ref": "#/definitions/entity.KindBoxReqStatus"
|
"$ref": "#/definitions/entity.KindBoxReqStatus"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "pending"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2938,7 +3052,7 @@
|
||||||
"$ref": "#/definitions/entity.KindBoxType"
|
"$ref": "#/definitions/entity.KindBoxType"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 2
|
"example": "cylindrical"
|
||||||
},
|
},
|
||||||
"sender_agent_id": {
|
"sender_agent_id": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
|
@ -2967,7 +3081,7 @@
|
||||||
"$ref": "#/definitions/entity.Gender"
|
"$ref": "#/definitions/entity.Gender"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "male"
|
||||||
},
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
|
@ -2995,39 +3109,7 @@
|
||||||
"$ref": "#/definitions/entity.AdminStatus"
|
"$ref": "#/definitions/entity.AdminStatus"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "active"
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3050,6 +3132,12 @@
|
||||||
"admin_info": {
|
"admin_info": {
|
||||||
"$ref": "#/definitions/adminserviceparam.AdminInfo"
|
"$ref": "#/definitions/adminserviceparam.AdminInfo"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"tokens": {
|
"tokens": {
|
||||||
"$ref": "#/definitions/adminserviceparam.Tokens"
|
"$ref": "#/definitions/adminserviceparam.Tokens"
|
||||||
}
|
}
|
||||||
|
@ -3076,7 +3164,7 @@
|
||||||
"$ref": "#/definitions/entity.Gender"
|
"$ref": "#/definitions/entity.Gender"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "male"
|
||||||
},
|
},
|
||||||
"last_name": {
|
"last_name": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
@ -3104,7 +3192,7 @@
|
||||||
"$ref": "#/definitions/entity.AdminStatus"
|
"$ref": "#/definitions/entity.AdminStatus"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "active"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3113,6 +3201,12 @@
|
||||||
"properties": {
|
"properties": {
|
||||||
"admin": {
|
"admin": {
|
||||||
"$ref": "#/definitions/entity.Admin"
|
"$ref": "#/definitions/entity.Admin"
|
||||||
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3136,6 +3230,12 @@
|
||||||
"$ref": "#/definitions/entity.KindBox"
|
"$ref": "#/definitions/entity.KindBox"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -3162,6 +3262,12 @@
|
||||||
"deliveredAt": {
|
"deliveredAt": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -3221,7 +3327,11 @@
|
||||||
"example": "rez"
|
"example": "rez"
|
||||||
},
|
},
|
||||||
"role": {
|
"role": {
|
||||||
"type": "string",
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/definitions/entity.UserRole"
|
||||||
|
}
|
||||||
|
],
|
||||||
"example": "benefactor"
|
"example": "benefactor"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3245,6 +3355,12 @@
|
||||||
"benefactore_info": {
|
"benefactore_info": {
|
||||||
"$ref": "#/definitions/benefactoreparam.BenefactroInfo"
|
"$ref": "#/definitions/benefactoreparam.BenefactroInfo"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"tokens": {
|
"tokens": {
|
||||||
"$ref": "#/definitions/benefactoreparam.Tokens"
|
"$ref": "#/definitions/benefactoreparam.Tokens"
|
||||||
}
|
}
|
||||||
|
@ -3266,6 +3382,12 @@
|
||||||
"description": "this just use in test .env\n\t\tTODO - remove it after test",
|
"description": "this just use in test .env\n\t\tTODO - remove it after test",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"phone_number": {
|
"phone_number": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "09198829528"
|
"example": "09198829528"
|
||||||
|
@ -3292,6 +3414,12 @@
|
||||||
"$ref": "#/definitions/entity.KindBox"
|
"$ref": "#/definitions/entity.KindBox"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -3318,6 +3446,12 @@
|
||||||
"deliveredAt": {
|
"deliveredAt": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
@ -3379,6 +3513,12 @@
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"$ref": "#/definitions/param.PaginationResponse"
|
"$ref": "#/definitions/param.PaginationResponse"
|
||||||
}
|
}
|
||||||
|
@ -3413,24 +3553,44 @@
|
||||||
"$ref": "#/definitions/entity.KindBoxType"
|
"$ref": "#/definitions/entity.KindBoxType"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 1
|
"example": "on-table"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"benefactorkindboxreqparam.KindBoxReqAddResponse": {
|
"benefactorkindboxreqparam.KindBoxReqAddResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"kind_box_req": {
|
"kind_box_req": {
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"benefactorkindboxreqparam.KindBoxReqDeleteResponse": {
|
"benefactorkindboxreqparam.KindBoxReqDeleteResponse": {
|
||||||
"type": "object"
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"benefactorkindboxreqparam.KindBoxReqGetResponse": {
|
"benefactorkindboxreqparam.KindBoxReqGetResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"fieldErrors": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"kind_box_req": {
|
"kind_box_req": {
|
||||||
"$ref": "#/definitions/entity.KindBoxReq"
|
"$ref": "#/definitions/entity.KindBoxReq"
|
||||||
}
|
}
|
||||||
|
@ -3465,7 +3625,7 @@
|
||||||
"$ref": "#/definitions/entity.KindBoxType"
|
"$ref": "#/definitions/entity.KindBoxType"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"example": 2
|
"example": "cylindrical"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3550,10 +3710,10 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"entity.AdminStatus": {
|
"entity.AdminStatus": {
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"active",
|
||||||
2
|
"inactive"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"AdminActiveStatus",
|
"AdminActiveStatus",
|
||||||
|
@ -3575,10 +3735,10 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"entity.Gender": {
|
"entity.Gender": {
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"male",
|
||||||
2
|
"female"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"MaleGender",
|
"MaleGender",
|
||||||
|
@ -3683,13 +3843,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"entity.KindBoxReqStatus": {
|
"entity.KindBoxReqStatus": {
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"pending",
|
||||||
2,
|
"accepted",
|
||||||
3,
|
"assigned-sender-agent",
|
||||||
4,
|
"rejected",
|
||||||
5
|
"delivered"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"KindBoxReqPendingStatus",
|
"KindBoxReqPendingStatus",
|
||||||
|
@ -3700,13 +3860,13 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"entity.KindBoxStatus": {
|
"entity.KindBoxStatus": {
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"delivered",
|
||||||
2,
|
"ready-to-return",
|
||||||
3,
|
"assigned-receiver-agent",
|
||||||
4,
|
"returned",
|
||||||
5
|
"enumerated"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"KindBoxDeliveredStatus",
|
"KindBoxDeliveredStatus",
|
||||||
|
@ -3717,11 +3877,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"entity.KindBoxType": {
|
"entity.KindBoxType": {
|
||||||
"type": "integer",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
1,
|
"on-table",
|
||||||
2,
|
"cylindrical",
|
||||||
3
|
"stand-up"
|
||||||
],
|
],
|
||||||
"x-enum-varnames": [
|
"x-enum-varnames": [
|
||||||
"KindBoxOnTable",
|
"KindBoxOnTable",
|
||||||
|
@ -3740,6 +3900,15 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"entity.UserRole": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"benefactor"
|
||||||
|
],
|
||||||
|
"x-enum-varnames": [
|
||||||
|
"UserBenefactorRole"
|
||||||
|
]
|
||||||
|
},
|
||||||
"httpmsg.ErrorResponse": {
|
"httpmsg.ErrorResponse": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -3774,7 +3943,7 @@
|
||||||
},
|
},
|
||||||
"securityDefinitions": {
|
"securityDefinitions": {
|
||||||
"AuthBearerAdmin": {
|
"AuthBearerAdmin": {
|
||||||
"description": "Type the word 'Bearer' followed by a space and Admin JWT token",
|
"description": "Type the word 'Bearer' followed by a space and Admin JWT token.",
|
||||||
"type": "apiKey",
|
"type": "apiKey",
|
||||||
"name": "Authorization",
|
"name": "Authorization",
|
||||||
"in": "header"
|
"in": "header"
|
||||||
|
|
|
@ -24,11 +24,19 @@ definitions:
|
||||||
properties:
|
properties:
|
||||||
address:
|
address:
|
||||||
$ref: '#/definitions/entity.Address'
|
$ref: '#/definitions/entity.Address'
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
type: object
|
type: object
|
||||||
addressparam.GetAddressResponse:
|
addressparam.GetAddressResponse:
|
||||||
properties:
|
properties:
|
||||||
address:
|
address:
|
||||||
$ref: '#/definitions/entity.Address'
|
$ref: '#/definitions/entity.Address'
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
type: object
|
type: object
|
||||||
addressparam.GetAllAddressesResponse:
|
addressparam.GetAllAddressesResponse:
|
||||||
properties:
|
properties:
|
||||||
|
@ -72,6 +80,28 @@ definitions:
|
||||||
example: "1234567890"
|
example: "1234567890"
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
|
adminagentparam.Agent:
|
||||||
|
properties:
|
||||||
|
first_name:
|
||||||
|
example: John
|
||||||
|
type: string
|
||||||
|
id:
|
||||||
|
example: 1
|
||||||
|
type: integer
|
||||||
|
last_name:
|
||||||
|
example: Doe
|
||||||
|
type: string
|
||||||
|
phone_number:
|
||||||
|
example: "09123456789"
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
adminagentparam.GetAllAgentResponse:
|
||||||
|
properties:
|
||||||
|
agents:
|
||||||
|
items:
|
||||||
|
$ref: '#/definitions/adminagentparam.Agent'
|
||||||
|
type: array
|
||||||
|
type: object
|
||||||
adminkindboxparam.AssignReceiverRequest:
|
adminkindboxparam.AssignReceiverRequest:
|
||||||
properties:
|
properties:
|
||||||
receiver_agent_id:
|
receiver_agent_id:
|
||||||
|
@ -88,6 +118,10 @@ definitions:
|
||||||
items:
|
items:
|
||||||
$ref: '#/definitions/entity.KindBox'
|
$ref: '#/definitions/entity.KindBox'
|
||||||
type: array
|
type: array
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
pagination:
|
pagination:
|
||||||
$ref: '#/definitions/param.PaginationResponse'
|
$ref: '#/definitions/param.PaginationResponse'
|
||||||
type: object
|
type: object
|
||||||
|
@ -105,6 +139,10 @@ definitions:
|
||||||
type: integer
|
type: integer
|
||||||
deliveredAt:
|
deliveredAt:
|
||||||
type: string
|
type: string
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
id:
|
id:
|
||||||
type: integer
|
type: integer
|
||||||
kindBoxReqID:
|
kindBoxReqID:
|
||||||
|
@ -134,6 +172,11 @@ definitions:
|
||||||
type: integer
|
type: integer
|
||||||
type: object
|
type: object
|
||||||
adminkindboxreqparam.AssignSenderResponse:
|
adminkindboxreqparam.AssignSenderResponse:
|
||||||
|
properties:
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
type: object
|
type: object
|
||||||
adminkindboxreqparam.DeliverKindBoxReqRequest:
|
adminkindboxreqparam.DeliverKindBoxReqRequest:
|
||||||
properties:
|
properties:
|
||||||
|
@ -147,6 +190,11 @@ definitions:
|
||||||
type: array
|
type: array
|
||||||
type: object
|
type: object
|
||||||
adminkindboxreqparam.DeliverKindBoxReqResponse:
|
adminkindboxreqparam.DeliverKindBoxReqResponse:
|
||||||
|
properties:
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
type: object
|
type: object
|
||||||
adminkindboxreqparam.DeliveryAwaitingGetAllResponse:
|
adminkindboxreqparam.DeliveryAwaitingGetAllResponse:
|
||||||
properties:
|
properties:
|
||||||
|
@ -154,6 +202,10 @@ definitions:
|
||||||
items:
|
items:
|
||||||
$ref: '#/definitions/entity.KindBoxReq'
|
$ref: '#/definitions/entity.KindBoxReq'
|
||||||
type: array
|
type: array
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
pagination:
|
pagination:
|
||||||
$ref: '#/definitions/param.PaginationResponse'
|
$ref: '#/definitions/param.PaginationResponse'
|
||||||
type: object
|
type: object
|
||||||
|
@ -175,6 +227,10 @@ definitions:
|
||||||
type: string
|
type: string
|
||||||
description:
|
description:
|
||||||
type: string
|
type: string
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
id:
|
id:
|
||||||
type: integer
|
type: integer
|
||||||
kindBoxType:
|
kindBoxType:
|
||||||
|
@ -202,6 +258,10 @@ definitions:
|
||||||
type: string
|
type: string
|
||||||
description:
|
description:
|
||||||
type: string
|
type: string
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
id:
|
id:
|
||||||
type: integer
|
type: integer
|
||||||
kindBoxType:
|
kindBoxType:
|
||||||
|
@ -226,6 +286,10 @@ definitions:
|
||||||
type: integer
|
type: integer
|
||||||
deliver_refer_date:
|
deliver_refer_date:
|
||||||
type: string
|
type: string
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
kind_box_req_id:
|
kind_box_req_id:
|
||||||
type: integer
|
type: integer
|
||||||
kind_box_req_status:
|
kind_box_req_status:
|
||||||
|
@ -248,10 +312,14 @@ definitions:
|
||||||
kind_box_type:
|
kind_box_type:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/definitions/entity.KindBoxType'
|
- $ref: '#/definitions/entity.KindBoxType'
|
||||||
example: 1
|
example: on-table
|
||||||
type: object
|
type: object
|
||||||
adminkindboxreqparam.KindBoxReqAddResponse:
|
adminkindboxreqparam.KindBoxReqAddResponse:
|
||||||
properties:
|
properties:
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
kindBoxReq:
|
kindBoxReq:
|
||||||
$ref: '#/definitions/entity.KindBoxReq'
|
$ref: '#/definitions/entity.KindBoxReq'
|
||||||
type: object
|
type: object
|
||||||
|
@ -261,6 +329,10 @@ definitions:
|
||||||
items:
|
items:
|
||||||
$ref: '#/definitions/entity.KindBoxReq'
|
$ref: '#/definitions/entity.KindBoxReq'
|
||||||
type: array
|
type: array
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
pagination:
|
pagination:
|
||||||
$ref: '#/definitions/param.PaginationResponse'
|
$ref: '#/definitions/param.PaginationResponse'
|
||||||
type: object
|
type: object
|
||||||
|
@ -287,17 +359,21 @@ definitions:
|
||||||
description:
|
description:
|
||||||
example: description
|
example: description
|
||||||
type: string
|
type: string
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
id:
|
id:
|
||||||
example: 1
|
example: 1
|
||||||
type: integer
|
type: integer
|
||||||
kind_box_type:
|
kind_box_type:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/definitions/entity.KindBoxType'
|
- $ref: '#/definitions/entity.KindBoxType'
|
||||||
example: 1
|
example: on-table
|
||||||
status:
|
status:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/definitions/entity.KindBoxReqStatus'
|
- $ref: '#/definitions/entity.KindBoxReqStatus'
|
||||||
example: 1
|
example: pending
|
||||||
type: object
|
type: object
|
||||||
adminkindboxreqparam.KindBoxReqUpdateRequest:
|
adminkindboxreqparam.KindBoxReqUpdateRequest:
|
||||||
properties:
|
properties:
|
||||||
|
@ -322,7 +398,7 @@ definitions:
|
||||||
kind_box_type:
|
kind_box_type:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/definitions/entity.KindBoxType'
|
- $ref: '#/definitions/entity.KindBoxType'
|
||||||
example: 2
|
example: cylindrical
|
||||||
sender_agent_id:
|
sender_agent_id:
|
||||||
example: 1
|
example: 1
|
||||||
type: integer
|
type: integer
|
||||||
|
@ -341,7 +417,7 @@ definitions:
|
||||||
gender:
|
gender:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/definitions/entity.Gender'
|
- $ref: '#/definitions/entity.Gender'
|
||||||
example: 1
|
example: male
|
||||||
id:
|
id:
|
||||||
example: 1
|
example: 1
|
||||||
type: integer
|
type: integer
|
||||||
|
@ -358,29 +434,7 @@ definitions:
|
||||||
status:
|
status:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/definitions/entity.AdminStatus'
|
- $ref: '#/definitions/entity.AdminStatus'
|
||||||
example: 1
|
example: active
|
||||||
type: object
|
|
||||||
adminserviceparam.Agent:
|
|
||||||
properties:
|
|
||||||
first_name:
|
|
||||||
example: John
|
|
||||||
type: string
|
|
||||||
id:
|
|
||||||
example: 1
|
|
||||||
type: integer
|
|
||||||
last_name:
|
|
||||||
example: Doe
|
|
||||||
type: string
|
|
||||||
phone_number:
|
|
||||||
example: "09123456789"
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
adminserviceparam.GetAllAgentResponse:
|
|
||||||
properties:
|
|
||||||
agents:
|
|
||||||
items:
|
|
||||||
$ref: '#/definitions/adminserviceparam.Agent'
|
|
||||||
type: array
|
|
||||||
type: object
|
type: object
|
||||||
adminserviceparam.LoginWithPhoneNumberRequest:
|
adminserviceparam.LoginWithPhoneNumberRequest:
|
||||||
properties:
|
properties:
|
||||||
|
@ -395,6 +449,10 @@ definitions:
|
||||||
properties:
|
properties:
|
||||||
admin_info:
|
admin_info:
|
||||||
$ref: '#/definitions/adminserviceparam.AdminInfo'
|
$ref: '#/definitions/adminserviceparam.AdminInfo'
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
tokens:
|
tokens:
|
||||||
$ref: '#/definitions/adminserviceparam.Tokens'
|
$ref: '#/definitions/adminserviceparam.Tokens'
|
||||||
type: object
|
type: object
|
||||||
|
@ -412,7 +470,7 @@ definitions:
|
||||||
gender:
|
gender:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/definitions/entity.Gender'
|
- $ref: '#/definitions/entity.Gender'
|
||||||
example: 1
|
example: male
|
||||||
last_name:
|
last_name:
|
||||||
example: shahi
|
example: shahi
|
||||||
type: string
|
type: string
|
||||||
|
@ -429,12 +487,16 @@ definitions:
|
||||||
status:
|
status:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/definitions/entity.AdminStatus'
|
- $ref: '#/definitions/entity.AdminStatus'
|
||||||
example: 1
|
example: active
|
||||||
type: object
|
type: object
|
||||||
adminserviceparam.RegisterResponse:
|
adminserviceparam.RegisterResponse:
|
||||||
properties:
|
properties:
|
||||||
admin:
|
admin:
|
||||||
$ref: '#/definitions/entity.Admin'
|
$ref: '#/definitions/entity.Admin'
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
type: object
|
type: object
|
||||||
adminserviceparam.Tokens:
|
adminserviceparam.Tokens:
|
||||||
properties:
|
properties:
|
||||||
|
@ -449,6 +511,10 @@ definitions:
|
||||||
items:
|
items:
|
||||||
$ref: '#/definitions/entity.KindBox'
|
$ref: '#/definitions/entity.KindBox'
|
||||||
type: array
|
type: array
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
pagination:
|
pagination:
|
||||||
$ref: '#/definitions/param.PaginationResponse'
|
$ref: '#/definitions/param.PaginationResponse'
|
||||||
type: object
|
type: object
|
||||||
|
@ -466,6 +532,10 @@ definitions:
|
||||||
type: integer
|
type: integer
|
||||||
deliveredAt:
|
deliveredAt:
|
||||||
type: string
|
type: string
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
id:
|
id:
|
||||||
type: integer
|
type: integer
|
||||||
kindBoxReqID:
|
kindBoxReqID:
|
||||||
|
@ -506,8 +576,9 @@ definitions:
|
||||||
example: rez
|
example: rez
|
||||||
type: string
|
type: string
|
||||||
role:
|
role:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/definitions/entity.UserRole'
|
||||||
example: benefactor
|
example: benefactor
|
||||||
type: string
|
|
||||||
type: object
|
type: object
|
||||||
benefactoreparam.LoginOrRegisterRequest:
|
benefactoreparam.LoginOrRegisterRequest:
|
||||||
properties:
|
properties:
|
||||||
|
@ -522,6 +593,10 @@ definitions:
|
||||||
properties:
|
properties:
|
||||||
benefactore_info:
|
benefactore_info:
|
||||||
$ref: '#/definitions/benefactoreparam.BenefactroInfo'
|
$ref: '#/definitions/benefactoreparam.BenefactroInfo'
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
tokens:
|
tokens:
|
||||||
$ref: '#/definitions/benefactoreparam.Tokens'
|
$ref: '#/definitions/benefactoreparam.Tokens'
|
||||||
type: object
|
type: object
|
||||||
|
@ -536,6 +611,10 @@ definitions:
|
||||||
code:
|
code:
|
||||||
description: "this just use in test .env\n\t\tTODO - remove it after test"
|
description: "this just use in test .env\n\t\tTODO - remove it after test"
|
||||||
type: string
|
type: string
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
phone_number:
|
phone_number:
|
||||||
example: "09198829528"
|
example: "09198829528"
|
||||||
type: string
|
type: string
|
||||||
|
@ -553,6 +632,10 @@ definitions:
|
||||||
items:
|
items:
|
||||||
$ref: '#/definitions/entity.KindBox'
|
$ref: '#/definitions/entity.KindBox'
|
||||||
type: array
|
type: array
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
pagination:
|
pagination:
|
||||||
$ref: '#/definitions/param.PaginationResponse'
|
$ref: '#/definitions/param.PaginationResponse'
|
||||||
type: object
|
type: object
|
||||||
|
@ -570,6 +653,10 @@ definitions:
|
||||||
type: integer
|
type: integer
|
||||||
deliveredAt:
|
deliveredAt:
|
||||||
type: string
|
type: string
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
id:
|
id:
|
||||||
type: integer
|
type: integer
|
||||||
kindBoxReqID:
|
kindBoxReqID:
|
||||||
|
@ -611,6 +698,10 @@ definitions:
|
||||||
items:
|
items:
|
||||||
$ref: '#/definitions/entity.KindBoxReq'
|
$ref: '#/definitions/entity.KindBoxReq'
|
||||||
type: array
|
type: array
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
pagination:
|
pagination:
|
||||||
$ref: '#/definitions/param.PaginationResponse'
|
$ref: '#/definitions/param.PaginationResponse'
|
||||||
type: object
|
type: object
|
||||||
|
@ -634,17 +725,30 @@ definitions:
|
||||||
kind_box_type:
|
kind_box_type:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/definitions/entity.KindBoxType'
|
- $ref: '#/definitions/entity.KindBoxType'
|
||||||
example: 1
|
example: on-table
|
||||||
type: object
|
type: object
|
||||||
benefactorkindboxreqparam.KindBoxReqAddResponse:
|
benefactorkindboxreqparam.KindBoxReqAddResponse:
|
||||||
properties:
|
properties:
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
kind_box_req:
|
kind_box_req:
|
||||||
$ref: '#/definitions/entity.KindBoxReq'
|
$ref: '#/definitions/entity.KindBoxReq'
|
||||||
type: object
|
type: object
|
||||||
benefactorkindboxreqparam.KindBoxReqDeleteResponse:
|
benefactorkindboxreqparam.KindBoxReqDeleteResponse:
|
||||||
|
properties:
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
type: object
|
type: object
|
||||||
benefactorkindboxreqparam.KindBoxReqGetResponse:
|
benefactorkindboxreqparam.KindBoxReqGetResponse:
|
||||||
properties:
|
properties:
|
||||||
|
fieldErrors:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
kind_box_req:
|
kind_box_req:
|
||||||
$ref: '#/definitions/entity.KindBoxReq'
|
$ref: '#/definitions/entity.KindBoxReq'
|
||||||
type: object
|
type: object
|
||||||
|
@ -668,7 +772,7 @@ definitions:
|
||||||
kind_box_type:
|
kind_box_type:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/definitions/entity.KindBoxType'
|
- $ref: '#/definitions/entity.KindBoxType'
|
||||||
example: 2
|
example: cylindrical
|
||||||
type: object
|
type: object
|
||||||
entity.Address:
|
entity.Address:
|
||||||
properties:
|
properties:
|
||||||
|
@ -726,9 +830,9 @@ definitions:
|
||||||
- AdminAgentRole
|
- AdminAgentRole
|
||||||
entity.AdminStatus:
|
entity.AdminStatus:
|
||||||
enum:
|
enum:
|
||||||
- 1
|
- active
|
||||||
- 2
|
- inactive
|
||||||
type: integer
|
type: string
|
||||||
x-enum-varnames:
|
x-enum-varnames:
|
||||||
- AdminActiveStatus
|
- AdminActiveStatus
|
||||||
- AdminInactiveStatus
|
- AdminInactiveStatus
|
||||||
|
@ -743,9 +847,9 @@ definitions:
|
||||||
type: object
|
type: object
|
||||||
entity.Gender:
|
entity.Gender:
|
||||||
enum:
|
enum:
|
||||||
- 1
|
- male
|
||||||
- 2
|
- female
|
||||||
type: integer
|
type: string
|
||||||
x-enum-varnames:
|
x-enum-varnames:
|
||||||
- MaleGender
|
- MaleGender
|
||||||
- FemaleGender
|
- FemaleGender
|
||||||
|
@ -815,12 +919,12 @@ definitions:
|
||||||
type: object
|
type: object
|
||||||
entity.KindBoxReqStatus:
|
entity.KindBoxReqStatus:
|
||||||
enum:
|
enum:
|
||||||
- 1
|
- pending
|
||||||
- 2
|
- accepted
|
||||||
- 3
|
- assigned-sender-agent
|
||||||
- 4
|
- rejected
|
||||||
- 5
|
- delivered
|
||||||
type: integer
|
type: string
|
||||||
x-enum-varnames:
|
x-enum-varnames:
|
||||||
- KindBoxReqPendingStatus
|
- KindBoxReqPendingStatus
|
||||||
- KindBoxReqAcceptedStatus
|
- KindBoxReqAcceptedStatus
|
||||||
|
@ -829,12 +933,12 @@ definitions:
|
||||||
- KindBoxReqDeliveredStatus
|
- KindBoxReqDeliveredStatus
|
||||||
entity.KindBoxStatus:
|
entity.KindBoxStatus:
|
||||||
enum:
|
enum:
|
||||||
- 1
|
- delivered
|
||||||
- 2
|
- ready-to-return
|
||||||
- 3
|
- assigned-receiver-agent
|
||||||
- 4
|
- returned
|
||||||
- 5
|
- enumerated
|
||||||
type: integer
|
type: string
|
||||||
x-enum-varnames:
|
x-enum-varnames:
|
||||||
- KindBoxDeliveredStatus
|
- KindBoxDeliveredStatus
|
||||||
- KindBoxReadyToReturnStatus
|
- KindBoxReadyToReturnStatus
|
||||||
|
@ -843,10 +947,10 @@ definitions:
|
||||||
- KindBoxEnumeratedStatus
|
- KindBoxEnumeratedStatus
|
||||||
entity.KindBoxType:
|
entity.KindBoxType:
|
||||||
enum:
|
enum:
|
||||||
- 1
|
- on-table
|
||||||
- 2
|
- cylindrical
|
||||||
- 3
|
- stand-up
|
||||||
type: integer
|
type: string
|
||||||
x-enum-varnames:
|
x-enum-varnames:
|
||||||
- KindBoxOnTable
|
- KindBoxOnTable
|
||||||
- KindBoxCylindrical
|
- KindBoxCylindrical
|
||||||
|
@ -858,6 +962,12 @@ definitions:
|
||||||
name:
|
name:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
|
entity.UserRole:
|
||||||
|
enum:
|
||||||
|
- benefactor
|
||||||
|
type: string
|
||||||
|
x-enum-varnames:
|
||||||
|
- UserBenefactorRole
|
||||||
httpmsg.ErrorResponse:
|
httpmsg.ErrorResponse:
|
||||||
properties:
|
properties:
|
||||||
errors:
|
errors:
|
||||||
|
@ -1424,13 +1534,13 @@ paths:
|
||||||
type: integer
|
type: integer
|
||||||
- description: Filter by KindBox type
|
- description: Filter by KindBox type
|
||||||
enum:
|
enum:
|
||||||
- 1
|
- on-table
|
||||||
- 2
|
- cylindrical
|
||||||
- 3
|
- stand-up
|
||||||
format: enum
|
format: enum
|
||||||
in: query
|
in: query
|
||||||
name: filter_kind_box_type
|
name: filter_kind_box_type
|
||||||
type: integer
|
type: string
|
||||||
- description: Filter by count requested
|
- description: Filter by count requested
|
||||||
in: query
|
in: query
|
||||||
name: filter_count_requested
|
name: filter_count_requested
|
||||||
|
@ -1596,7 +1706,7 @@ paths:
|
||||||
"200":
|
"200":
|
||||||
description: OK
|
description: OK
|
||||||
schema:
|
schema:
|
||||||
$ref: '#/definitions/adminserviceparam.GetAllAgentResponse'
|
$ref: '#/definitions/adminagentparam.GetAllAgentResponse'
|
||||||
"400":
|
"400":
|
||||||
description: Bad request
|
description: Bad request
|
||||||
schema:
|
schema:
|
||||||
|
@ -1627,24 +1737,24 @@ paths:
|
||||||
type: integer
|
type: integer
|
||||||
- description: Filter by KindBox type
|
- description: Filter by KindBox type
|
||||||
enum:
|
enum:
|
||||||
- 1
|
- on-table
|
||||||
- 2
|
- cylindrical
|
||||||
- 3
|
- stand-up
|
||||||
format: enum
|
format: enum
|
||||||
in: query
|
in: query
|
||||||
name: filter_kind_box_type
|
name: filter_kind_box_type
|
||||||
type: integer
|
type: string
|
||||||
- description: Filter by KindBoxReq status
|
- description: Filter by KindBoxReq status
|
||||||
enum:
|
enum:
|
||||||
- 1
|
- pending
|
||||||
- 2
|
- accepted
|
||||||
- 3
|
- assigned-sender-agent
|
||||||
- 4
|
- rejected
|
||||||
- 5
|
- delivered
|
||||||
format: enum
|
format: enum
|
||||||
in: query
|
in: query
|
||||||
name: filter_status
|
name: filter_status
|
||||||
type: integer
|
type: string
|
||||||
- description: Filter by count requested
|
- description: Filter by count requested
|
||||||
in: query
|
in: query
|
||||||
name: filter_count_requested
|
name: filter_count_requested
|
||||||
|
@ -1845,13 +1955,13 @@ paths:
|
||||||
type: integer
|
type: integer
|
||||||
- description: Filter by KindBox type
|
- description: Filter by KindBox type
|
||||||
enum:
|
enum:
|
||||||
- 1
|
- on-table
|
||||||
- 2
|
- cylindrical
|
||||||
- 3
|
- stand-up
|
||||||
format: enum
|
format: enum
|
||||||
in: query
|
in: query
|
||||||
name: filter_type
|
name: filter_type
|
||||||
type: integer
|
type: string
|
||||||
- description: Filter by serial number
|
- description: Filter by serial number
|
||||||
in: query
|
in: query
|
||||||
name: filter_serial_number
|
name: filter_serial_number
|
||||||
|
@ -2235,13 +2345,13 @@ paths:
|
||||||
type: integer
|
type: integer
|
||||||
- description: Filter by KindBox type
|
- description: Filter by KindBox type
|
||||||
enum:
|
enum:
|
||||||
- 1
|
- on-table
|
||||||
- 2
|
- cylindrical
|
||||||
- 3
|
- stand-up
|
||||||
format: enum
|
format: enum
|
||||||
in: query
|
in: query
|
||||||
name: filter_kind_box_type
|
name: filter_kind_box_type
|
||||||
type: integer
|
type: string
|
||||||
- description: Filter by KindBoxReq Status
|
- description: Filter by KindBoxReq Status
|
||||||
enum:
|
enum:
|
||||||
- pending
|
- pending
|
||||||
|
@ -2497,7 +2607,7 @@ paths:
|
||||||
- Benefactor
|
- Benefactor
|
||||||
securityDefinitions:
|
securityDefinitions:
|
||||||
AuthBearerAdmin:
|
AuthBearerAdmin:
|
||||||
description: Type the word 'Bearer' followed by a space and Admin JWT token
|
description: Type the word 'Bearer' followed by a space and Admin JWT token.
|
||||||
in: header
|
in: header
|
||||||
name: Authorization
|
name: Authorization
|
||||||
type: apiKey
|
type: apiKey
|
||||||
|
|
|
@ -22,16 +22,6 @@ func (s AdminRole) IsValid() bool {
|
||||||
return s > 0 && int(s) <= len(AdminRoleStrings)
|
return s > 0 && int(s) <= len(AdminRoleStrings)
|
||||||
}
|
}
|
||||||
|
|
||||||
// AllAdminRole returns a slice containing all string values of AdminRole.
|
|
||||||
func AllAdminRole() []string {
|
|
||||||
roleStrings := make([]string, len(AdminRoleStrings))
|
|
||||||
for role, str := range AdminRoleStrings {
|
|
||||||
roleStrings[int(role)-1] = str
|
|
||||||
}
|
|
||||||
|
|
||||||
return roleStrings
|
|
||||||
}
|
|
||||||
|
|
||||||
// MapToAdminRole converts a string to the corresponding AdminRole value.
|
// MapToAdminRole converts a string to the corresponding AdminRole value.
|
||||||
func MapToAdminRole(roleStr string) AdminRole {
|
func MapToAdminRole(roleStr string) AdminRole {
|
||||||
for role, str := range AdminRoleStrings {
|
for role, str := range AdminRoleStrings {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package entity
|
package entity
|
||||||
|
|
||||||
type AdminStatus uint
|
type AdminStatus string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
AdminActiveStatus AdminStatus = iota + 1
|
AdminActiveStatus = AdminStatus("active")
|
||||||
AdminInactiveStatus
|
AdminInactiveStatus = AdminStatus("inactive")
|
||||||
)
|
)
|
||||||
|
|
||||||
var AdminStatusStrings = map[AdminStatus]string{
|
var AdminStatusStrings = map[AdminStatus]string{
|
||||||
|
@ -12,31 +12,8 @@ var AdminStatusStrings = map[AdminStatus]string{
|
||||||
AdminInactiveStatus: "inactive",
|
AdminInactiveStatus: "inactive",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s AdminStatus) String() string {
|
func (a AdminStatus) IsValid() bool {
|
||||||
return AdminStatusStrings[s]
|
_, ok := AdminStatusStrings[a]
|
||||||
}
|
|
||||||
|
|
||||||
func (s AdminStatus) IsValid() bool {
|
return ok
|
||||||
return s > 0 && int(s) <= len(AdminStatusStrings)
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllAdminStatus returns a slice containing all string values of AdminStatus.
|
|
||||||
func AllAdminStatus() []string {
|
|
||||||
statusStrings := make([]string, len(AdminStatusStrings))
|
|
||||||
for status, str := range AdminStatusStrings {
|
|
||||||
statusStrings[int(status)-1] = str
|
|
||||||
}
|
|
||||||
|
|
||||||
return statusStrings
|
|
||||||
}
|
|
||||||
|
|
||||||
// MapToAdminStatus converts a string to the corresponding AdminStatus value.
|
|
||||||
func MapToAdminStatus(statusStr string) AdminStatus {
|
|
||||||
for status, str := range AdminStatusStrings {
|
|
||||||
if str == statusStr {
|
|
||||||
return status
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return AdminStatus(0)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package entity
|
package entity
|
||||||
|
|
||||||
type Gender uint
|
type Gender string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
MaleGender Gender = iota + 1
|
MaleGender = Gender("male")
|
||||||
FemaleGender
|
FemaleGender = Gender("female")
|
||||||
)
|
)
|
||||||
|
|
||||||
var GenderStrings = map[Gender]string{
|
var GenderStrings = map[Gender]string{
|
||||||
|
@ -12,31 +12,8 @@ var GenderStrings = map[Gender]string{
|
||||||
FemaleGender: "female",
|
FemaleGender: "female",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s Gender) String() string {
|
func (g Gender) IsValid() bool {
|
||||||
return GenderStrings[s]
|
_, ok := GenderStrings[g]
|
||||||
}
|
|
||||||
|
|
||||||
// AllGender returns a slice containing all string values of Gender.
|
return ok
|
||||||
func AllGender() []string {
|
|
||||||
statusStrings := make([]string, len(GenderStrings))
|
|
||||||
for status, str := range GenderStrings {
|
|
||||||
statusStrings[int(status)-1] = str
|
|
||||||
}
|
|
||||||
|
|
||||||
return statusStrings
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s Gender) IsValid() bool {
|
|
||||||
return s > 0 && int(s) <= len(GenderStrings)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MapToGender converts a string to the corresponding Gender value.
|
|
||||||
func MapToGender(statusStr string) Gender {
|
|
||||||
for status, str := range GenderStrings {
|
|
||||||
if str == statusStr {
|
|
||||||
return status
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return Gender(0)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,44 +1,11 @@
|
||||||
package entity
|
package entity
|
||||||
|
|
||||||
type KindBoxReqStatus uint
|
type KindBoxReqStatus string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
KindBoxReqPendingStatus KindBoxReqStatus = iota + 1
|
KindBoxReqPendingStatus = KindBoxReqStatus("pending")
|
||||||
KindBoxReqAcceptedStatus
|
KindBoxReqAcceptedStatus = KindBoxReqStatus("accepted")
|
||||||
KindBoxReqAssignedSenderAgentStatus
|
KindBoxReqAssignedSenderAgentStatus = KindBoxReqStatus("assigned-sender-agent")
|
||||||
KindBoxReqRejectedStatus
|
KindBoxReqRejectedStatus = KindBoxReqStatus("rejected")
|
||||||
KindBoxReqDeliveredStatus
|
KindBoxReqDeliveredStatus = KindBoxReqStatus("delivered")
|
||||||
)
|
)
|
||||||
|
|
||||||
var kindBoxReqStatusStrings = map[KindBoxReqStatus]string{
|
|
||||||
KindBoxReqPendingStatus: "pending",
|
|
||||||
KindBoxReqAcceptedStatus: "accepted",
|
|
||||||
KindBoxReqAssignedSenderAgentStatus: "assigned-sender-agent",
|
|
||||||
KindBoxReqRejectedStatus: "rejected",
|
|
||||||
KindBoxReqDeliveredStatus: "delivered",
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s KindBoxReqStatus) String() string {
|
|
||||||
return kindBoxReqStatusStrings[s]
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllKindBoxReqStatus returns a slice containing all string values of KindBoxReqStatus.
|
|
||||||
func AllKindBoxReqStatus() []string {
|
|
||||||
statusStrings := make([]string, len(kindBoxStatusStrings))
|
|
||||||
for status, str := range kindBoxReqStatusStrings {
|
|
||||||
statusStrings[int(status)-1] = str
|
|
||||||
}
|
|
||||||
|
|
||||||
return statusStrings
|
|
||||||
}
|
|
||||||
|
|
||||||
// MapToKindBoxReqStatus converts a string to the corresponding KindBoxReqStatus value.
|
|
||||||
func MapToKindBoxReqStatus(statusStr string) KindBoxReqStatus {
|
|
||||||
for status, str := range kindBoxReqStatusStrings {
|
|
||||||
if str == statusStr {
|
|
||||||
return status
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return KindBoxReqStatus(0)
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,44 +1,11 @@
|
||||||
package entity
|
package entity
|
||||||
|
|
||||||
type KindBoxStatus uint
|
type KindBoxStatus string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
KindBoxDeliveredStatus KindBoxStatus = iota + 1
|
KindBoxDeliveredStatus = KindBoxStatus("delivered")
|
||||||
KindBoxReadyToReturnStatus
|
KindBoxReadyToReturnStatus = KindBoxStatus("ready-to-return")
|
||||||
KindBoxAssignedReceiverAgentStatus
|
KindBoxAssignedReceiverAgentStatus = KindBoxStatus("assigned-receiver-agent")
|
||||||
KindBoxReturnedStatus
|
KindBoxReturnedStatus = KindBoxStatus("returned")
|
||||||
KindBoxEnumeratedStatus
|
KindBoxEnumeratedStatus = KindBoxStatus("enumerated")
|
||||||
)
|
)
|
||||||
|
|
||||||
var kindBoxStatusStrings = map[KindBoxStatus]string{
|
|
||||||
KindBoxDeliveredStatus: "delivered",
|
|
||||||
KindBoxReadyToReturnStatus: "ready-to-return",
|
|
||||||
KindBoxAssignedReceiverAgentStatus: "assigned-receiver-agent",
|
|
||||||
KindBoxReturnedStatus: "returned",
|
|
||||||
KindBoxEnumeratedStatus: "enumerated",
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s KindBoxStatus) String() string {
|
|
||||||
return kindBoxStatusStrings[s]
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllKindBoxStatus returns a slice containing all string values of KindBoxStatus.
|
|
||||||
func AllKindBoxStatus() []string {
|
|
||||||
statusStrings := make([]string, len(kindBoxStatusStrings))
|
|
||||||
for status, str := range kindBoxStatusStrings {
|
|
||||||
statusStrings[int(status)-1] = str
|
|
||||||
}
|
|
||||||
|
|
||||||
return statusStrings
|
|
||||||
}
|
|
||||||
|
|
||||||
// MapToKindBoxStatus converts a string to the corresponding KindBoxStatus value.
|
|
||||||
func MapToKindBoxStatus(statusStr string) KindBoxStatus {
|
|
||||||
for status, str := range kindBoxStatusStrings {
|
|
||||||
if str == statusStr {
|
|
||||||
return status
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return KindBoxStatus(0)
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package entity
|
package entity
|
||||||
|
|
||||||
type KindBoxType uint
|
type KindBoxType string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
KindBoxOnTable KindBoxType = iota + 1
|
KindBoxOnTable = KindBoxType("on-table")
|
||||||
KindBoxCylindrical
|
KindBoxCylindrical = KindBoxType("cylindrical")
|
||||||
KindBoxStandUp
|
KindBoxStandUp = KindBoxType("stand-up")
|
||||||
)
|
)
|
||||||
|
|
||||||
var KindBoxTypeStrings = map[KindBoxType]string{
|
var KindBoxTypeStrings = map[KindBoxType]string{
|
||||||
|
@ -14,31 +14,8 @@ var KindBoxTypeStrings = map[KindBoxType]string{
|
||||||
KindBoxStandUp: "stand-up",
|
KindBoxStandUp: "stand-up",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s KindBoxType) String() string {
|
|
||||||
return KindBoxTypeStrings[s]
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s KindBoxType) IsValid() bool {
|
func (s KindBoxType) IsValid() bool {
|
||||||
return s > 0 && int(s) <= len(KindBoxTypeStrings)
|
_, ok := KindBoxTypeStrings[s]
|
||||||
}
|
|
||||||
|
|
||||||
// AllKindBoxType returns a slice containing all string values of KindBoxType.
|
return ok
|
||||||
func AllKindBoxType() []string {
|
|
||||||
statusStrings := make([]string, len(KindBoxTypeStrings))
|
|
||||||
for status, str := range KindBoxTypeStrings {
|
|
||||||
statusStrings[int(status)-1] = str
|
|
||||||
}
|
|
||||||
|
|
||||||
return statusStrings
|
|
||||||
}
|
|
||||||
|
|
||||||
// MapToKindBoxType converts a string to the corresponding KindBoxType value.
|
|
||||||
func MapToKindBoxType(statusStr string) KindBoxType {
|
|
||||||
for status, str := range KindBoxTypeStrings {
|
|
||||||
if str == statusStr {
|
|
||||||
return status
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return KindBoxType(0)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,42 +1,13 @@
|
||||||
package entity
|
package entity
|
||||||
|
|
||||||
type ReferTimeStatus uint
|
type ReferTimeStatus string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
ReferTimeActiveStatus ReferTimeStatus = iota + 1
|
ReferTimeActiveStatus = ReferTimeStatus("active")
|
||||||
ReferTimeInactiveStatus
|
ReferTimeInactiveStatus = ReferTimeStatus("inactive")
|
||||||
)
|
)
|
||||||
|
|
||||||
var ReferTimeStatusStrings = map[ReferTimeStatus]string{
|
var ReferTimeStatusStrings = map[ReferTimeStatus]string{
|
||||||
ReferTimeActiveStatus: "active",
|
ReferTimeActiveStatus: "active",
|
||||||
ReferTimeInactiveStatus: "inactive",
|
ReferTimeInactiveStatus: "inactive",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s ReferTimeStatus) String() string {
|
|
||||||
return ReferTimeStatusStrings[s]
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s ReferTimeStatus) IsValid() bool {
|
|
||||||
return s > 0 && int(s) <= len(ReferTimeStatusStrings)
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllReferTimeStatus returns a slice containing all string values of ReferTimeStatus.
|
|
||||||
func AllReferTimeStatus() []string {
|
|
||||||
statusStrings := make([]string, len(ReferTimeStatusStrings))
|
|
||||||
for status, str := range ReferTimeStatusStrings {
|
|
||||||
statusStrings[int(status)-1] = str
|
|
||||||
}
|
|
||||||
|
|
||||||
return statusStrings
|
|
||||||
}
|
|
||||||
|
|
||||||
// MapToReferTimeStatus converts a string to the corresponding ReferTimeStatus value.
|
|
||||||
func MapToReferTimeStatus(statusStr string) ReferTimeStatus {
|
|
||||||
for status, str := range ReferTimeStatusStrings {
|
|
||||||
if str == statusStr {
|
|
||||||
return status
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ReferTimeStatus(0)
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package entity
|
package entity
|
||||||
|
|
||||||
type UserRole uint
|
type UserRole string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
UserBenefactorRole UserRole = iota + 1
|
UserBenefactorRole = UserRole("benefactor")
|
||||||
)
|
)
|
||||||
|
|
||||||
var UserRoleStrings = map[UserRole]string{
|
var UserRoleStrings = map[UserRole]string{
|
||||||
|
@ -13,24 +13,3 @@ var UserRoleStrings = map[UserRole]string{
|
||||||
func (s UserRole) String() string {
|
func (s UserRole) String() string {
|
||||||
return UserRoleStrings[s]
|
return UserRoleStrings[s]
|
||||||
}
|
}
|
||||||
|
|
||||||
// AllUserRole returns a slice containing all string values of UserRole.
|
|
||||||
func AllUserRole() []string {
|
|
||||||
roleStrings := make([]string, len(UserRoleStrings))
|
|
||||||
for role, str := range UserRoleStrings {
|
|
||||||
roleStrings[int(role)-1] = str
|
|
||||||
}
|
|
||||||
|
|
||||||
return roleStrings
|
|
||||||
}
|
|
||||||
|
|
||||||
// MapToUserRole converts a string to the corresponding UserRole value.
|
|
||||||
func MapToUserRole(roleStr string) UserRole {
|
|
||||||
for role, str := range UserRoleStrings {
|
|
||||||
if str == roleStr {
|
|
||||||
return role
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return UserRole(0)
|
|
||||||
}
|
|
||||||
|
|
4
go.mod
4
go.mod
|
@ -3,7 +3,6 @@ module git.gocasts.ir/ebhomengo/niki
|
||||||
go 1.21.3
|
go 1.21.3
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/brianvoe/gofakeit/v6 v6.28.0
|
|
||||||
github.com/go-ozzo/ozzo-validation v3.6.0+incompatible
|
github.com/go-ozzo/ozzo-validation v3.6.0+incompatible
|
||||||
github.com/go-ozzo/ozzo-validation/v4 v4.3.0
|
github.com/go-ozzo/ozzo-validation/v4 v4.3.0
|
||||||
github.com/go-sql-driver/mysql v1.6.0
|
github.com/go-sql-driver/mysql v1.6.0
|
||||||
|
@ -14,7 +13,6 @@ require (
|
||||||
github.com/labstack/echo/v4 v4.12.0
|
github.com/labstack/echo/v4 v4.12.0
|
||||||
github.com/redis/go-redis/v9 v9.4.0
|
github.com/redis/go-redis/v9 v9.4.0
|
||||||
github.com/rubenv/sql-migrate v1.6.0
|
github.com/rubenv/sql-migrate v1.6.0
|
||||||
github.com/stretchr/testify v1.9.0
|
|
||||||
github.com/swaggo/echo-swagger v1.4.1
|
github.com/swaggo/echo-swagger v1.4.1
|
||||||
github.com/swaggo/swag v1.16.3
|
github.com/swaggo/swag v1.16.3
|
||||||
golang.org/x/crypto v0.23.0
|
golang.org/x/crypto v0.23.0
|
||||||
|
@ -25,7 +23,6 @@ require (
|
||||||
github.com/KyleBanks/depth v1.2.1 // indirect
|
github.com/KyleBanks/depth v1.2.1 // indirect
|
||||||
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 // indirect
|
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 // indirect
|
||||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
||||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
||||||
github.com/fatih/structs v1.1.0 // indirect
|
github.com/fatih/structs v1.1.0 // indirect
|
||||||
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
||||||
|
@ -45,7 +42,6 @@ require (
|
||||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
||||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
||||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
||||||
github.com/swaggo/files/v2 v2.0.0 // indirect
|
github.com/swaggo/files/v2 v2.0.0 // indirect
|
||||||
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
||||||
github.com/valyala/fasttemplate v1.2.2 // indirect
|
github.com/valyala/fasttemplate v1.2.2 // indirect
|
||||||
|
|
2
go.sum
2
go.sum
|
@ -29,8 +29,6 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24
|
||||||
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||||
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
|
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
|
||||||
github.com/brianvoe/gofakeit/v6 v6.28.0 h1:Xib46XXuQfmlLS2EXRuJpqcw8St6qSZz75OUo0tgAW4=
|
|
||||||
github.com/brianvoe/gofakeit/v6 v6.28.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs=
|
|
||||||
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
|
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
|
||||||
github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
|
github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
|
||||||
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
|
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
package initial
|
|
||||||
|
|
||||||
import (
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/config"
|
|
||||||
authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Auth struct {
|
|
||||||
BenefactorAuthSvc authservice.Service
|
|
||||||
AdminAuthSvc authservice.Service
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorAuthService(cfg config.Config) authservice.Service {
|
|
||||||
return authservice.New(cfg.Auth)
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAdminAuthService(cfg config.Config) authservice.Service {
|
|
||||||
return authservice.New(cfg.AdminAuth)
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
package initial
|
|
||||||
|
|
||||||
import (
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/repository/mysql"
|
|
||||||
adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
|
|
||||||
)
|
|
||||||
|
|
||||||
type AdminAuthorization struct {
|
|
||||||
AdminAuthorizationSvc adminauthorizationservice.Service
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAdminAuthorizationService(db *mysql.DB) adminauthorizationservice.Service {
|
|
||||||
return adminauthorizationservice.New(InitAdminMysql(db))
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
package initial
|
|
||||||
|
|
||||||
import (
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/config"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/repository/mysql"
|
|
||||||
mysqladdress "git.gocasts.ir/ebhomengo/niki/repository/mysql/address"
|
|
||||||
mysqladmin "git.gocasts.ir/ebhomengo/niki/repository/mysql/admin"
|
|
||||||
mysqlkindbox "git.gocasts.ir/ebhomengo/niki/repository/mysql/kind_box"
|
|
||||||
mysqlkindboxreq "git.gocasts.ir/ebhomengo/niki/repository/mysql/kind_box_req"
|
|
||||||
mysqlrefertime "git.gocasts.ir/ebhomengo/niki/repository/mysql/refer_time"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Databases struct {
|
|
||||||
BenefactorAddressDB *mysqladdress.DB
|
|
||||||
BenefactorKindBoxReqDB *mysqlkindboxreq.DB
|
|
||||||
KindBoxRepo *mysqlkindbox.DB
|
|
||||||
AdminMysql *mysqladmin.DB
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitMysql(cfg config.Config) *mysql.DB {
|
|
||||||
return mysql.New(cfg.Mysql)
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorAddressDB(db *mysql.DB) *mysqladdress.DB {
|
|
||||||
return mysqladdress.New(db)
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorKindBoxReqDB(db *mysql.DB) *mysqlkindboxreq.DB {
|
|
||||||
return mysqlkindboxreq.New(db)
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitKindBoxRepo(db *mysql.DB) *mysqlkindbox.DB {
|
|
||||||
return mysqlkindbox.New(db)
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAdminMysql(db *mysql.DB) *mysqladmin.DB {
|
|
||||||
return mysqladmin.New(db)
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAdminReferTimeDB(db *mysql.DB) *mysqlrefertime.DB {
|
|
||||||
return mysqlrefertime.New(db)
|
|
||||||
}
|
|
|
@ -1,99 +0,0 @@
|
||||||
package initial
|
|
||||||
|
|
||||||
import (
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
|
||||||
smsprovider "git.gocasts.ir/ebhomengo/niki/adapter/sms_provider/kavenegar"
|
|
||||||
kavenegarnotification "git.gocasts.ir/ebhomengo/niki/adapter/sms_provider/kavenegar/notification"
|
|
||||||
kavenegarotp "git.gocasts.ir/ebhomengo/niki/adapter/sms_provider/kavenegar/otp"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/config"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/repository/mysql"
|
|
||||||
mysqladdress "git.gocasts.ir/ebhomengo/niki/repository/mysql/address"
|
|
||||||
mysqlbenefactor "git.gocasts.ir/ebhomengo/niki/repository/mysql/benefactor"
|
|
||||||
mysqlkindbox "git.gocasts.ir/ebhomengo/niki/repository/mysql/kind_box"
|
|
||||||
mysqlkindboxreq "git.gocasts.ir/ebhomengo/niki/repository/mysql/kind_box_req"
|
|
||||||
redisotp "git.gocasts.ir/ebhomengo/niki/repository/redis/redis_otp"
|
|
||||||
adminservice "git.gocasts.ir/ebhomengo/niki/service/admin/admin"
|
|
||||||
benefactorforadminservice "git.gocasts.ir/ebhomengo/niki/service/admin/benefactor"
|
|
||||||
adminkindboxservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box"
|
|
||||||
adminkindboxreqservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box_req"
|
|
||||||
adminrefertimeservice "git.gocasts.ir/ebhomengo/niki/service/admin/refer_time"
|
|
||||||
agentkindboxservice "git.gocasts.ir/ebhomengo/niki/service/agent/kind_box"
|
|
||||||
benefactoraddressservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/address"
|
|
||||||
benefactorservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/benefactor"
|
|
||||||
benefactorkindboxservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/kind_box"
|
|
||||||
benefactorkindboxreqservice "git.gocasts.ir/ebhomengo/niki/service/benefactor/kind_box_req"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/service/notification"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Services struct {
|
|
||||||
BenefactorSvc benefactorservice.Service
|
|
||||||
BenefactorKindBoxReqSvc benefactorkindboxreqservice.Service
|
|
||||||
BenefactorAddressSvc benefactoraddressservice.Service
|
|
||||||
BenefactorKindBoxSvc benefactorkindboxservice.Service
|
|
||||||
AdminKindBoxSvc adminkindboxservice.Service
|
|
||||||
AgentKindBoxSvc agentkindboxservice.Service
|
|
||||||
AdminSvc adminservice.Service
|
|
||||||
AdminKindBoxReqSvc adminkindboxreqservice.Service
|
|
||||||
AdminReferTimeSvc adminrefertimeservice.Service
|
|
||||||
NotificationSvc notification.Service
|
|
||||||
}
|
|
||||||
|
|
||||||
func initSmsOtp(cfg config.Config) *kavenegarotp.Adapter {
|
|
||||||
return kavenegarotp.New(smsprovider.New(cfg.KavenegarSmsProvider))
|
|
||||||
}
|
|
||||||
|
|
||||||
func initSmsNotification(cfg config.Config) *kavenegarnotification.Adapter {
|
|
||||||
return kavenegarnotification.New(smsprovider.New(cfg.KavenegarSmsProvider))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAdminService(cfg config.Config, db *mysql.DB) adminservice.Service {
|
|
||||||
return adminservice.New(InitAdminMysql(db), InitAdminAuthService(cfg))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorForAdminService(cfg config.Config, redisAdapter redis.Adapter, db *mysql.DB) benefactorforadminservice.Service {
|
|
||||||
return benefactorforadminservice.New(InitAdminMysql(db), InitBenefactorService(cfg, redisAdapter, db))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorService(cfg config.Config, redisAdapter redis.Adapter, db *mysql.DB) benefactorservice.Service {
|
|
||||||
return benefactorservice.New(
|
|
||||||
cfg.BenefactorSvc,
|
|
||||||
redisotp.New(redisAdapter),
|
|
||||||
initSmsOtp(cfg),
|
|
||||||
InitBenefactorAuthService(cfg),
|
|
||||||
mysqlbenefactor.New(db),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorAddressService(db *mysql.DB) benefactoraddressservice.Service {
|
|
||||||
return benefactoraddressservice.New(mysqladdress.New(db))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorKindBoxReqService(db *mysql.DB) benefactorkindboxreqservice.Service {
|
|
||||||
return benefactorkindboxreqservice.New(mysqlkindboxreq.New(db))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAdminKindBoxService(db *mysql.DB) adminkindboxservice.Service {
|
|
||||||
return adminkindboxservice.New(InitKindBoxRepo(db))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAgentKindBoxService(db *mysql.DB) agentkindboxservice.Service {
|
|
||||||
return agentkindboxservice.New(InitKindBoxRepo(db))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAdminKindBoxReqService(db *mysql.DB) adminkindboxreqservice.Service {
|
|
||||||
return adminkindboxreqservice.New(InitBenefactorKindBoxReqDB(db), InitAdminKindBoxService(db))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAdminReferTimeService(db *mysql.DB) adminrefertimeservice.Service {
|
|
||||||
return adminrefertimeservice.New(
|
|
||||||
InitAdminReferTimeDB(db),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorKindBoxService(db *mysql.DB) benefactorkindboxservice.Service {
|
|
||||||
return benefactorkindboxservice.New(mysqlkindbox.New(db))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitNotificationService(cfg config.Config, redisAdapter redis.Adapter, db *mysql.DB) notification.Service {
|
|
||||||
return notification.New(initSmsNotification(cfg), InitAdminKindBoxReqService(db), InitBenefactorForAdminService(cfg, redisAdapter, db))
|
|
||||||
}
|
|
|
@ -1,71 +0,0 @@
|
||||||
package initial
|
|
||||||
|
|
||||||
import (
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/config"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/repository/mysql"
|
|
||||||
adminvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/admin"
|
|
||||||
adminkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/kind_box"
|
|
||||||
adminkindboxreqvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/kind_box_req"
|
|
||||||
agentkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/agent/kind_box"
|
|
||||||
benefactoraddressvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/address"
|
|
||||||
benefactorvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/benefactor"
|
|
||||||
benefactorkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/kind_box"
|
|
||||||
benefactorkindboxreqvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/kind_box_req"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Validators struct {
|
|
||||||
BenefactorVld benefactorvalidator.Validator
|
|
||||||
BenefactorKindBoxReqVld benefactorkindboxreqvalidator.Validator
|
|
||||||
BenefactorAddressVld benefactoraddressvalidator.Validator
|
|
||||||
BenefactorKindBoxVld benefactorkindboxvalidator.Validator
|
|
||||||
AdminKindBoxReqVld adminkindboxreqvalidator.Validator
|
|
||||||
AdminVld adminvalidator.Validator
|
|
||||||
AdminKindBoxVld adminkindboxvalidator.Validator
|
|
||||||
AgentKindBoxVld agentkindboxvalidator.Validator
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAdminKindBoxReqValidator(db *mysql.DB, cfg config.Config, redisAdapter redis.Adapter) adminkindboxreqvalidator.Validator {
|
|
||||||
return adminkindboxreqvalidator.New(InitBenefactorKindBoxReqDB(db), InitAdminService(cfg, db), InitBenefactorForAdminService(cfg, redisAdapter, db), InitAdminReferTimeService(db), InitBenefactorAddressService(db))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAdminValidator(db *mysql.DB) adminvalidator.Validator {
|
|
||||||
return adminvalidator.New(InitAdminMysql(db))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorValidator() benefactorvalidator.Validator {
|
|
||||||
return benefactorvalidator.New()
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorKindBoxReqValidator(cfg config.Config, redisAdapter redis.Adapter, db *mysql.DB) benefactorkindboxreqvalidator.Validator {
|
|
||||||
return benefactorkindboxreqvalidator.New(
|
|
||||||
InitBenefactorService(cfg, redisAdapter, db),
|
|
||||||
InitBenefactorAddressService(db),
|
|
||||||
InitAdminReferTimeService(db),
|
|
||||||
InitBenefactorKindBoxReqDB(db),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorAddressValidator(cfg config.Config, redisAdapter redis.Adapter, db *mysql.DB) benefactoraddressvalidator.Validator {
|
|
||||||
return benefactoraddressvalidator.New(
|
|
||||||
InitBenefactorService(cfg, redisAdapter, db),
|
|
||||||
InitBenefactorAddressDB(db),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAdminKindBoxValidator(db *mysql.DB, cfg config.Config) adminkindboxvalidator.Validator {
|
|
||||||
return adminkindboxvalidator.New(InitKindBoxRepo(db), InitAdminService(cfg, db))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitAgentKindBoxValidator(db *mysql.DB) agentkindboxvalidator.Validator {
|
|
||||||
return agentkindboxvalidator.New(InitKindBoxRepo(db))
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitBenefactorKindBoxValidator(cfg config.Config, redisAdapter redis.Adapter, db *mysql.DB) benefactorkindboxvalidator.Validator {
|
|
||||||
return benefactorkindboxvalidator.New(
|
|
||||||
InitKindBoxRepo(db),
|
|
||||||
InitBenefactorService(cfg, redisAdapter, db),
|
|
||||||
InitBenefactorAddressService(db),
|
|
||||||
InitAdminReferTimeService(db),
|
|
||||||
)
|
|
||||||
}
|
|
114
main.go
114
main.go
|
@ -4,30 +4,17 @@ import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
|
"git.gocasts.ir/ebhomengo/niki/adapter/kavenegar"
|
||||||
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
||||||
"git.gocasts.ir/ebhomengo/niki/config"
|
"git.gocasts.ir/ebhomengo/niki/config"
|
||||||
|
smscontract "git.gocasts.ir/ebhomengo/niki/contract/sms"
|
||||||
httpserver "git.gocasts.ir/ebhomengo/niki/delivery/http_server"
|
httpserver "git.gocasts.ir/ebhomengo/niki/delivery/http_server"
|
||||||
"git.gocasts.ir/ebhomengo/niki/internal/initial"
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/repository/migrator"
|
"git.gocasts.ir/ebhomengo/niki/repository/migrator"
|
||||||
"git.gocasts.ir/ebhomengo/niki/repository/mysql"
|
"git.gocasts.ir/ebhomengo/niki/repository/mysql"
|
||||||
|
"git.gocasts.ir/ebhomengo/niki/service"
|
||||||
_ "github.com/go-sql-driver/mysql"
|
_ "github.com/go-sql-driver/mysql"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Dependencies struct {
|
|
||||||
initial.Auth
|
|
||||||
initial.Databases
|
|
||||||
initial.Validators
|
|
||||||
initial.Services
|
|
||||||
initial.AdminAuthorization
|
|
||||||
}
|
|
||||||
|
|
||||||
func parseFlags() bool {
|
|
||||||
migrateFlag := flag.Bool("migrate", false, "perform database migration")
|
|
||||||
flag.Parse()
|
|
||||||
|
|
||||||
return *migrateFlag
|
|
||||||
}
|
|
||||||
|
|
||||||
// @securityDefinitions.apikey AuthBearerBenefactor
|
// @securityDefinitions.apikey AuthBearerBenefactor
|
||||||
// @in header
|
// @in header
|
||||||
// @name Authorization
|
// @name Authorization
|
||||||
|
@ -37,89 +24,46 @@ func parseFlags() bool {
|
||||||
// @name Authorization
|
// @name Authorization
|
||||||
// @description Type the word 'Bearer' followed by a space and Admin JWT token.
|
// @description Type the word 'Bearer' followed by a space and Admin JWT token.
|
||||||
func main() {
|
func main() {
|
||||||
migrate := parseFlags()
|
cfg := Config()
|
||||||
|
db := MariaDB(cfg)
|
||||||
cfg := config.C()
|
|
||||||
db := initDatabase(cfg, migrate)
|
|
||||||
defer func() {
|
defer func() {
|
||||||
if err := db.CloseStatements(); err != nil {
|
if err := db.CloseStatements(); err != nil {
|
||||||
fmt.Printf("Error closing statements: %v\n", err)
|
fmt.Printf("Error closing statements: %v\n", err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
redisAdapter := initRedis(cfg)
|
rds := Redis(cfg)
|
||||||
|
kvn := Kavenegar(cfg)
|
||||||
dependencies := initDependencies(cfg, redisAdapter, db)
|
svc := Service(cfg, db, rds, kvn)
|
||||||
|
httpServer := HTTPServer(cfg, svc)
|
||||||
initAndRunServer(cfg, dependencies)
|
httpServer.Serve()
|
||||||
}
|
}
|
||||||
|
|
||||||
func initDependencies(cfg config.Config, redisAdapter redis.Adapter, db *mysql.DB) *Dependencies {
|
func Config() config.Config {
|
||||||
return &Dependencies{
|
return config.C()
|
||||||
initial.Auth{
|
|
||||||
BenefactorAuthSvc: initial.InitBenefactorAuthService(cfg),
|
|
||||||
AdminAuthSvc: initial.InitAdminAuthService(cfg),
|
|
||||||
},
|
|
||||||
initial.Databases{
|
|
||||||
BenefactorAddressDB: initial.InitBenefactorAddressDB(db),
|
|
||||||
BenefactorKindBoxReqDB: initial.InitBenefactorKindBoxReqDB(db),
|
|
||||||
KindBoxRepo: initial.InitKindBoxRepo(db),
|
|
||||||
AdminMysql: initial.InitAdminMysql(db),
|
|
||||||
},
|
|
||||||
initial.Validators{
|
|
||||||
BenefactorVld: initial.InitBenefactorValidator(),
|
|
||||||
BenefactorKindBoxReqVld: initial.InitBenefactorKindBoxReqValidator(cfg, redisAdapter, db),
|
|
||||||
BenefactorAddressVld: initial.InitBenefactorAddressValidator(cfg, redisAdapter, db),
|
|
||||||
BenefactorKindBoxVld: initial.InitBenefactorKindBoxValidator(cfg, redisAdapter, db),
|
|
||||||
AdminKindBoxReqVld: initial.InitAdminKindBoxReqValidator(db, cfg, redisAdapter),
|
|
||||||
AdminVld: initial.InitAdminValidator(db),
|
|
||||||
AdminKindBoxVld: initial.InitAdminKindBoxValidator(db, cfg),
|
|
||||||
AgentKindBoxVld: initial.InitAgentKindBoxValidator(db),
|
|
||||||
},
|
|
||||||
initial.Services{
|
|
||||||
BenefactorSvc: initial.InitBenefactorService(cfg, redisAdapter, db),
|
|
||||||
BenefactorKindBoxReqSvc: initial.InitBenefactorKindBoxReqService(db),
|
|
||||||
BenefactorAddressSvc: initial.InitBenefactorAddressService(db),
|
|
||||||
BenefactorKindBoxSvc: initial.InitBenefactorKindBoxService(db),
|
|
||||||
AdminKindBoxSvc: initial.InitAdminKindBoxService(db),
|
|
||||||
AgentKindBoxSvc: initial.InitAgentKindBoxService(db),
|
|
||||||
AdminKindBoxReqSvc: initial.InitAdminKindBoxReqService(db),
|
|
||||||
AdminSvc: initial.InitAdminService(cfg, db),
|
|
||||||
AdminReferTimeSvc: initial.InitAdminReferTimeService(db),
|
|
||||||
NotificationSvc: initial.InitNotificationService(cfg, redisAdapter, db),
|
|
||||||
},
|
|
||||||
initial.AdminAuthorization{
|
|
||||||
AdminAuthorizationSvc: initial.InitAdminAuthorizationService(db),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func initAndRunServer(cfg config.Config, dependencies *Dependencies) {
|
func MariaDB(cfg config.Config) *mysql.DB {
|
||||||
server := httpserver.New(cfg,
|
migrate := flag.Bool("migrate", false, "perform database migration")
|
||||||
dependencies.BenefactorSvc, dependencies.BenefactorVld, dependencies.BenefactorAuthSvc,
|
flag.Parse()
|
||||||
dependencies.BenefactorKindBoxReqSvc, dependencies.BenefactorKindBoxReqVld,
|
if *migrate {
|
||||||
dependencies.BenefactorAddressSvc, dependencies.BenefactorAddressVld,
|
migrator.New(cfg.Mysql).Up()
|
||||||
dependencies.BenefactorKindBoxSvc, dependencies.BenefactorKindBoxVld,
|
|
||||||
dependencies.AdminSvc, dependencies.AdminVld, dependencies.AdminAuthSvc,
|
|
||||||
dependencies.AdminKindBoxReqSvc, dependencies.AdminKindBoxReqVld, dependencies.AdminAuthorizationSvc,
|
|
||||||
dependencies.AdminKindBoxSvc, dependencies.AdminKindBoxVld,
|
|
||||||
dependencies.AgentKindBoxSvc, dependencies.AgentKindBoxVld, dependencies.NotificationSvc)
|
|
||||||
|
|
||||||
server.Serve()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func initDatabase(cfg config.Config, migrate bool) *mysql.DB {
|
return mysql.New(cfg.Mysql)
|
||||||
if migrate {
|
|
||||||
migrateDatabase(cfg)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return initial.InitMysql(cfg)
|
func Redis(cfg config.Config) *redis.Adapter {
|
||||||
}
|
|
||||||
|
|
||||||
func initRedis(cfg config.Config) redis.Adapter {
|
|
||||||
return redis.New(cfg.Redis)
|
return redis.New(cfg.Redis)
|
||||||
}
|
}
|
||||||
|
|
||||||
func migrateDatabase(cfg config.Config) {
|
func Kavenegar(cfg config.Config) *kavenegar.Adapter {
|
||||||
migratorDB := migrator.New(cfg.Mysql)
|
return kavenegar.New(cfg.KavenegarSmsProvider)
|
||||||
migratorDB.Up()
|
}
|
||||||
|
|
||||||
|
func Service(cfg config.Config, db *mysql.DB, rds *redis.Adapter, smsAdapter smscontract.SmsAdapter) *service.Service {
|
||||||
|
return service.New(cfg, db, rds, smsAdapter)
|
||||||
|
}
|
||||||
|
|
||||||
|
func HTTPServer(cfg config.Config, svc *service.Service) *httpserver.Server {
|
||||||
|
return httpserver.New(cfg, svc)
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
package adminaddressparam
|
||||||
|
|
||||||
|
import "git.gocasts.ir/ebhomengo/niki/entity"
|
||||||
|
|
||||||
|
type AddressGetRequest struct {
|
||||||
|
AddressID uint
|
||||||
|
}
|
||||||
|
|
||||||
|
type AddressGetResponse struct {
|
||||||
|
Address entity.Address
|
||||||
|
}
|
|
@ -1,10 +0,0 @@
|
||||||
package adminserviceparam
|
|
||||||
|
|
||||||
import "git.gocasts.ir/ebhomengo/niki/entity"
|
|
||||||
|
|
||||||
type GetAddressByIDRequest struct {
|
|
||||||
ID uint
|
|
||||||
}
|
|
||||||
type GetAddressByIDResponse struct {
|
|
||||||
Address *entity.Address
|
|
||||||
}
|
|
|
@ -10,6 +10,7 @@ type LoginWithPhoneNumberRequest struct {
|
||||||
type LoginWithPhoneNumberResponse struct {
|
type LoginWithPhoneNumberResponse struct {
|
||||||
AdminInfo AdminInfo `json:"admin_info"`
|
AdminInfo AdminInfo `json:"admin_info"`
|
||||||
Tokens Tokens `json:"tokens"`
|
Tokens Tokens `json:"tokens"`
|
||||||
|
FieldErrors map[string]string `json:"field_errors,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type AdminInfo struct {
|
type AdminInfo struct {
|
||||||
|
@ -20,6 +21,6 @@ type AdminInfo struct {
|
||||||
Role entity.AdminRole `json:"role" example:"2"`
|
Role entity.AdminRole `json:"role" example:"2"`
|
||||||
Description string `json:"description" example:"This is a description"`
|
Description string `json:"description" example:"This is a description"`
|
||||||
Email string `json:"email" example:"example@gmail.com"`
|
Email string `json:"email" example:"example@gmail.com"`
|
||||||
Gender entity.Gender `json:"gender" example:"1"`
|
Gender entity.Gender `json:"gender" example:"male"`
|
||||||
Status entity.AdminStatus `json:"status" example:"1"`
|
Status entity.AdminStatus `json:"status" example:"active"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,10 +10,11 @@ type RegisterRequest struct {
|
||||||
Role *entity.AdminRole `json:"role" example:"2"`
|
Role *entity.AdminRole `json:"role" example:"2"`
|
||||||
Description *string `json:"description" example:"this is a description"`
|
Description *string `json:"description" example:"this is a description"`
|
||||||
Email *string `json:"email" example:"miaad.66@gmail.com"`
|
Email *string `json:"email" example:"miaad.66@gmail.com"`
|
||||||
Gender *entity.Gender `json:"gender" example:"1"`
|
Gender *entity.Gender `json:"gender" example:"male"`
|
||||||
Status *entity.AdminStatus `json:"status" example:"1"`
|
Status *entity.AdminStatus `json:"status" example:"active"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type RegisterResponse struct {
|
type RegisterResponse struct {
|
||||||
Admin entity.Admin `json:"admin"`
|
Admin entity.Admin `json:"admin"`
|
||||||
|
FieldErrors map[string]string `json:"field_errors,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
package adminagentparam
|
||||||
|
|
||||||
|
type AdminAgentExistByIDRequest struct {
|
||||||
|
AgentID uint
|
||||||
|
}
|
||||||
|
|
||||||
|
type AdminAgentExistByIDResponse struct {
|
||||||
|
Exist bool
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package adminserviceparam
|
package adminagentparam
|
||||||
|
|
||||||
type GetAllAgentResponse struct {
|
type GetAllAgentResponse struct {
|
||||||
Agents []Agent `json:"agents"`
|
Agents []Agent `json:"agents"`
|
|
@ -1,4 +1,4 @@
|
||||||
package adminserviceparam
|
package adminbenefactoreparam
|
||||||
|
|
||||||
type BenefactorExistByIDRequest struct {
|
type BenefactorExistByIDRequest struct {
|
||||||
ID uint
|
ID uint
|
|
@ -4,3 +4,7 @@ type AssignReceiverRequest struct {
|
||||||
KindBoxID uint `json:"-" param:"id"`
|
KindBoxID uint `json:"-" param:"id"`
|
||||||
ReceiverAgentID uint `json:"receiver_agent_id"`
|
ReceiverAgentID uint `json:"receiver_agent_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type AssignReceiverResponse struct {
|
||||||
|
FieldErrors map[string]string `json:"field_errors,omitempty"`
|
||||||
|
}
|
||||||
|
|
|
@ -4,3 +4,7 @@ type EnumerateKindBoxRequest struct {
|
||||||
KindBoxID uint `json:"-" param:"id"`
|
KindBoxID uint `json:"-" param:"id"`
|
||||||
Amount uint `json:"amount"`
|
Amount uint `json:"amount"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type EnumerateKindBoxResponse struct {
|
||||||
|
FieldErrors map[string]string `json:"field_errors,omitempty"`
|
||||||
|
}
|
||||||
|
|
|
@ -8,4 +8,5 @@ type KindBoxGetRequest struct {
|
||||||
|
|
||||||
type KindBoxGetResponse struct {
|
type KindBoxGetResponse struct {
|
||||||
entity.KindBox
|
entity.KindBox
|
||||||
|
FieldErrors map[string]string `json:"field_errors,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue