|
@@ -9,6 +9,7 @@ import (
|
|
|
"github.com/goinfinite/os/src/domain/useCase"
|
|
|
"github.com/goinfinite/os/src/domain/valueObject"
|
|
|
voHelper "github.com/goinfinite/os/src/domain/valueObject/helper"
|
|
|
+ activityRecordInfra "github.com/goinfinite/os/src/infra/activityRecord"
|
|
|
infraEnvs "github.com/goinfinite/os/src/infra/envs"
|
|
|
infraHelper "github.com/goinfinite/os/src/infra/helper"
|
|
|
internalDbInfra "github.com/goinfinite/os/src/infra/internalDatabase"
|
|
@@ -19,20 +20,26 @@ import (
|
|
|
)
|
|
|
|
|
|
type MarketplaceService struct {
|
|
|
- persistentDbSvc *internalDbInfra.PersistentDatabaseService
|
|
|
+ marketplaceQueryRepo *marketplaceInfra.MarketplaceQueryRepo
|
|
|
+ marketplaceCmdRepo *marketplaceInfra.MarketplaceCmdRepo
|
|
|
+ activityRecordCmdRepo *activityRecordInfra.ActivityRecordCmdRepo
|
|
|
+ persistentDbSvc *internalDbInfra.PersistentDatabaseService
|
|
|
}
|
|
|
|
|
|
func NewMarketplaceService(
|
|
|
persistentDbSvc *internalDbInfra.PersistentDatabaseService,
|
|
|
+ trailDbSvc *internalDbInfra.TrailDatabaseService,
|
|
|
) *MarketplaceService {
|
|
|
return &MarketplaceService{
|
|
|
- persistentDbSvc: persistentDbSvc,
|
|
|
+ marketplaceQueryRepo: marketplaceInfra.NewMarketplaceQueryRepo(persistentDbSvc),
|
|
|
+ marketplaceCmdRepo: marketplaceInfra.NewMarketplaceCmdRepo(persistentDbSvc),
|
|
|
+ activityRecordCmdRepo: activityRecordInfra.NewActivityRecordCmdRepo(trailDbSvc),
|
|
|
+ persistentDbSvc: persistentDbSvc,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func (service *MarketplaceService) ReadCatalog() ServiceOutput {
|
|
|
- marketplaceQueryRepo := marketplaceInfra.NewMarketplaceQueryRepo(service.persistentDbSvc)
|
|
|
- itemsList, err := useCase.ReadMarketplaceCatalog(marketplaceQueryRepo)
|
|
|
+ itemsList, err := useCase.ReadMarketplaceCatalog(service.marketplaceQueryRepo)
|
|
|
if err != nil {
|
|
|
return NewServiceOutput(InfraError, err.Error())
|
|
|
}
|
|
@@ -140,13 +147,12 @@ func (service *MarketplaceService) InstallCatalogItem(
|
|
|
hostname, idPtr, slugPtr, urlPathPtr, dataFields,
|
|
|
)
|
|
|
|
|
|
- marketplaceQueryRepo := marketplaceInfra.NewMarketplaceQueryRepo(service.persistentDbSvc)
|
|
|
- marketplaceCmdRepo := marketplaceInfra.NewMarketplaceCmdRepo(service.persistentDbSvc)
|
|
|
vhostQueryRepo := vhostInfra.NewVirtualHostQueryRepo(service.persistentDbSvc)
|
|
|
vhostCmdRepo := vhostInfra.NewVirtualHostCmdRepo(service.persistentDbSvc)
|
|
|
|
|
|
err = useCase.InstallMarketplaceCatalogItem(
|
|
|
- marketplaceQueryRepo, marketplaceCmdRepo, vhostQueryRepo, vhostCmdRepo, dto,
|
|
|
+ service.marketplaceQueryRepo, service.marketplaceCmdRepo, vhostQueryRepo,
|
|
|
+ vhostCmdRepo, service.activityRecordCmdRepo, dto,
|
|
|
)
|
|
|
if err != nil {
|
|
|
return NewServiceOutput(InfraError, err.Error())
|
|
@@ -156,8 +162,7 @@ func (service *MarketplaceService) InstallCatalogItem(
|
|
|
}
|
|
|
|
|
|
func (service *MarketplaceService) ReadInstalledItems() ServiceOutput {
|
|
|
- marketplaceQueryRepo := marketplaceInfra.NewMarketplaceQueryRepo(service.persistentDbSvc)
|
|
|
- itemsList, err := useCase.ReadMarketplaceInstalledItems(marketplaceQueryRepo)
|
|
|
+ itemsList, err := useCase.ReadMarketplaceInstalledItems(service.marketplaceQueryRepo)
|
|
|
if err != nil {
|
|
|
return NewServiceOutput(InfraError, err.Error())
|
|
|
}
|
|
@@ -223,11 +228,9 @@ func (service *MarketplaceService) DeleteInstalledItem(
|
|
|
installedId, shouldUninstallServices,
|
|
|
)
|
|
|
|
|
|
- marketplaceQueryRepo := marketplaceInfra.NewMarketplaceQueryRepo(service.persistentDbSvc)
|
|
|
- marketplaceCmdRepo := marketplaceInfra.NewMarketplaceCmdRepo(service.persistentDbSvc)
|
|
|
-
|
|
|
err = useCase.DeleteMarketplaceInstalledItem(
|
|
|
- marketplaceQueryRepo, marketplaceCmdRepo, deleteMarketplaceInstalledItem,
|
|
|
+ service.marketplaceQueryRepo, service.marketplaceCmdRepo,
|
|
|
+ deleteMarketplaceInstalledItem,
|
|
|
)
|
|
|
if err != nil {
|
|
|
return NewServiceOutput(InfraError, err.Error())
|