2023-12-25 17:08:19 +00:00
|
|
|
package adminkindboxreqservice
|
2023-12-20 08:27:13 +00:00
|
|
|
|
2023-12-22 21:42:57 +00:00
|
|
|
import (
|
|
|
|
"context"
|
2024-01-22 14:07:51 +00:00
|
|
|
|
2024-01-22 08:14:57 +00:00
|
|
|
"git.gocasts.ir/ebhomengo/niki/entity"
|
2024-01-23 10:21:56 +00:00
|
|
|
adminkindboxparam "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
|
2023-12-22 21:42:57 +00:00
|
|
|
)
|
2023-12-20 08:27:13 +00:00
|
|
|
|
|
|
|
type Repository interface {
|
2024-01-22 10:43:16 +00:00
|
|
|
AcceptKindBoxReq(ctx context.Context, kindBoxReqID uint, countAccepted uint) error
|
2024-01-22 14:07:51 +00:00
|
|
|
GetByID(ctx context.Context, id uint) (entity.KindBoxReq, error)
|
2024-01-22 15:21:13 +00:00
|
|
|
RejectKindBoxReq(ctx context.Context, kindBoxReqID uint, description string) error
|
2024-01-25 15:15:53 +00:00
|
|
|
RollbackKindBoxRequestStatus(ctx context.Context, id uint) error
|
2024-02-03 04:56:27 +00:00
|
|
|
GetAllKindBoxReq(ctx context.Context) ([]entity.KindBoxReq, error)
|
2023-12-20 08:27:13 +00:00
|
|
|
}
|
|
|
|
|
2024-01-23 10:21:56 +00:00
|
|
|
type KindBoxClient interface {
|
|
|
|
AddKindBoxAfterAcceptingRequest(ctx context.Context, param adminkindboxparam.KindBoxAddAfterAcceptingReqRequest) (adminkindboxparam.KindBoxAddAfterAcceptingReqResponse, error)
|
|
|
|
}
|
|
|
|
|
2023-12-26 17:53:25 +00:00
|
|
|
// TODO: check validation.
|
2023-12-26 20:01:45 +00:00
|
|
|
// type BenefactorService interface {
|
|
|
|
// IsBenefactorExist(ctx context.Context, benefactorID uint) (bool, error)
|
|
|
|
// }
|
2023-12-26 17:52:20 +00:00
|
|
|
|
2023-12-20 08:27:13 +00:00
|
|
|
type Service struct {
|
2024-01-23 10:21:56 +00:00
|
|
|
repo Repository
|
2023-12-26 20:01:45 +00:00
|
|
|
// benefactorService BenefactorService
|
2024-01-23 10:21:56 +00:00
|
|
|
kindBoxClient KindBoxClient
|
2023-12-20 08:27:13 +00:00
|
|
|
}
|
|
|
|
|
2024-01-23 10:21:56 +00:00
|
|
|
func New(repository Repository, kindBoxClient KindBoxClient) Service {
|
2023-12-20 08:27:13 +00:00
|
|
|
return Service{
|
2024-01-23 10:21:56 +00:00
|
|
|
repo: repository,
|
|
|
|
kindBoxClient: kindBoxClient,
|
2023-12-20 08:27:13 +00:00
|
|
|
}
|
|
|
|
}
|