forked from ebhomengo/niki
fix(service): complete admin kindboxreq service
This commit is contained in:
parent
3e0e8567eb
commit
9674f61402
|
@ -0,0 +1,12 @@
|
||||||
|
package userkindboxreqparam
|
||||||
|
|
||||||
|
import entity "git.gocasts.ir/ebhomengo/niki/entity"
|
||||||
|
|
||||||
|
type KindBoxReqGetRequest struct {
|
||||||
|
BenefactorID uint
|
||||||
|
KindBoxReqID uint
|
||||||
|
}
|
||||||
|
|
||||||
|
type KindBoxReqGetResponse struct {
|
||||||
|
entity.KindBoxReq
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
package userkindboxreqparam
|
||||||
|
|
||||||
|
import entity "git.gocasts.ir/ebhomengo/niki/entity"
|
||||||
|
|
||||||
|
type KindBoxReqGetAllRequest struct {
|
||||||
|
BenefactorID uint
|
||||||
|
}
|
||||||
|
|
||||||
|
type KindBoxReqGetAllResponse struct {
|
||||||
|
AllKindBoxReq []entity.KindBoxReq
|
||||||
|
}
|
|
@ -2,16 +2,24 @@ package adminkindboxreqservice
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
entity "git.gocasts.ir/ebhomengo/niki/entity"
|
entity "git.gocasts.ir/ebhomengo/niki/entity"
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (s Service) Add(ctx context.Context, req param.KindBoxReqAddRequest) (param.KindBoxReqAddResponse, error) {
|
func (s Service) Add(ctx context.Context, req param.KindBoxReqAddRequest) (param.KindBoxReqAddResponse, error) {
|
||||||
|
|
||||||
const op = "adminkindboxreqservice.Add"
|
const op = "adminkindboxreqservice.Add"
|
||||||
|
|
||||||
|
// TODO: check validation
|
||||||
|
//exist, err := s.benefactorService.IsBenefactorExist(ctx, req.BenefactorID)
|
||||||
|
//if err != nil {
|
||||||
|
// return param.KindBoxReqAddResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
|
||||||
|
//}
|
||||||
|
//if !exist {
|
||||||
|
// return param.KindBoxReqAddResponse{}, richerror.New(op).WithMessage(errmsg.ErrorMsgUserNotFound).WithKind(richerror.KindInvalid)
|
||||||
|
//}
|
||||||
|
|
||||||
kindBoxReq, err := s.repo.AddKindBoxReq(ctx, entity.KindBoxReq{
|
kindBoxReq, err := s.repo.AddKindBoxReq(ctx, entity.KindBoxReq{
|
||||||
BenefactorID: req.BenefactorID,
|
BenefactorID: req.BenefactorID,
|
||||||
TypeID: req.TypeID,
|
TypeID: req.TypeID,
|
||||||
|
|
|
@ -3,7 +3,7 @@ package adminkindboxreqservice
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ package adminkindboxreqservice
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -3,19 +3,19 @@ package adminkindboxreqservice
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
|
||||||
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TODO: Pagination, Filters, Sort
|
// TODO: Pagination, Filters, Sort
|
||||||
func (s Service) GetAll(ctx context.Context) (param.KindBoxReqGetAllResponse, error) {
|
func (s Service) GetAll(ctx context.Context) (param.KindBoxReqGetAllResponse, error) {
|
||||||
|
|
||||||
const op = "adminkindboxreqservice.GetAll"
|
const op = "adminkindboxreqservice.GetAll"
|
||||||
|
|
||||||
allKindBoxReq, err := s.repo.GetAllKindBoxReq(ctx)
|
allKindBoxReq, err := s.repo.GetAllKindBoxReq(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return param.KindBoxReqGetAllResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
|
return param.KindBoxReqGetAllResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
|
||||||
}
|
}
|
||||||
|
|
||||||
return param.KindBoxReqGetAllResponse{AllKindBoxReq: allKindBoxReq}, nil
|
return param.KindBoxReqGetAllResponse{AllKindBoxReq: allKindBoxReq}, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,14 @@ type Repository interface {
|
||||||
GetKindBoxReq(ctx context.Context, kindBoxReqID uint) (entity.KindBoxReq, error)
|
GetKindBoxReq(ctx context.Context, kindBoxReqID uint) (entity.KindBoxReq, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: check validation
|
||||||
|
type BenefactorService interface {
|
||||||
|
IsBenefactorExist(ctx context.Context, benefactorID uint) (bool, error)
|
||||||
|
}
|
||||||
|
|
||||||
type Service struct {
|
type Service struct {
|
||||||
repo Repository
|
repo Repository
|
||||||
|
benefactorService BenefactorService
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(repository Repository) Service {
|
func New(repository Repository) Service {
|
||||||
|
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
entity "git.gocasts.ir/ebhomengo/niki/entity"
|
entity "git.gocasts.ir/ebhomengo/niki/entity"
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
package userkindboxreqservice
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
||||||
|
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
|
||||||
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (s Service) Get(ctx context.Context, req param.KindBoxReqGetRequest) (param.KindBoxReqGetResponse, error) {
|
||||||
|
|
||||||
|
const op = "userkindboxreqservice.Get"
|
||||||
|
|
||||||
|
kindBoxReq, err := s.repo.GetKindBoxReq(ctx, req.KindBoxReqID)
|
||||||
|
if err != nil {
|
||||||
|
return param.KindBoxReqGetResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
|
||||||
|
}
|
||||||
|
// TODO : ref to service.Update()
|
||||||
|
if kindBoxReq.BenefactorID != req.BenefactorID {
|
||||||
|
return param.KindBoxReqGetResponse{}, richerror.New(op).WithMessage(errmsg.ErrorMsgUserNotAllowed).WithKind(richerror.KindForbidden)
|
||||||
|
}
|
||||||
|
|
||||||
|
return param.KindBoxReqGetResponse{KindBoxReq: kindBoxReq}, nil
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
package userkindboxreqservice
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
|
||||||
|
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TODO: Pagination, Filters, Sort
|
||||||
|
func (s Service) GetAll(ctx context.Context, req param.KindBoxReqGetAllRequest) (param.KindBoxReqGetAllResponse, error) {
|
||||||
|
|
||||||
|
const op = "userkindboxreqservice.GetAll"
|
||||||
|
|
||||||
|
allKindBoxReq, err := s.repo.GetAllKindBoxReq(ctx, req.BenefactorID)
|
||||||
|
if err != nil {
|
||||||
|
return param.KindBoxReqGetAllResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
|
||||||
|
}
|
||||||
|
|
||||||
|
return param.KindBoxReqGetAllResponse{AllKindBoxReq: allKindBoxReq}, nil
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
package kind_box
|
Loading…
Reference in New Issue