package adminkindboxhandler

import (
	adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
	adminkindboxservice "git.gocasts.ir/ebhomengo/niki/service/admin/kind_box"
	authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
	adminkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/kind_box"
)

type Handler struct {
	authConfig        authservice.Config
	authSvc           authservice.Service
	adminKindBoxSvc   adminkindboxservice.Service
	adminKindBoxVld   adminkindboxvalidator.Validator
	adminAuthorizeSvc adminauthorizationservice.Service
}

func New(authConfig authservice.Config, authSvc authservice.Service,
	adminKindBoxSvc adminkindboxservice.Service, adminKindBoxVld adminkindboxvalidator.Validator,
	adminAuthorizeSvc adminauthorizationservice.Service,
) Handler {
	return Handler{
		authConfig:        authConfig,
		authSvc:           authSvc,
		adminKindBoxSvc:   adminKindBoxSvc,
		adminKindBoxVld:   adminKindBoxVld,
		adminAuthorizeSvc: adminAuthorizeSvc,
	}
}