forked from ebhomengo/niki
				
			fix(niki): refactor folder structure
This commit is contained in:
		
							parent
							
								
									72bdffc962
								
							
						
					
					
						commit
						1a093a6d69
					
				| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
package param
 | 
					package adminkindboxparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import "git.gocasts.ir/ebhomengo/niki/entity"
 | 
					import entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type KindBoxAddRequest struct {
 | 
					type KindBoxAddRequest struct {
 | 
				
			||||||
	KindBoxReqID uint
 | 
						KindBoxReqID uint
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
package param
 | 
					package adminkindboxparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type KindBoxDeleteRequest struct {
 | 
					type KindBoxDeleteRequest struct {
 | 
				
			||||||
	KindBoxID uint
 | 
						KindBoxID uint
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					package adminkindboxparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxGetRequest struct {
 | 
				
			||||||
 | 
						KindBoxID uint
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxGetResponse struct {
 | 
				
			||||||
 | 
						entity.KindBox
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
package param
 | 
					package adminkindboxparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import "git.gocasts.ir/ebhomengo/niki/entity"
 | 
					import entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type KindBoxGetAllRequest struct{}
 | 
					type KindBoxGetAllRequest struct{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,15 @@
 | 
				
			||||||
 | 
					package adminkindboxparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxUpdateRequest struct {
 | 
				
			||||||
 | 
						TotalAmount  uint
 | 
				
			||||||
 | 
						ReceiverID   uint
 | 
				
			||||||
 | 
						SenderID     uint
 | 
				
			||||||
 | 
						SerialNumber string
 | 
				
			||||||
 | 
						Status       KindBoxStatus
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxUpdateResponse struct {
 | 
				
			||||||
 | 
						KindBox entity.KindBox
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,13 @@
 | 
				
			||||||
 | 
					package adminkindboxreqparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqAddRequest struct {
 | 
				
			||||||
 | 
						BenefactorID   uint
 | 
				
			||||||
 | 
						TypeID         uint
 | 
				
			||||||
 | 
						CountRequested uint
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqAddResponse struct {
 | 
				
			||||||
 | 
						KindBoxReq entity.KindBoxReq
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
package param
 | 
					package adminkindboxreqparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type KindBoxReqDeleteRequest struct {
 | 
					type KindBoxReqDeleteRequest struct {
 | 
				
			||||||
	KindBoxReqID uint
 | 
						KindBoxReqID uint
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					package adminkindboxreqparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqGetRequest struct {
 | 
				
			||||||
 | 
						KindBoxReqID uint
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqGetResponse struct {
 | 
				
			||||||
 | 
						entity.KindBoxReq
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					package adminkindboxreqparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqGetAllRequest struct {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqGetAllResponse struct {
 | 
				
			||||||
 | 
						AllKindBoxReq []entity.KindBoxReq
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					package adminkindboxreqparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqUpdateRequest struct {
 | 
				
			||||||
 | 
						BenefactorID   uint
 | 
				
			||||||
 | 
						KindBoxReqID   uint
 | 
				
			||||||
 | 
						TypeID         uint
 | 
				
			||||||
 | 
						CountRequested uint
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqUpdateResponse struct {
 | 
				
			||||||
 | 
						KindBoxReq entity.KindBoxReq
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,11 +1,11 @@
 | 
				
			||||||
package param
 | 
					package userkindboxreqparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import "git.gocasts.ir/ebhomengo/niki/entity"
 | 
					import entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type KindBoxReqAddRequest struct {
 | 
					type KindBoxReqAddRequest struct {
 | 
				
			||||||
	CountRequested uint
 | 
					 | 
				
			||||||
	BenefactorID   uint
 | 
						BenefactorID   uint
 | 
				
			||||||
	TypeID         uint
 | 
						TypeID         uint
 | 
				
			||||||
 | 
						CountRequested uint
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type KindBoxReqAddResponse struct {
 | 
					type KindBoxReqAddResponse struct {
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					package userkindboxreqparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqDeleteRequest struct {
 | 
				
			||||||
 | 
						BenfactorID  uint
 | 
				
			||||||
 | 
						KindBoxReqID uint
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqDeleteResponse struct{}
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					package userkindboxreqparam
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqUpdateRequest struct {
 | 
				
			||||||
 | 
						BenefactorID   uint
 | 
				
			||||||
 | 
						KindBoxReqID   uint
 | 
				
			||||||
 | 
						TypeID         uint
 | 
				
			||||||
 | 
						CountRequested uint
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type KindBoxReqUpdateResponse struct {
 | 
				
			||||||
 | 
						KindBoxReq entity.KindBoxReq
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,11 +0,0 @@
 | 
				
			||||||
package param
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import "git.gocasts.ir/ebhomengo/niki/entity"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type KindBoxGetByIDRequest struct {
 | 
					 | 
				
			||||||
	KindBoxID uint
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type KindBoxGetByIDResponse struct {
 | 
					 | 
				
			||||||
	entity.KindBox
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,11 +0,0 @@
 | 
				
			||||||
package param
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import "git.gocasts.ir/ebhomengo/niki/entity"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type KindBoxUpdateRequest struct {
 | 
					 | 
				
			||||||
	KindBox entity.KindBox
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type KindBoxUpdateResponse struct {
 | 
					 | 
				
			||||||
	KindBox entity.KindBox
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,9 +0,0 @@
 | 
				
			||||||
package param
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import "git.gocasts.ir/ebhomengo/niki/entity"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type KindBoxReqGetAllRequest struct{}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type KindBoxReqGetAllResponse struct {
 | 
					 | 
				
			||||||
	AllKindBoxReq []entity.KindBoxReq
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,11 +0,0 @@
 | 
				
			||||||
package param
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import "git.gocasts.ir/ebhomengo/niki/entity"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type KindBoxReqGetByIDRequest struct {
 | 
					 | 
				
			||||||
	KindBoxReqID uint
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type KindBoxReqGetByIDResponse struct {
 | 
					 | 
				
			||||||
	entity.KindBoxReq
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,11 +0,0 @@
 | 
				
			||||||
package param
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import "git.gocasts.ir/ebhomengo/niki/entity"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type KindBoxReqUpdateRequest struct {
 | 
					 | 
				
			||||||
	KindBoxReq entity.KindBoxReq
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type KindBoxReqUpdateResponse struct {
 | 
					 | 
				
			||||||
	KindBoxReq entity.KindBoxReq
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,15 @@
 | 
				
			||||||
package errmsg
 | 
					package errmsg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	ErrorMsgNotFound           = "record not found"
 | 
						ErrorMsgNotFound               = "record not found"
 | 
				
			||||||
	ErrorMsgSomethingWentWrong = "something went wrong"
 | 
						ErrorMsgSomethingWentWrong     = "something went wrong"
 | 
				
			||||||
	ErrorMsgInvalidInput       = "invalid input"
 | 
						ErrorMsgInvalidInput           = "invalid input"
 | 
				
			||||||
 | 
						ErrorMsgInvalidStatus          = "invalid status"
 | 
				
			||||||
 | 
						ErrorMsgPhoneNumberIsNotUnique = "phone number is not unique"
 | 
				
			||||||
 | 
						ErrorMsgPhoneNumberIsNotValid  = "phone number is not valid"
 | 
				
			||||||
 | 
						ErrorMsgUserNotAllowed         = "user not allowed"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// const (
 | 
				
			||||||
 | 
					// 	ErrorMsgCantScanQueryResult = "can't scan query result"
 | 
				
			||||||
 | 
					// )
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,15 +1,15 @@
 | 
				
			||||||
package kindboxservice
 | 
					package adminkindboxservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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/kind_box"
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
 | 
				
			||||||
	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.KindBoxAddRequest) (param.KindBoxAddResponse, error) {
 | 
					func (s Service) Add(ctx context.Context, req param.KindBoxAddRequest) (param.KindBoxAddResponse, error) {
 | 
				
			||||||
	const op = "kindboxservice.Add"
 | 
						const op = "adminkindboxservice.Add"
 | 
				
			||||||
	kindBox, err := s.repo.AddKindBox(ctx, entity.KindBox{
 | 
						kindBox, err := s.repo.AddKindBox(ctx, entity.KindBox{
 | 
				
			||||||
		KindBoxReqID: req.KindBoxReqID,
 | 
							KindBoxReqID: req.KindBoxReqID,
 | 
				
			||||||
		SenderID:     req.SenderID,
 | 
							SenderID:     req.SenderID,
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,9 @@
 | 
				
			||||||
package kindboxservice
 | 
					package adminkindboxservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"context"
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	param "git.gocasts.ir/ebhomengo/niki/param/kind_box"
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (s Service) Delete(ctx context.Context, req param.KindBoxDeleteRequest) error {
 | 
					func (s Service) Delete(ctx context.Context, req param.KindBoxDeleteRequest) error {
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,17 @@
 | 
				
			||||||
 | 
					package adminkindboxservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
 | 
				
			||||||
 | 
						richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s Service) Get(ctx context.Context, req param.KindBoxGetRequest) (param.KindBoxGetResponse, error) {
 | 
				
			||||||
 | 
						const op = "adminkindboxservice.Get"
 | 
				
			||||||
 | 
						kindBox, err := s.repo.GetKindBox(ctx, req.KindBoxID)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return param.KindBoxGetResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return param.KindBoxGetResponse{KindBox: kindBox}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,14 +1,14 @@
 | 
				
			||||||
package kindboxservice
 | 
					package adminkindboxservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"context"
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	param "git.gocasts.ir/ebhomengo/niki/param/kind_box"
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
 | 
				
			||||||
	richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
 | 
						richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (s Service) GetAll(ctx context.Context) (param.KindBoxGetAllResponse, error) {
 | 
					func (s Service) GetAll(ctx context.Context) (param.KindBoxGetAllResponse, error) {
 | 
				
			||||||
	const op = "kindboxservice.GetAll"
 | 
						const op = "adminkindboxservice.GetAll"
 | 
				
			||||||
	allKindBox, err := s.repo.GetAllKindBox(ctx)
 | 
						allKindBox, err := s.repo.GetAllKindBox(ctx)
 | 
				
			||||||
	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)
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,9 @@
 | 
				
			||||||
package kindboxservice
 | 
					package adminkindboxservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"context"
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"git.gocasts.ir/ebhomengo/niki/entity"
 | 
						entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Repository interface {
 | 
					type Repository interface {
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,7 @@ type Repository interface {
 | 
				
			||||||
	EditKindBox(ctx context.Context, kindBoxID uint, kindBoxInput entity.KindBox) (entity.KindBox, error)
 | 
						EditKindBox(ctx context.Context, kindBoxID uint, kindBoxInput entity.KindBox) (entity.KindBox, error)
 | 
				
			||||||
	DeleteKindBox(ctx context.Context, kindBoxID uint) error
 | 
						DeleteKindBox(ctx context.Context, kindBoxID uint) error
 | 
				
			||||||
	GetAllKindBox(ctx context.Context) ([]entity.KindBox, error)
 | 
						GetAllKindBox(ctx context.Context) ([]entity.KindBox, error)
 | 
				
			||||||
	GetKindBoxByID(ctx context.Context, kindBox uint) (entity.KindBox, error)
 | 
						GetKindBox(ctx context.Context, kindBox uint) (entity.KindBox, error)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Service struct {
 | 
					type Service struct {
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,9 @@
 | 
				
			||||||
package kindboxservice
 | 
					package adminkindboxservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"context"
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	param "git.gocasts.ir/ebhomengo/niki/param/kind_box"
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (s Service) Update(ctx context.Context, req param.KindBoxUpdateRequest) (param.KindBoxUpdateResponse, error) {
 | 
					func (s Service) Update(ctx context.Context, req param.KindBoxUpdateRequest) (param.KindBoxUpdateResponse, error) {
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,26 @@
 | 
				
			||||||
 | 
					package adminkindboxreqservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
 | 
				
			||||||
 | 
						richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s Service) Add(ctx context.Context, req param.KindBoxReqAddRequest) (param.KindBoxReqAddResponse, error) {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						const op = "adminkindboxreqservice.Add"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						kindBoxReq, err := s.repo.AddKindBoxReq(ctx, entity.KindBoxReq{
 | 
				
			||||||
 | 
							BenefactorID:   req.BenefactorID,
 | 
				
			||||||
 | 
							TypeID:         req.TypeID,
 | 
				
			||||||
 | 
							CountRequested: req.CountRequested,
 | 
				
			||||||
 | 
							Status:         entity.KindBoxReqPendingStatus,
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return param.KindBoxReqAddResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return param.KindBoxReqAddResponse{KindBoxReq: kindBoxReq}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					package adminkindboxreqservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
 | 
				
			||||||
 | 
						richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s Service) Delete(ctx context.Context, req param.KindBoxReqDeleteRequest) (param.KindBoxReqDeleteResponse, error) {
 | 
				
			||||||
 | 
						//TODO: Does bussiness domain need to delete an kindboxreq ?
 | 
				
			||||||
 | 
						const op = "adminkindboxreqservice.Delete"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						dErr := s.repo.DeleteKindBoxReq(ctx, req.KindBoxReqID)
 | 
				
			||||||
 | 
						if dErr != nil {
 | 
				
			||||||
 | 
							return param.KindBoxReqDeleteResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return param.KindBoxReqDeleteResponse{KindBoxReq: kindBoxReq}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					package adminkindboxreqservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
 | 
				
			||||||
 | 
						richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s Service) Get(ctx context.Context, req param.KindBoxReqGetRequest) (param.KindBoxReqGetResponse, error) {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						const op = "adminkindboxreqservice.Get"
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						kindBoxReq, err := s.repo.GetKindBoxReq(ctx, req.KindBoxReqID)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return param.KindBoxReqGetResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return param.KindBoxReqGetResponse{KindBoxReq: kindBoxReq}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,17 +1,21 @@
 | 
				
			||||||
package kindboxreqservice
 | 
					package adminkindboxreqservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"context"
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	param "git.gocasts.ir/ebhomengo/niki/param/kind_box_req"
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/benefactor/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
 | 
				
			||||||
func (s Service) GetAll(ctx context.Context) (param.KindBoxReqGetAllResponse, error) {
 | 
					func (s Service) GetAll(ctx context.Context) (param.KindBoxReqGetAllResponse, error) {
 | 
				
			||||||
	const op = "kindboxreqservice.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
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,17 +1,18 @@
 | 
				
			||||||
package kindboxreqservice
 | 
					package adminkindboxreqservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"context"
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"git.gocasts.ir/ebhomengo/niki/entity"
 | 
						entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Repository interface {
 | 
					type Repository interface {
 | 
				
			||||||
	AddKindBoxReq(ctx context.Context, kindBoxReq entity.KindBoxReq) (entity.KindBoxReq, error)
 | 
						AddKindBoxReq(ctx context.Context, kindBoxReq entity.KindBoxReq) (entity.KindBoxReq, error)
 | 
				
			||||||
	EditKindBoxReq(ctx context.Context, kindBoxReqID uint, kindBoxReqInput entity.KindBoxReq) (entity.KindBoxReq, error)
 | 
						UpdateKindBoxReq(ctx context.Context, kindBoxReqID uint, kindBoxReq entity.KindBoxReq) (entity.KindBoxReq, error)
 | 
				
			||||||
 | 
						// TODO: can benefactor cancel its request ?
 | 
				
			||||||
	DeleteKindBoxReq(ctx context.Context, kindBoxReqID uint) error
 | 
						DeleteKindBoxReq(ctx context.Context, kindBoxReqID uint) error
 | 
				
			||||||
	GetAllKindBoxReq(ctx context.Context) ([]entity.KindBoxReq, error)
 | 
						GetAllKindBoxReq(ctx context.Context) ([]entity.KindBoxReq, error)
 | 
				
			||||||
	GetKindBoxReqByID(ctx context.Context, kindBoxReq uint) (entity.KindBoxReq, error)
 | 
						GetKindBoxReq(ctx context.Context, kindBoxReqID uint) (entity.KindBoxReq, error)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Service struct {
 | 
					type Service struct {
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,37 @@
 | 
				
			||||||
 | 
					package adminkindboxreqservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
						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) Update(ctx context.Context, req param.KindBoxReqUpdateRequest) (param.KindBoxReqUpdateResponse, error) {
 | 
				
			||||||
 | 
						// TODO: can benefactor update its request ?
 | 
				
			||||||
 | 
						// TODO: Is Update Mothod Service Responsible to check which kindboxreqID belongs to benefactorID ?
 | 
				
			||||||
 | 
						// TODO: updating data(s) may have side-effect on other entities by masood-keshvary accepted -> rejected
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						const op = "adminkindboxreqservice.Update"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						kbr, gErr := s.repo.GetKindBoxReq(ctx, req.KindBoxReqID)
 | 
				
			||||||
 | 
						if gErr != nil {
 | 
				
			||||||
 | 
							return param.KindBoxReqUpdateResponse{}, richerror.New(op).WithErr(gErr).WithKind(richerror.KindUnexpected)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if kbr.Status != KindBoxReqPendingStatus {
 | 
				
			||||||
 | 
							return param.KindBoxReqUpdateResponse{}, richerror.New(op).WithMessage(errmsg.ErrorMsgInvalidStatus).WithKind(richerror.KindInvalid)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						kindBoxReq, uErr := s.repo.UpdateKindBoxReq(ctx, req.KindBoxReqID, entity.KindBoxReq{
 | 
				
			||||||
 | 
							BenefactorID:   req.BenefactorID,
 | 
				
			||||||
 | 
							TypeID:         req.TypeID,
 | 
				
			||||||
 | 
							CountRequested: req.CountRequested,
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
						if uErr != nil {
 | 
				
			||||||
 | 
							return param.KindBoxReqUpdateResponse{}, richerror.New(op).WithErr(uErr).WithKind(richerror.KindUnexpected)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return param.KindBoxReqUpdateResponse{KindBoxReq: kindBoxReq}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,23 +1,25 @@
 | 
				
			||||||
package kindboxreqservice
 | 
					package userkindboxreqservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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/kind_box_req"
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/benefactor/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 = "kindboxreqservice.Add"
 | 
						const op = "userkindboxreqservice.Add"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	kindBoxReq, err := s.repo.AddKindBoxReq(ctx, entity.KindBoxReq{
 | 
						kindBoxReq, err := s.repo.AddKindBoxReq(ctx, entity.KindBoxReq{
 | 
				
			||||||
 | 
							BenefactorID:   req.BenefactorID,
 | 
				
			||||||
		TypeID:         req.TypeID,
 | 
							TypeID:         req.TypeID,
 | 
				
			||||||
		CountRequested: req.CountRequested,
 | 
							CountRequested: req.CountRequested,
 | 
				
			||||||
		BenefactorID:   req.BenefactorID,
 | 
					 | 
				
			||||||
		Status:         entity.KindBoxReqPendingStatus,
 | 
							Status:         entity.KindBoxReqPendingStatus,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return param.KindBoxReqAddResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
 | 
							return param.KindBoxReqAddResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return param.KindBoxReqAddResponse{KindBoxReq: kindBoxReq}, nil
 | 
						return param.KindBoxReqAddResponse{KindBoxReq: kindBoxReq}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,32 @@
 | 
				
			||||||
 | 
					package userkindboxreqservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
 | 
				
			||||||
 | 
						richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s Service) Delete(ctx context.Context, req param.KindBoxReqDeleteRequest) (param.KindBoxReqDeleteResponse, error) {
 | 
				
			||||||
 | 
						//TODO: Does bussiness domain need to delete an kindboxreq ?
 | 
				
			||||||
 | 
						const op = "userkindboxreqservice.Delete"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						kbr, gErr := s.repo.GetKindBoxReq(ctx, req.KindBoxReqID)
 | 
				
			||||||
 | 
						if gErr != nil {
 | 
				
			||||||
 | 
							return param.KindBoxReqUpdateResponse{}, richerror.New(op).WithErr(gErr).WithKind(richerror.KindUnexpected)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if kbr.Status != KindBoxReqPendingStatus {
 | 
				
			||||||
 | 
							return param.KindBoxReqUpdateResponse{}, richerror.New(op).WithMessage(errmsg.ErrorMsgInvalidStatus).WithKind(richerror.KindInvalid)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if kbr.BenefactorID != req.BenefactorID {
 | 
				
			||||||
 | 
							return param.KindBoxReqGetResponse{}, richerror.New(op).WithMessage(errmsg.ErrorMsgUserNotAllowed).WithKind(richerror.KindForbidden)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						dErr := s.repo.DeleteKindBoxReq(ctx, req.KindBoxReqID)
 | 
				
			||||||
 | 
						if dErr != nil {
 | 
				
			||||||
 | 
							return param.KindBoxReqDeleteResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return param.KindBoxReqDeleteResponse{KindBoxReq: kindBoxReq}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					package userkindboxreqservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
						param "git.gocasts.ir/ebhomengo/niki/param/benefactor/kind_box_req"
 | 
				
			||||||
 | 
						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) (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,26 @@
 | 
				
			||||||
 | 
					package userkindboxreqservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Repository interface {
 | 
				
			||||||
 | 
						AddKindBoxReq(ctx context.Context, kindBoxReq entity.KindBoxReq) (entity.KindBoxReq, error)
 | 
				
			||||||
 | 
						UpdateKindBoxReq(ctx context.Context, kindBoxReqID uint, kindBoxReq entity.KindBoxReq) (entity.KindBoxReq, error)
 | 
				
			||||||
 | 
						// TODO: can benefactor cancel its request ?
 | 
				
			||||||
 | 
						DeleteKindBoxReq(ctx context.Context, kindBoxReqID uint) error
 | 
				
			||||||
 | 
						GetAllKindBoxReq(ctx context.Context, benefactorID uint) ([]entity.KindBoxReq, error)
 | 
				
			||||||
 | 
						GetKindBoxReq(ctx context.Context, kindBoxReqID uint) (entity.KindBoxReq, error)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Service struct {
 | 
				
			||||||
 | 
						repo Repository
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func New(repository Repository) Service {
 | 
				
			||||||
 | 
						return Service{
 | 
				
			||||||
 | 
							repo: repository,
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,35 @@
 | 
				
			||||||
 | 
					package userkindboxreqservice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						entity "git.gocasts.ir/ebhomengo/niki/entity"
 | 
				
			||||||
 | 
						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) Update(ctx context.Context, req param.KindBoxReqUpdateRequest) (param.KindBoxReqUpdateResponse, error) {
 | 
				
			||||||
 | 
						// TODO: can benefactor update its request ?
 | 
				
			||||||
 | 
						// TODO: Is Update Mothod Service Responsible to check which kindboxreqID belongs to benefactorID ?
 | 
				
			||||||
 | 
						const op = "userkindboxreqservice.Update"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						kbr, gErr := s.repo.GetKindBoxReq(ctx, req.KindBoxReqID)
 | 
				
			||||||
 | 
						if gErr != nil {
 | 
				
			||||||
 | 
							return param.KindBoxReqUpdateResponse{}, richerror.New(op).WithErr(gErr).WithKind(richerror.KindUnexpected)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if kbr.Status != KindBoxReqPendingStatus {
 | 
				
			||||||
 | 
							return param.KindBoxReqUpdateResponse{}, richerror.New(op).WithMessage(errmsg.ErrorMsgInvalidStatus).WithKind(richerror.KindInvalid)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						kindBoxReq, uErr := s.repo.UpdateKindBoxReq(ctx, req.KindBoxReqID, entity.KindBoxReq{
 | 
				
			||||||
 | 
							BenefactorID:   req.BenefactorID,
 | 
				
			||||||
 | 
							TypeID:         req.TypeID,
 | 
				
			||||||
 | 
							CountRequested: req.CountRequested,
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
						if uErr != nil {
 | 
				
			||||||
 | 
							return param.KindBoxReqUpdateResponse{}, richerror.New(op).WithErr(uErr).WithKind(richerror.KindUnexpected)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return param.KindBoxReqUpdateResponse{KindBoxReq: kindBoxReq}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,17 +0,0 @@
 | 
				
			||||||
package kindboxservice
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import (
 | 
					 | 
				
			||||||
	"context"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	param "git.gocasts.ir/ebhomengo/niki/param/kind_box"
 | 
					 | 
				
			||||||
	richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (s Service) GetByID(ctx context.Context, req param.KindBoxGetByIDRequest) (param.KindBoxGetByIDResponse, error) {
 | 
					 | 
				
			||||||
	const op = "kindboxservice.GetByID"
 | 
					 | 
				
			||||||
	kindBox, err := s.repo.GetKindBoxByID(ctx, req.KindBoxID)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		return param.KindBoxGetByIDResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return param.KindBoxGetByIDResponse{KindBox: kindBox}, nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,12 +0,0 @@
 | 
				
			||||||
package kindboxreqservice
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import (
 | 
					 | 
				
			||||||
	"context"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	param "git.gocasts.ir/ebhomengo/niki/param/kind_box_req"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (s Service) Delete(ctx context.Context, req param.KindBoxReqDeleteRequest) error {
 | 
					 | 
				
			||||||
	// some code
 | 
					 | 
				
			||||||
	panic("not implemented")
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,17 +0,0 @@
 | 
				
			||||||
package kindboxreqservice
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import (
 | 
					 | 
				
			||||||
	"context"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	param "git.gocasts.ir/ebhomengo/niki/param/kind_box_req"
 | 
					 | 
				
			||||||
	richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (s Service) GetByID(ctx context.Context, req param.KindBoxReqGetByIDRequest) (param.KindBoxReqGetByIDResponse, error) {
 | 
					 | 
				
			||||||
	const op = "kindboxreqservice.GetByID"
 | 
					 | 
				
			||||||
	kindBoxReq, err := s.repo.GetKindBoxReqByID(ctx, req.KindBoxReqID)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		return param.KindBoxReqGetByIDResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return param.KindBoxReqGetByIDResponse{KindBoxReq: kindBoxReq}, nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,17 +0,0 @@
 | 
				
			||||||
package kindboxreqservice
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import (
 | 
					 | 
				
			||||||
	"context"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	param "git.gocasts.ir/ebhomengo/niki/param/kind_box_req"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (s Service) Update(ctx context.Context, req param.KindBoxReqUpdateRequest) (param.KindBoxReqUpdateResponse, error) {
 | 
					 | 
				
			||||||
	// const op = "kindboxreqservice.Update"
 | 
					 | 
				
			||||||
	// kindBoxReq, err := s.repo.EditKindBoxReq(req.KindBoxReq.ID, req.KindBoxReq)
 | 
					 | 
				
			||||||
	// if err != nil {
 | 
					 | 
				
			||||||
	// 	return param.KindBoxReqUpdateResponse{}, richerror.New(op).WithErr(err).WithKind(richerror.KindUnexpected)
 | 
					 | 
				
			||||||
	// }
 | 
					 | 
				
			||||||
	// return param.KindBoxReqUpdateResponse{KindBoxReq: kindBoxReq}, nil
 | 
					 | 
				
			||||||
	panic("not implemented")
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in New Issue