34 lines
1.0 KiB
Go
34 lines
1.0 KiB
Go
package handlers
|
|
|
|
import (
|
|
"kontor-api-gin/internal/repository"
|
|
"kontor-api-gin/internal/service"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type AdminHandler struct {
|
|
AuthHandler *AuthHandler
|
|
ProfileHandler *ProfileHandler
|
|
PermissionHandler *PermissionHandler
|
|
AssignmentHandler *AssignmentHandler
|
|
TokenHandler *TokenHandler
|
|
MailAccountHandler *MailAccountHandler
|
|
MailHandler *MailHandler
|
|
Secret []byte
|
|
}
|
|
|
|
func NewAdminHandler(db *gorm.DB, secret []byte) *AdminHandler {
|
|
adminHandler := &AdminHandler{
|
|
AuthHandler: &AuthHandler{Service: service.NewAuthService(repository.NewProfileRepository(db), secret)},
|
|
ProfileHandler: NewProfileHandler(db),
|
|
PermissionHandler: &PermissionHandler{Service: service.NewPermissionService(repository.NewPermissionRepository(db))},
|
|
AssignmentHandler: NewAssignmentHandler(db),
|
|
TokenHandler: NewTokenHandler(db),
|
|
MailAccountHandler: NewMailAccountHandler(db),
|
|
MailHandler: NewMailHandler(db),
|
|
Secret: secret,
|
|
}
|
|
return adminHandler
|
|
}
|