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