package agentkindboxhandler

import (
	adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
	agentkindboxservice "git.gocasts.ir/ebhomengo/niki/service/agent/kind_box"
	authservice "git.gocasts.ir/ebhomengo/niki/service/auth"
	agentkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/agent/kind_box"
)

type Handler struct {
	authConfig        authservice.Config
	authSvc           authservice.Service
	agentKindBoxSvc   agentkindboxservice.Service
	agentKindBoxVld   agentkindboxvalidator.Validator
	adminAuthorizeSvc adminauthorizationservice.Service
}

func New(authConfig authservice.Config, authSvc authservice.Service,
	agentKindBoxSvc agentkindboxservice.Service, agentKindBoxVld agentkindboxvalidator.Validator,
	adminAuthorizeSvc adminauthorizationservice.Service,
) Handler {
	return Handler{
		authConfig:        authConfig,
		authSvc:           authSvc,
		agentKindBoxSvc:   agentKindBoxSvc,
		agentKindBoxVld:   agentKindBoxVld,
		adminAuthorizeSvc: adminAuthorizeSvc,
	}
}