package auth

import (
	"tercul/internal/domain"
	"tercul/internal/platform/auth"
)

// Service is the application service for the auth aggregate.
type Service struct {
	Commands *AuthCommands
	Queries  *AuthQueries
}

// NewService creates a new auth Service.
func NewService(userRepo domain.UserRepository, jwtManager auth.JWTManagement) *Service {
	return &Service{
		Commands: NewAuthCommands(userRepo, jwtManager),
		Queries:  NewAuthQueries(userRepo, jwtManager),
	}
}
