monorepo/cloud/maplepress-backend/internal/service/site/get.go

36 lines
943 B
Go

package site
import (
"context"
"github.com/gocql/gocql"
"go.uber.org/zap"
siteusecase "codeberg.org/mapleopentech/monorepo/cloud/maplepress-backend/internal/usecase/site"
)
// GetSiteService handles getting a single site
type GetSiteService interface {
GetSite(ctx context.Context, tenantID gocql.UUID, input *siteusecase.GetSiteInput) (*siteusecase.GetSiteOutput, error)
}
type getSiteService struct {
getUC *siteusecase.GetSiteUseCase
logger *zap.Logger
}
// NewGetSiteService creates a new GetSiteService
func NewGetSiteService(
getUC *siteusecase.GetSiteUseCase,
logger *zap.Logger,
) GetSiteService {
return &getSiteService{
getUC: getUC,
logger: logger.Named("get-site-service"),
}
}
// GetSite retrieves a site by ID
func (s *getSiteService) GetSite(ctx context.Context, tenantID gocql.UUID, input *siteusecase.GetSiteInput) (*siteusecase.GetSiteOutput, error) {
return s.getUC.Execute(ctx, tenantID, input)
}