35 lines
1.1 KiB
Go
35 lines
1.1 KiB
Go
package site
|
|
|
|
import (
|
|
"context"
|
|
|
|
"go.uber.org/zap"
|
|
|
|
siteusecase "codeberg.org/mapleopentech/monorepo/cloud/maplepress-backend/internal/usecase/site"
|
|
)
|
|
|
|
// AuthenticateAPIKeyService handles API key authentication operations
|
|
type AuthenticateAPIKeyService interface {
|
|
AuthenticateByAPIKey(ctx context.Context, input *siteusecase.AuthenticateAPIKeyInput) (*siteusecase.AuthenticateAPIKeyOutput, error)
|
|
}
|
|
|
|
type authenticateAPIKeyService struct {
|
|
authenticateUC *siteusecase.AuthenticateAPIKeyUseCase
|
|
logger *zap.Logger
|
|
}
|
|
|
|
// NewAuthenticateAPIKeyService creates a new AuthenticateAPIKeyService
|
|
func NewAuthenticateAPIKeyService(
|
|
authenticateUC *siteusecase.AuthenticateAPIKeyUseCase,
|
|
logger *zap.Logger,
|
|
) AuthenticateAPIKeyService {
|
|
return &authenticateAPIKeyService{
|
|
authenticateUC: authenticateUC,
|
|
logger: logger.Named("authenticate-apikey-service"),
|
|
}
|
|
}
|
|
|
|
// AuthenticateByAPIKey authenticates an API key
|
|
func (s *authenticateAPIKeyService) AuthenticateByAPIKey(ctx context.Context, input *siteusecase.AuthenticateAPIKeyInput) (*siteusecase.AuthenticateAPIKeyOutput, error) {
|
|
return s.authenticateUC.Execute(ctx, input)
|
|
}
|