niki/service/admin/benefactor/service.go

32 lines
1.2 KiB
Go

package adminbenefactorservice
import (
"context"
"git.gocasts.ir/ebhomengo/niki/entity"
"git.gocasts.ir/ebhomengo/niki/param"
adminaddressparam "git.gocasts.ir/ebhomengo/niki/param/admin/address"
validator "git.gocasts.ir/ebhomengo/niki/validator/admin/benefactor"
)
type Repository interface {
IsExistBenefactorByID(ctx context.Context, id uint) (bool, error)
GetByID(ctx context.Context, id uint) (entity.Benefactor, error)
GetAllBenefactor(ctx context.Context, filter param.FilterRequest, pagination param.PaginationRequest, sort param.SortRequest) ([]entity.Benefactor, uint, error)
UpdateBenefactor(ctx context.Context, benefactor entity.Benefactor) error
UpdateStatusBenefactor(ctx context.Context, benefactor entity.Benefactor, status entity.BenefactorStatus) error
}
type AddressSvc interface {
GetAddressByID(ctx context.Context, request adminaddressparam.AddressGetRequest) (adminaddressparam.AddressGetResponse, error)
}
type Service struct {
repo Repository
addressSvc AddressSvc
vld validator.Validator
}
func New(repo Repository, addressSvc AddressSvc, vld validator.Validator) Service {
return Service{repo: repo, addressSvc: addressSvc, vld: vld}
}