niki/service/admin/kind_box_req/service.go

37 lines
1.3 KiB
Go
Raw Normal View History

2023-12-25 17:08:19 +00:00
package adminkindboxreqservice
import (
"context"
"git.gocasts.ir/ebhomengo/niki/entity"
params "git.gocasts.ir/ebhomengo/niki/param"
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
)
type Repository interface {
AcceptKindBoxReq(ctx context.Context, kindBoxReqID uint, countAccepted uint) error
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
AssignSenderAgentToKindBoxReq(ctx context.Context, kindBoxReqID uint, senderAgentID uint) error
DeliverKindBoxReq(ctx context.Context, kindBoxReqID uint) error
GetAllKindBoxReq(ctx context.Context, filter params.FilterRequest, pagination params.PaginationRequest, sort params.SortRequest) ([]entity.KindBoxReq, uint, error)
GetAwaitingDeliveryByAgent(ctx context.Context, kindBoxReqID uint, agentID uint) (entity.KindBoxReq, error)
}
type KindBoxSvc interface {
AddBatchKindBox(ctx context.Context, req param.AddKindBoxRequest) (param.AddKindBoxResponse, error)
}
type Service struct {
repo Repository
kindBoxSvc KindBoxSvc
}
func New(repository Repository, kindBoxSvc KindBoxSvc) Service {
return Service{
repo: repository,
kindBoxSvc: kindBoxSvc,
}
}