package adminbenefactorhandler

import (
	adminaddressservice "git.gocasts.ir/ebhomengo/niki/service/admin/address"
	authorizeservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
	benefactorservice "git.gocasts.ir/ebhomengo/niki/service/admin/benefactor"
	adminkindboxservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box"
	adminkindboxreqservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box_req"
	authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
)

type Handler struct {
	authSvc       authservice.Service
	authorizeSvc  authorizeservice.Service
	benefactorSvc benefactorservice.Service
	addressSvc    adminaddressservice.Service
	kindBoxSvc    adminkindboxservice.Service
	kindBoxReqSvc adminkindboxreqservice.Service
}

func New(authSvc authservice.Service,
	authorizeSvc authorizeservice.Service,
	benefactorSvc benefactorservice.Service,
	addressSvc adminaddressservice.Service,
	kindBoxSvc adminkindboxservice.Service,
	kindBoxReqSvc adminkindboxreqservice.Service,
) Handler {
	return Handler{
		authSvc:       authSvc,
		authorizeSvc:  authorizeSvc,
		benefactorSvc: benefactorSvc,
		addressSvc:    addressSvc,
		kindBoxSvc:    kindBoxSvc,
		kindBoxReqSvc: kindBoxReqSvc,
	}
}
