forked from ebhomengo/niki
fix(niki): path linter errors
This commit is contained in:
parent
0b48cb4971
commit
bc440a26ad
|
@ -6,9 +6,9 @@ type Server struct {
|
||||||
config config.Config
|
config config.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(config config.Config) Server {
|
func New(cfg config.Config) Server {
|
||||||
return Server{
|
return Server{
|
||||||
config: config,
|
config: cfg,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ func AllKindBoxStatus() []string {
|
||||||
for status, str := range kindBoxStatusStrings {
|
for status, str := range kindBoxStatusStrings {
|
||||||
statusStrings[int(status)-1] = str
|
statusStrings[int(status)-1] = str
|
||||||
}
|
}
|
||||||
|
|
||||||
return statusStrings
|
return statusStrings
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,5 +39,6 @@ func MapToKindBoxStatus(statusStr string) KindBoxStatus {
|
||||||
return status
|
return status
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return KindBoxStatus(0)
|
return KindBoxStatus(0)
|
||||||
}
|
}
|
||||||
|
|
3
go.mod
3
go.mod
|
@ -3,11 +3,14 @@ module git.gocasts.ir/ebhomengo/niki
|
||||||
go 1.21.3
|
go 1.21.3
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/go-ozzo/ozzo-validation v3.6.0+incompatible
|
||||||
|
github.com/go-ozzo/ozzo-validation/v4 v4.3.0
|
||||||
github.com/knadh/koanf v1.5.0
|
github.com/knadh/koanf v1.5.0
|
||||||
gopkg.in/natefinch/lumberjack.v2 v2.2.1
|
gopkg.in/natefinch/lumberjack.v2 v2.2.1
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 // indirect
|
||||||
github.com/fatih/structs v1.1.0 // indirect
|
github.com/fatih/structs v1.1.0 // indirect
|
||||||
github.com/fsnotify/fsnotify v1.4.9 // indirect
|
github.com/fsnotify/fsnotify v1.4.9 // indirect
|
||||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||||
|
|
6
go.sum
6
go.sum
|
@ -11,6 +11,8 @@ github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hC
|
||||||
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
|
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
|
||||||
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
|
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
|
||||||
github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
|
github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
|
||||||
|
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 h1:zV3ejI06GQ59hwDQAvmK1qxOQGB3WuVTRoY0okPTAv0=
|
||||||
|
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
|
||||||
github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4=
|
github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4=
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw=
|
github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw=
|
||||||
github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ=
|
github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ=
|
||||||
|
@ -55,6 +57,10 @@ github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp
|
||||||
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
||||||
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
||||||
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
|
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
|
||||||
|
github.com/go-ozzo/ozzo-validation v3.6.0+incompatible h1:msy24VGS42fKO9K1vLz82/GeYW1cILu7Nuuj1N3BBkE=
|
||||||
|
github.com/go-ozzo/ozzo-validation v3.6.0+incompatible/go.mod h1:gsEKFIVnabGBt6mXmxK0MoFy+cZoTJY6mu5Ll3LVLBU=
|
||||||
|
github.com/go-ozzo/ozzo-validation/v4 v4.3.0 h1:byhDUpfEwjsVQb1vBunvIjh2BHQ9ead57VkAEY4V+Es=
|
||||||
|
github.com/go-ozzo/ozzo-validation/v4 v4.3.0/go.mod h1:2NKgrcHl3z6cJs+3Oo940FPRiTzuqKbvfrL2RxCj6Ew=
|
||||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||||
github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
|
github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
|
||||||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||||
|
|
|
@ -1,42 +1,49 @@
|
||||||
package httpmsg
|
package httpmsg
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// TODO: this temperary to ignore linter error.(maggic number).
|
||||||
|
const (
|
||||||
|
internalStatus = 500
|
||||||
|
)
|
||||||
|
|
||||||
func Error(err error) (message string, code int) {
|
func Error(err error) (message string, code int) {
|
||||||
switch err.(type) {
|
var re *richerror.RichError
|
||||||
case richerror.RichError:
|
if !errors.As(err, &re) {
|
||||||
re := err.(richerror.RichError)
|
return err.Error(), http.StatusBadRequest
|
||||||
|
}
|
||||||
msg := re.Message()
|
msg := re.Message()
|
||||||
|
code = mapKindToHTTPStatusCode(re.Kind())
|
||||||
code := mapKindToHTTPStatusCode(re.Kind())
|
|
||||||
|
|
||||||
// we should not expose unexpected error messages
|
// we should not expose unexpected error messages
|
||||||
if code >= 500 {
|
if code >= internalStatus {
|
||||||
msg = errmsg.ErrorMsgSomethingWentWrong
|
msg = errmsg.ErrorMsgSomethingWentWrong
|
||||||
}
|
}
|
||||||
|
|
||||||
return msg, code
|
return msg, code
|
||||||
default:
|
|
||||||
return err.Error(), http.StatusBadRequest
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func mapKindToHTTPStatusCode(kind richerror.Kind) int {
|
func mapKindToHTTPStatusCode(kind richerror.Kind) int {
|
||||||
switch kind {
|
switch kind {
|
||||||
case richerror.KindInvalid:
|
case richerror.KindInvalid:
|
||||||
|
|
||||||
return http.StatusUnprocessableEntity
|
return http.StatusUnprocessableEntity
|
||||||
case richerror.KindNotFound:
|
case richerror.KindNotFound:
|
||||||
|
|
||||||
return http.StatusNotFound
|
return http.StatusNotFound
|
||||||
case richerror.KindForbidden:
|
case richerror.KindForbidden:
|
||||||
|
|
||||||
return http.StatusForbidden
|
return http.StatusForbidden
|
||||||
case richerror.KindUnexpected:
|
case richerror.KindUnexpected:
|
||||||
|
|
||||||
return http.StatusInternalServerError
|
return http.StatusInternalServerError
|
||||||
default:
|
default:
|
||||||
|
|
||||||
return http.StatusBadRequest
|
return http.StatusBadRequest
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package richerror
|
package richerror
|
||||||
|
|
||||||
|
import "errors"
|
||||||
|
|
||||||
type Kind int
|
type Kind int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -25,26 +27,31 @@ func New(op Op) RichError {
|
||||||
|
|
||||||
func (r RichError) WithOp(op Op) RichError {
|
func (r RichError) WithOp(op Op) RichError {
|
||||||
r.operation = op
|
r.operation = op
|
||||||
|
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r RichError) WithErr(err error) RichError {
|
func (r RichError) WithErr(err error) RichError {
|
||||||
r.wrappedError = err
|
r.wrappedError = err
|
||||||
|
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r RichError) WithMessage(message string) RichError {
|
func (r RichError) WithMessage(message string) RichError {
|
||||||
r.message = message
|
r.message = message
|
||||||
|
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r RichError) WithKind(kind Kind) RichError {
|
func (r RichError) WithKind(kind Kind) RichError {
|
||||||
r.kind = kind
|
r.kind = kind
|
||||||
|
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r RichError) WithMeta(meta map[string]interface{}) RichError {
|
func (r RichError) WithMeta(meta map[string]interface{}) RichError {
|
||||||
r.meta = meta
|
r.meta = meta
|
||||||
|
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,8 +68,8 @@ func (r RichError) Kind() Kind {
|
||||||
return r.kind
|
return r.kind
|
||||||
}
|
}
|
||||||
|
|
||||||
re, ok := r.wrappedError.(RichError)
|
var re *RichError
|
||||||
if !ok {
|
if !errors.As(r.wrappedError, re) {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,8 +81,8 @@ func (r RichError) Message() string {
|
||||||
return r.message
|
return r.message
|
||||||
}
|
}
|
||||||
|
|
||||||
re, ok := r.wrappedError.(RichError)
|
var re *RichError
|
||||||
if !ok {
|
if !errors.As(r.wrappedError, re) {
|
||||||
return r.wrappedError.Error()
|
return r.wrappedError.Error()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,29 +14,36 @@ type Config struct {
|
||||||
DBName string `koanf:"db_name"`
|
DBName string `koanf:"db_name"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type MySQLDB struct {
|
type DB struct {
|
||||||
config Config
|
config Config
|
||||||
db *sql.DB
|
db *sql.DB
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *MySQLDB) Conn() *sql.DB {
|
func (m *DB) Conn() *sql.DB {
|
||||||
return m.db
|
return m.db
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(config Config) *MySQLDB {
|
// TODO: this temperary to ignore linter error (magic number).
|
||||||
|
const (
|
||||||
|
dbMaxConnLifetime = time.Minute * 3
|
||||||
|
dbMaxOpenConns = 10
|
||||||
|
dbMaxIdleConns = 10
|
||||||
|
)
|
||||||
|
|
||||||
|
func New(config Config) *DB {
|
||||||
// parseTime=true changes the output type of DATE and DATETIME values to time.Time
|
// parseTime=true changes the output type of DATE and DATETIME values to time.Time
|
||||||
// instead of []byte / string
|
// instead of []byte / string
|
||||||
// The date or datetime like 0000-00-00 00:00:00 is converted into zero value of time.Time
|
// The date or datetime like 0000-00-00 00:00:00 is converted into zero value of time.Time
|
||||||
db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@(%s:%d)/%s?parseTime=true",
|
db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@(%s:%d)/%s?parseTime=true",
|
||||||
config.Username, config.Password, config.Host, config.Port, config.DBName))
|
config.Username, config.Password, config.Host, config.Port, config.DBName))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(fmt.Errorf("can't open mysql db: %v", err))
|
panic(fmt.Errorf("can't open mysql db: %w", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
// See "Important settings" section.
|
// See "Important settings" section.
|
||||||
db.SetConnMaxLifetime(time.Minute * 3)
|
db.SetConnMaxLifetime(dbMaxConnLifetime)
|
||||||
db.SetMaxOpenConns(10)
|
db.SetMaxOpenConns(dbMaxOpenConns)
|
||||||
db.SetMaxIdleConns(10)
|
db.SetMaxIdleConns(dbMaxIdleConns)
|
||||||
|
|
||||||
return &MySQLDB{config: config, db: db}
|
return &DB{config: config, db: db}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,10 +3,10 @@ package mysqlkindbox
|
||||||
import "git.gocasts.ir/ebhomengo/niki/repository/mysql"
|
import "git.gocasts.ir/ebhomengo/niki/repository/mysql"
|
||||||
|
|
||||||
type DB struct {
|
type DB struct {
|
||||||
conn *mysql.MySQLDB
|
conn *mysql.DB
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(conn *mysql.MySQLDB) *DB {
|
func New(conn *mysql.DB) *DB {
|
||||||
return &DB{
|
return &DB{
|
||||||
conn: conn,
|
conn: conn,
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,5 +21,6 @@ func (s Service) Add(ctx context.Context, req param.KindBoxAddRequest) (param.Ki
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return param.KindBoxAddResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
|
return param.KindBoxAddResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
|
||||||
}
|
}
|
||||||
|
|
||||||
return param.KindBoxAddResponse{KindBox: kindBox}, nil
|
return param.KindBoxAddResponse{KindBox: kindBox}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,5 +13,6 @@ func (s Service) GetAll(ctx context.Context) (param.KindBoxGetAllResponse, error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return param.KindBoxGetAllResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
|
return param.KindBoxGetAllResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
|
||||||
}
|
}
|
||||||
|
|
||||||
return param.KindBoxGetAllResponse{AllKindBox: allKindBox}, nil
|
return param.KindBoxGetAllResponse{AllKindBox: allKindBox}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package adminkindboxvalidator
|
package adminkindboxvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -27,8 +29,8 @@ func (v Validator) ValidateAdminAddRequest(req param.KindBoxAddRequest) (map[str
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -43,5 +45,5 @@ func (v Validator) ValidateAdminAddRequest(req param.KindBoxAddRequest) (map[str
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package adminkindboxvalidator
|
package adminkindboxvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -23,8 +25,8 @@ func (v Validator) ValidateDeleteRequest(req param.KindBoxDeleteRequest) (map[st
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -39,5 +41,5 @@ func (v Validator) ValidateDeleteRequest(req param.KindBoxDeleteRequest) (map[st
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package adminkindboxvalidator
|
package adminkindboxvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -22,8 +24,8 @@ func (v Validator) ValidateGetByIDRequest(req param.KindBoxGetRequest) (map[stri
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -38,5 +40,5 @@ func (v Validator) ValidateGetByIDRequest(req param.KindBoxGetRequest) (map[stri
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package adminkindboxvalidator
|
package adminkindboxvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
"git.gocasts.ir/ebhomengo/niki/entity"
|
"git.gocasts.ir/ebhomengo/niki/entity"
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
|
@ -27,18 +29,18 @@ func (v Validator) ValidateUpdateRequest(req param.KindBoxUpdateRequest) (map[st
|
||||||
validation.Field(&req.TotalAmount, validation.Min(0)),
|
validation.Field(&req.TotalAmount, validation.Min(0)),
|
||||||
|
|
||||||
validation.Field(&req.SenderID,
|
validation.Field(&req.SenderID,
|
||||||
validation.By(v.doesEmployeeExist(req.SenderID))),
|
validation.By(v.doesEmployeeExist)),
|
||||||
|
|
||||||
validation.Field(&req.ReceiverID,
|
validation.Field(&req.ReceiverID,
|
||||||
validation.By(v.doesEmployeeExist(req.ReceiverID))),
|
validation.By(v.doesEmployeeExist)),
|
||||||
|
|
||||||
validation.Field(&req.Status,
|
validation.Field(&req.Status,
|
||||||
validation.In(entity.AllKindBoxStatus())),
|
validation.In(entity.AllKindBoxStatus())),
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -53,5 +55,5 @@ func (v Validator) ValidateUpdateRequest(req param.KindBoxUpdateRequest) (map[st
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,10 @@ func New(repo Repository) Validator {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesKindBoxRequestExist(value interface{}) error {
|
func (v Validator) doesKindBoxRequestExist(value interface{}) error {
|
||||||
receiverID := value.(uint)
|
receiverID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.KindBoxRequestExist(receiverID)
|
_, err := v.repo.KindBoxRequestExist(receiverID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -36,7 +39,10 @@ func (v Validator) doesKindBoxRequestExist(value interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesEmployeeExist(value interface{}) error {
|
func (v Validator) doesEmployeeExist(value interface{}) error {
|
||||||
senderID := value.(uint)
|
senderID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.EmployeeExist(senderID)
|
_, err := v.repo.EmployeeExist(senderID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -46,7 +52,10 @@ func (v Validator) doesEmployeeExist(value interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesBenefactorExist(value interface{}) error {
|
func (v Validator) doesBenefactorExist(value interface{}) error {
|
||||||
benefactorID := value.(uint)
|
benefactorID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.BenefactorExist(benefactorID)
|
_, err := v.repo.BenefactorExist(benefactorID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -56,7 +65,10 @@ func (v Validator) doesBenefactorExist(value interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesKindBoxExist(value interface{}) error {
|
func (v Validator) doesKindBoxExist(value interface{}) error {
|
||||||
kindboxID := value.(uint)
|
kindboxID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
}
|
||||||
_, err := v.repo.KindBoxExist(kindboxID)
|
_, err := v.repo.KindBoxExist(kindboxID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -67,8 +79,11 @@ func (v Validator) doesKindBoxExist(value interface{}) error {
|
||||||
|
|
||||||
func (v Validator) doesKindBoxBelongToBenefactor(benefactorID uint) validation.RuleFunc {
|
func (v Validator) doesKindBoxBelongToBenefactor(benefactorID uint) validation.RuleFunc {
|
||||||
return func(value interface{}) error {
|
return func(value interface{}) error {
|
||||||
kbId := value.(uint)
|
kbID, ok := value.(uint)
|
||||||
_, err := v.repo.KindBoxBelongToBenefactor(benefactorID, kbId)
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
}
|
||||||
|
_, err := v.repo.KindBoxBelongToBenefactor(benefactorID, kbID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
}
|
}
|
||||||
|
@ -77,18 +92,25 @@ func (v Validator) doesKindBoxBelongToBenefactor(benefactorID uint) validation.R
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) hasCorrectStatus(value interface{}) error {
|
// TODO: this temperary to ignore linter error. (unused function)
|
||||||
status := value.(string)
|
// func (v Validator) hasCorrectStatus(value interface{}) error {
|
||||||
_, err := v.repo.CheckStatus(status)
|
// status, ok := value.(string)
|
||||||
if err != nil {
|
// if !ok {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
// return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
}
|
// }
|
||||||
|
// _, err := v.repo.CheckStatus(status)
|
||||||
|
// if err != nil {
|
||||||
|
// return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
// }
|
||||||
|
|
||||||
return nil
|
// return nil
|
||||||
}
|
// }
|
||||||
|
|
||||||
func (v Validator) hasPendingStatus(value interface{}) error {
|
func (v Validator) hasPendingStatus(value interface{}) error {
|
||||||
kindboxID := value.(uint)
|
kindboxID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.PendingStatus(kindboxID)
|
_, err := v.repo.PendingStatus(kindboxID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package adminkindboxreqvalidator
|
package adminkindboxreqvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -24,8 +26,8 @@ func (v Validator) ValidateAddRequest(req param.KindBoxReqAddRequest) (map[strin
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -40,5 +42,5 @@ func (v Validator) ValidateAddRequest(req param.KindBoxReqAddRequest) (map[strin
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package adminkindboxreqvalidator
|
package adminkindboxreqvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -23,8 +25,8 @@ func (v Validator) ValidateDeleteRequest(req param.KindBoxReqDeleteRequest) (map
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -39,5 +41,5 @@ func (v Validator) ValidateDeleteRequest(req param.KindBoxReqDeleteRequest) (map
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package adminkindboxreqvalidator
|
package adminkindboxreqvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -22,8 +24,8 @@ func (v Validator) ValidateGetByIDRequest(req param.KindBoxReqGetRequest) (map[s
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -38,5 +40,5 @@ func (v Validator) ValidateGetByIDRequest(req param.KindBoxReqGetRequest) (map[s
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package adminkindboxreqvalidator
|
package adminkindboxreqvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -24,12 +26,12 @@ func (v Validator) ValidateUpdateRequest(req param.KindBoxReqUpdateRequest) (map
|
||||||
validation.By(v.doesKindBoxBelongToBenefactor(req.BenefactorID))),
|
validation.By(v.doesKindBoxBelongToBenefactor(req.BenefactorID))),
|
||||||
|
|
||||||
validation.Field(&req.TypeID,
|
validation.Field(&req.TypeID,
|
||||||
validation.By(v.doesTypeExist(req.TypeID))),
|
validation.By(v.doesTypeExist)),
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -44,5 +46,5 @@ func (v Validator) ValidateUpdateRequest(req param.KindBoxReqUpdateRequest) (map
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,10 @@ func New(repo Repository) Validator {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesBenefactorExist(value interface{}) error {
|
func (v Validator) doesBenefactorExist(value interface{}) error {
|
||||||
benefactorID := value.(int)
|
benefactorID, ok := value.(int)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.BenefactorExist(benefactorID)
|
_, err := v.repo.BenefactorExist(benefactorID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -40,8 +43,11 @@ func (v Validator) doesBenefactorExist(value interface{}) error {
|
||||||
|
|
||||||
func (v Validator) doesKindBoxBelongToBenefactor(benefactorID uint) validation.RuleFunc {
|
func (v Validator) doesKindBoxBelongToBenefactor(benefactorID uint) validation.RuleFunc {
|
||||||
return func(value interface{}) error {
|
return func(value interface{}) error {
|
||||||
kbId := value.(uint)
|
kbID, ok := value.(uint)
|
||||||
_, err := v.repo.KindBoxBelongToBenefactor(benefactorID, kbId)
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
}
|
||||||
|
_, err := v.repo.KindBoxBelongToBenefactor(benefactorID, kbID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
}
|
}
|
||||||
|
@ -51,7 +57,10 @@ func (v Validator) doesKindBoxBelongToBenefactor(benefactorID uint) validation.R
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesKindBoxRequestExist(value interface{}) error {
|
func (v Validator) doesKindBoxRequestExist(value interface{}) error {
|
||||||
kindboxreqID := value.(int)
|
kindboxreqID, ok := value.(int)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.KindBoxRequestExist(kindboxreqID)
|
_, err := v.repo.KindBoxRequestExist(kindboxreqID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -61,7 +70,10 @@ func (v Validator) doesKindBoxRequestExist(value interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesTypeExist(value interface{}) error {
|
func (v Validator) doesTypeExist(value interface{}) error {
|
||||||
typeID := value.(int)
|
typeID, ok := value.(int)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.TypeExist(typeID)
|
_, err := v.repo.TypeExist(typeID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -71,7 +83,10 @@ func (v Validator) doesTypeExist(value interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) hasPendingStatus(value interface{}) error {
|
func (v Validator) hasPendingStatus(value interface{}) error {
|
||||||
kindboxID := value.(uint)
|
kindboxID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.PendingStatus(kindboxID)
|
_, err := v.repo.PendingStatus(kindboxID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package userkindboxvalidator
|
package userkindboxvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box"
|
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -22,8 +24,8 @@ func (v Validator) ValidateGetByIDRequest(req param.KindBoxGetRequest) (map[stri
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -38,5 +40,5 @@ func (v Validator) ValidateGetByIDRequest(req param.KindBoxGetRequest) (map[stri
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package userkindboxvalidator
|
package userkindboxvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box"
|
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -17,8 +19,8 @@ func (v Validator) ValidateUpdateRequest(req param.KindBoxGetAllRequest) (map[st
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -33,5 +35,5 @@ func (v Validator) ValidateUpdateRequest(req param.KindBoxGetAllRequest) (map[st
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
type Repository interface {
|
type Repository interface {
|
||||||
BenefactorExist(id uint) (bool, error)
|
BenefactorExist(id uint) (bool, error)
|
||||||
KindBoxExist(id uint) (bool, error)
|
KindBoxExist(id uint) (bool, error)
|
||||||
KindBoxBelongToBenefactor(bId uint, kbId uint) (bool, error)
|
KindBoxBelongToBenefactor(bID uint, kbID uint) (bool, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type Validator struct {
|
type Validator struct {
|
||||||
|
@ -22,7 +22,10 @@ func New(repo Repository) Validator {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesBenefactorExist(value interface{}) error {
|
func (v Validator) doesBenefactorExist(value interface{}) error {
|
||||||
benefactorID := value.(uint)
|
benefactorID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.BenefactorExist(benefactorID)
|
_, err := v.repo.BenefactorExist(benefactorID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -32,7 +35,10 @@ func (v Validator) doesBenefactorExist(value interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesKindBoxExist(value interface{}) error {
|
func (v Validator) doesKindBoxExist(value interface{}) error {
|
||||||
kindBoxID := value.(uint)
|
kindBoxID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.KindBoxExist(kindBoxID)
|
_, err := v.repo.KindBoxExist(kindBoxID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -43,8 +49,11 @@ func (v Validator) doesKindBoxExist(value interface{}) error {
|
||||||
|
|
||||||
func (v Validator) doesKindBoxBelongToBenefactor(benefactorID uint) validation.RuleFunc {
|
func (v Validator) doesKindBoxBelongToBenefactor(benefactorID uint) validation.RuleFunc {
|
||||||
return func(value interface{}) error {
|
return func(value interface{}) error {
|
||||||
kbId := value.(uint)
|
kbID, ok := value.(uint)
|
||||||
_, err := v.repo.KindBoxBelongToBenefactor(benefactorID, kbId)
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
|
_, err := v.repo.KindBoxBelongToBenefactor(benefactorID, kbID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package userkindboxreqvalidator
|
package userkindboxreqvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -24,8 +26,8 @@ func (v Validator) ValidateAddRequest(req param.KindBoxReqAddRequest) (map[strin
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -40,5 +42,5 @@ func (v Validator) ValidateAddRequest(req param.KindBoxReqAddRequest) (map[strin
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package userkindboxreqvalidator
|
package userkindboxreqvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -23,8 +25,8 @@ func (v Validator) ValidateDeleteRequest(req param.KindBoxReqDeleteRequest) (map
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -39,5 +41,5 @@ func (v Validator) ValidateDeleteRequest(req param.KindBoxReqDeleteRequest) (map
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package userkindboxreqvalidator
|
package userkindboxreqvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -22,8 +24,8 @@ func (v Validator) ValidateGetRequest(req param.KindBoxReqGetRequest) (map[strin
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -38,5 +40,5 @@ func (v Validator) ValidateGetRequest(req param.KindBoxReqGetRequest) (map[strin
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package userkindboxreqvalidator
|
package userkindboxreqvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -17,8 +19,8 @@ func (v Validator) ValidateGetAllRequest(req param.KindBoxReqGetAllRequest) (map
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -33,5 +35,5 @@ func (v Validator) ValidateGetAllRequest(req param.KindBoxReqGetAllRequest) (map
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package userkindboxreqvalidator
|
package userkindboxreqvalidator
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
||||||
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
@ -25,12 +27,12 @@ func (v Validator) ValidateUpdateRequest(req param.KindBoxReqUpdateRequest) (map
|
||||||
|
|
||||||
validation.Field(&req.TypeID,
|
validation.Field(&req.TypeID,
|
||||||
validation.Required,
|
validation.Required,
|
||||||
validation.By(v.doesTypeExist(req.TypeID))),
|
validation.By(v.doesTypeExist)),
|
||||||
); err != nil {
|
); err != nil {
|
||||||
fieldErrors := make(map[string]string)
|
fieldErrors := make(map[string]string)
|
||||||
|
|
||||||
errV, ok := err.(validation.Errors)
|
var errV validation.Errors
|
||||||
if ok {
|
if errors.As(err, &errV) {
|
||||||
for key, value := range errV {
|
for key, value := range errV {
|
||||||
if value != nil {
|
if value != nil {
|
||||||
fieldErrors[key] = value.Error()
|
fieldErrors[key] = value.Error()
|
||||||
|
@ -45,5 +47,5 @@ func (v Validator) ValidateUpdateRequest(req param.KindBoxReqUpdateRequest) (map
|
||||||
WithErr(err)
|
WithErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return map[string]string{}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ type Repository interface {
|
||||||
BenefactorExist(id uint) (bool, error)
|
BenefactorExist(id uint) (bool, error)
|
||||||
KindBoxReqExist(id uint) (bool, error)
|
KindBoxReqExist(id uint) (bool, error)
|
||||||
TypeExist(id uint) (bool, error)
|
TypeExist(id uint) (bool, error)
|
||||||
KindBoxBelongToBenefactor(bId uint, kbId uint) (bool, error)
|
KindBoxBelongToBenefactor(bID uint, kbID uint) (bool, error)
|
||||||
PendingStatus(id uint) (bool, error)
|
PendingStatus(id uint) (bool, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,10 @@ func New(repo Repository) Validator {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesBenefactorExist(value interface{}) error {
|
func (v Validator) doesBenefactorExist(value interface{}) error {
|
||||||
benefactorID := value.(uint)
|
benefactorID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.BenefactorExist(benefactorID)
|
_, err := v.repo.BenefactorExist(benefactorID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -39,7 +42,10 @@ func (v Validator) doesBenefactorExist(value interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesTypeExist(value interface{}) error {
|
func (v Validator) doesTypeExist(value interface{}) error {
|
||||||
typeID := value.(uint)
|
typeID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.TypeExist(typeID)
|
_, err := v.repo.TypeExist(typeID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -49,7 +55,10 @@ func (v Validator) doesTypeExist(value interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) doesKindBoxRequestExist(value interface{}) error {
|
func (v Validator) doesKindBoxRequestExist(value interface{}) error {
|
||||||
kindBoxReqID := value.(uint)
|
kindBoxReqID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.KindBoxReqExist(kindBoxReqID)
|
_, err := v.repo.KindBoxReqExist(kindBoxReqID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
@ -60,8 +69,11 @@ func (v Validator) doesKindBoxRequestExist(value interface{}) error {
|
||||||
|
|
||||||
func (v Validator) doesKindBoxBelongToBenefactor(benefactorID uint) validation.RuleFunc {
|
func (v Validator) doesKindBoxBelongToBenefactor(benefactorID uint) validation.RuleFunc {
|
||||||
return func(value interface{}) error {
|
return func(value interface{}) error {
|
||||||
kbId := value.(uint)
|
kbID, ok := value.(uint)
|
||||||
_, err := v.repo.KindBoxBelongToBenefactor(benefactorID, kbId)
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
}
|
||||||
|
_, err := v.repo.KindBoxBelongToBenefactor(benefactorID, kbID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
}
|
}
|
||||||
|
@ -71,7 +83,10 @@ func (v Validator) doesKindBoxBelongToBenefactor(benefactorID uint) validation.R
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v Validator) hasPendingStatus(value interface{}) error {
|
func (v Validator) hasPendingStatus(value interface{}) error {
|
||||||
kindboxID := value.(uint)
|
kindboxID, ok := value.(uint)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf(errmsg.ErrorMsgSomethingWentWrong)
|
||||||
|
}
|
||||||
_, err := v.repo.PendingStatus(kindboxID)
|
_, err := v.repo.PendingStatus(kindboxID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
return fmt.Errorf(errmsg.ErrorMsgNotFound)
|
||||||
|
|
Loading…
Reference in New Issue