package adminhandler

import (
	adminservice "git.gocasts.ir/ebhomengo/niki/service/admin/admin"
	adminauthorizationservice "git.gocasts.ir/ebhomengo/niki/service/admin/authorization"
	adminauthservice "git.gocasts.ir/ebhomengo/niki/service/auth"
	adminvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/admin"
)

type Handler struct {
	authConfig        adminauthservice.Config
	authSvc           adminauthservice.Service
	adminSvc          adminservice.Service
	adminVld          adminvalidator.Validator
	adminAuthorizeSvc adminauthorizationservice.Service
}

func New(authConfig adminauthservice.Config, authSvc adminauthservice.Service,
	adminSvc adminservice.Service, adminVld adminvalidator.Validator,
	adminAuthorizeSvc adminauthorizationservice.Service,
) Handler {
	return Handler{
		authConfig:        authConfig,
		authSvc:           authSvc,
		adminSvc:          adminSvc,
		adminVld:          adminVld,
		adminAuthorizeSvc: adminAuthorizeSvc,
	}
}
