package adminkindboxreqhandler

import (
	adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
	adminkindboxreqservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box_req"
	authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
	adminkindboxreqvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/kind_box_req"
)

type Handler struct {
	authConfig         authservice.Config
	authSvc            authservice.Service
	adminKindBoxReqSvc adminkindboxreqservice.Service
	adminKindBoxReqVld adminkindboxreqvalidator.Validator
	adminAuthorizeSvc  adminauthorizationservice.Service
}

func New(authConfig authservice.Config, authSvc authservice.Service,
	adminKindBoxReqSvc adminkindboxreqservice.Service, adminKindBoxReqVld adminkindboxreqvalidator.Validator,
	adminAuthorizeSvc adminauthorizationservice.Service,
) Handler {
	return Handler{
		authConfig:         authConfig,
		authSvc:            authSvc,
		adminKindBoxReqSvc: adminKindBoxReqSvc,
		adminKindBoxReqVld: adminKindBoxReqVld,
		adminAuthorizeSvc:  adminAuthorizeSvc,
	}
}
