80 lines
2.4 KiB
Go
80 lines
2.4 KiB
Go
package site
|
|
|
|
import (
|
|
"go.uber.org/zap"
|
|
|
|
siteusecase "codeberg.org/mapleopentech/monorepo/cloud/maplepress-backend/internal/usecase/site"
|
|
)
|
|
|
|
// ProvideCreateSiteService creates a new CreateSiteService for dependency injection
|
|
func ProvideCreateSiteService(
|
|
validateDomainUC *siteusecase.ValidateDomainUseCase,
|
|
generateAPIKeyUC *siteusecase.GenerateAPIKeyUseCase,
|
|
generateVerifyTokenUC *siteusecase.GenerateVerificationTokenUseCase,
|
|
createSiteEntityUC *siteusecase.CreateSiteEntityUseCase,
|
|
saveSiteToRepoUC *siteusecase.SaveSiteToRepoUseCase,
|
|
logger *zap.Logger,
|
|
) CreateSiteService {
|
|
return NewCreateSiteService(
|
|
validateDomainUC,
|
|
generateAPIKeyUC,
|
|
generateVerifyTokenUC,
|
|
createSiteEntityUC,
|
|
saveSiteToRepoUC,
|
|
logger,
|
|
)
|
|
}
|
|
|
|
// ProvideGetSiteService creates a new GetSiteService for dependency injection
|
|
func ProvideGetSiteService(
|
|
getUC *siteusecase.GetSiteUseCase,
|
|
logger *zap.Logger,
|
|
) GetSiteService {
|
|
return NewGetSiteService(getUC, logger)
|
|
}
|
|
|
|
// ProvideListSitesService creates a new ListSitesService for dependency injection
|
|
func ProvideListSitesService(
|
|
listUC *siteusecase.ListSitesUseCase,
|
|
logger *zap.Logger,
|
|
) ListSitesService {
|
|
return NewListSitesService(listUC, logger)
|
|
}
|
|
|
|
// ProvideDeleteSiteService creates a new DeleteSiteService for dependency injection
|
|
func ProvideDeleteSiteService(
|
|
validateSiteForDeletionUC *siteusecase.ValidateSiteForDeletionUseCase,
|
|
deleteSiteFromRepoUC *siteusecase.DeleteSiteFromRepoUseCase,
|
|
logger *zap.Logger,
|
|
) DeleteSiteService {
|
|
return NewDeleteSiteService(
|
|
validateSiteForDeletionUC,
|
|
deleteSiteFromRepoUC,
|
|
logger,
|
|
)
|
|
}
|
|
|
|
// ProvideRotateAPIKeyService creates a new RotateAPIKeyService for dependency injection
|
|
func ProvideRotateAPIKeyService(
|
|
getSiteUC *siteusecase.GetSiteUseCase,
|
|
generateAPIKeyUC *siteusecase.GenerateAPIKeyUseCase,
|
|
updateSiteAPIKeyUC *siteusecase.UpdateSiteAPIKeyUseCase,
|
|
updateSiteAPIKeyToRepoUC *siteusecase.UpdateSiteAPIKeyToRepoUseCase,
|
|
logger *zap.Logger,
|
|
) RotateAPIKeyService {
|
|
return NewRotateAPIKeyService(
|
|
getSiteUC,
|
|
generateAPIKeyUC,
|
|
updateSiteAPIKeyUC,
|
|
updateSiteAPIKeyToRepoUC,
|
|
logger,
|
|
)
|
|
}
|
|
|
|
// ProvideAuthenticateAPIKeyService creates a new AuthenticateAPIKeyService for dependency injection
|
|
func ProvideAuthenticateAPIKeyService(
|
|
authenticateUC *siteusecase.AuthenticateAPIKeyUseCase,
|
|
logger *zap.Logger,
|
|
) AuthenticateAPIKeyService {
|
|
return NewAuthenticateAPIKeyService(authenticateUC, logger)
|
|
}
|