techdebt: [CODE-3276]: remove direct usage of SpacePathStore (#3495)

* remove direct usage of SpacePathStore
This commit is contained in:
Marko Gaćeša 2025-02-28 14:18:30 +00:00 committed by Harness
parent 16bcc1ad02
commit d5db990c82
7 changed files with 18 additions and 25 deletions

View File

@ -18,6 +18,7 @@ import (
"context" "context"
secretCtrl "github.com/harness/gitness/app/api/controller/secret" secretCtrl "github.com/harness/gitness/app/api/controller/secret"
"github.com/harness/gitness/app/services/refcache"
"github.com/harness/gitness/app/store" "github.com/harness/gitness/app/store"
"github.com/harness/gitness/encrypt" "github.com/harness/gitness/encrypt"
"github.com/harness/gitness/secret" "github.com/harness/gitness/secret"
@ -27,28 +28,28 @@ import (
) )
type service struct { type service struct {
secretStore store.SecretStore secretStore store.SecretStore
encrypter encrypt.Encrypter encrypter encrypt.Encrypter
spacePathStore store.SpacePathStore spaceFinder refcache.SpaceFinder
} }
func NewService( func NewService(
secretStore store.SecretStore, encrypter encrypt.Encrypter, spacePathStore store.SpacePathStore, secretStore store.SecretStore, encrypter encrypt.Encrypter, spaceFinder refcache.SpaceFinder,
) secret.Service { ) secret.Service {
return &service{ return &service{
secretStore: secretStore, secretStore: secretStore,
encrypter: encrypter, encrypter: encrypter,
spacePathStore: spacePathStore, spaceFinder: spaceFinder,
} }
} }
func (s *service) DecryptSecret(ctx context.Context, spacePath string, secretIdentifier string) (string, error) { func (s *service) DecryptSecret(ctx context.Context, spacePath string, secretIdentifier string) (string, error) {
path, err := s.spacePathStore.FindByPath(ctx, spacePath) space, err := s.spaceFinder.FindByRef(ctx, spacePath)
if err != nil { if err != nil {
log.Error().Msgf("failed to find space path: %v", err) log.Error().Msgf("failed to find space path: %v", err)
return "", errors.Wrap(err, "failed to find space path") return "", errors.Wrap(err, "failed to find space path")
} }
sec, err := s.secretStore.FindByIdentifier(ctx, path.SpaceID, secretIdentifier) sec, err := s.secretStore.FindByIdentifier(ctx, space.ID, secretIdentifier)
if err != nil { if err != nil {
log.Error().Msgf("failed to find secret: %v", err) log.Error().Msgf("failed to find secret: %v", err)
return "", errors.Wrap(err, "failed to find secret") return "", errors.Wrap(err, "failed to find secret")

View File

@ -15,6 +15,7 @@
package secret package secret
import ( import (
"github.com/harness/gitness/app/services/refcache"
"github.com/harness/gitness/app/store" "github.com/harness/gitness/app/store"
"github.com/harness/gitness/encrypt" "github.com/harness/gitness/encrypt"
"github.com/harness/gitness/secret" "github.com/harness/gitness/secret"
@ -27,7 +28,7 @@ var WireSet = wire.NewSet(
) )
func ProvideSecretService( func ProvideSecretService(
secretStore store.SecretStore, encrypter encrypt.Encrypter, spacePathStore store.SpacePathStore, secretStore store.SecretStore, encrypter encrypt.Encrypter, spaceFinder refcache.SpaceFinder,
) secret.Service { ) secret.Service {
return NewService(secretStore, encrypter, spacePathStore) return NewService(secretStore, encrypter, spaceFinder)
} }

View File

@ -456,7 +456,7 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
downloadStatRepository := database2.ProvideDownloadStatDao(db) downloadStatRepository := database2.ProvideDownloadStatDao(db)
localRegistry := docker.LocalRegistryProvider(app, manifestService, blobRepository, registryRepository, manifestRepository, registryBlobRepository, mediaTypesRepository, tagRepository, imageRepository, artifactRepository, bandwidthStatRepository, downloadStatRepository, gcService, transactor) localRegistry := docker.LocalRegistryProvider(app, manifestService, blobRepository, registryRepository, manifestRepository, registryBlobRepository, mediaTypesRepository, tagRepository, imageRepository, artifactRepository, bandwidthStatRepository, downloadStatRepository, gcService, transactor)
upstreamProxyConfigRepository := database2.ProvideUpstreamDao(db, registryRepository, spaceFinder) upstreamProxyConfigRepository := database2.ProvideUpstreamDao(db, registryRepository, spaceFinder)
secretService := secret3.ProvideSecretService(secretStore, encrypter, spacePathStore) secretService := secret3.ProvideSecretService(secretStore, encrypter, spaceFinder)
proxyController := docker.ProvideProxyController(localRegistry, manifestService, secretService, spaceFinder) proxyController := docker.ProvideProxyController(localRegistry, manifestService, secretService, spaceFinder)
remoteRegistry := docker.RemoteRegistryProvider(localRegistry, app, upstreamProxyConfigRepository, spaceFinder, secretService, proxyController) remoteRegistry := docker.RemoteRegistryProvider(localRegistry, app, upstreamProxyConfigRepository, spaceFinder, secretService, proxyController)
coreController := pkg.CoreControllerProvider(registryRepository) coreController := pkg.CoreControllerProvider(registryRepository)
@ -470,7 +470,7 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
fileManager := filemanager.Provider(filemanagerApp, registryRepository, genericBlobRepository, nodesRepository, transactor) fileManager := filemanager.Provider(filemanagerApp, registryRepository, genericBlobRepository, nodesRepository, transactor)
cleanupPolicyRepository := database2.ProvideCleanupPolicyDao(db, transactor) cleanupPolicyRepository := database2.ProvideCleanupPolicyDao(db, transactor)
webhooksRepository := database2.ProvideWebhookDao(db) webhooksRepository := database2.ProvideWebhookDao(db)
apiHandler := router.APIHandlerProvider(registryRepository, upstreamProxyConfigRepository, fileManager, tagRepository, manifestRepository, cleanupPolicyRepository, imageRepository, storageDriver, spaceFinder, transactor, authenticator, provider, authorizer, auditService, spacePathStore, artifactRepository, webhooksRepository) apiHandler := router.APIHandlerProvider(registryRepository, upstreamProxyConfigRepository, fileManager, tagRepository, manifestRepository, cleanupPolicyRepository, imageRepository, storageDriver, spaceFinder, transactor, authenticator, provider, authorizer, auditService, artifactRepository, webhooksRepository)
mavenDBStore := maven.DBStoreProvider(registryRepository, imageRepository, artifactRepository, spaceStore, bandwidthStatRepository, downloadStatRepository, nodesRepository, upstreamProxyConfigRepository) mavenDBStore := maven.DBStoreProvider(registryRepository, imageRepository, artifactRepository, spaceStore, bandwidthStatRepository, downloadStatRepository, nodesRepository, upstreamProxyConfigRepository)
mavenLocalRegistry := maven.LocalRegistryProvider(mavenDBStore, transactor, fileManager) mavenLocalRegistry := maven.LocalRegistryProvider(mavenDBStore, transactor, fileManager)
mavenController := maven.ProvideProxyController(mavenLocalRegistry, secretService, spaceFinder) mavenController := maven.ProvideProxyController(mavenLocalRegistry, secretService, spaceFinder)

View File

@ -17,7 +17,6 @@ package metadata
import ( import (
"github.com/harness/gitness/app/auth/authz" "github.com/harness/gitness/app/auth/authz"
"github.com/harness/gitness/app/services/refcache" "github.com/harness/gitness/app/services/refcache"
corestore "github.com/harness/gitness/app/store"
urlprovider "github.com/harness/gitness/app/url" urlprovider "github.com/harness/gitness/app/url"
"github.com/harness/gitness/audit" "github.com/harness/gitness/audit"
storagedriver "github.com/harness/gitness/registry/app/driver" storagedriver "github.com/harness/gitness/registry/app/driver"
@ -43,7 +42,6 @@ type APIController struct {
URLProvider urlprovider.Provider URLProvider urlprovider.Provider
Authorizer authz.Authorizer Authorizer authz.Authorizer
AuditService audit.Service AuditService audit.Service
spacePathStore corestore.SpacePathStore
ArtifactStore store.ArtifactRepository ArtifactStore store.ArtifactRepository
WebhooksRepository store.WebhooksRepository WebhooksRepository store.WebhooksRepository
} }
@ -64,7 +62,6 @@ func NewAPIController(
urlProvider urlprovider.Provider, urlProvider urlprovider.Provider,
authorizer authz.Authorizer, authorizer authz.Authorizer,
auditService audit.Service, auditService audit.Service,
spacePathStore corestore.SpacePathStore,
artifactStore store.ArtifactRepository, artifactStore store.ArtifactRepository,
webhooksRepository store.WebhooksRepository, webhooksRepository store.WebhooksRepository,
) *APIController { ) *APIController {
@ -84,7 +81,6 @@ func NewAPIController(
URLProvider: urlProvider, URLProvider: urlProvider,
Authorizer: authorizer, Authorizer: authorizer,
AuditService: auditService, AuditService: auditService,
spacePathStore: spacePathStore,
ArtifactStore: artifactStore, ArtifactStore: artifactStore,
WebhooksRepository: webhooksRepository, WebhooksRepository: webhooksRepository,
} }

View File

@ -381,11 +381,12 @@ func (c *APIController) getSecretSpaceID(ctx context.Context, secretSpacePath *s
return -1, fmt.Errorf("secret space path is missing") return -1, fmt.Errorf("secret space path is missing")
} }
path, err := c.spacePathStore.FindByPath(ctx, *secretSpacePath) space, err := c.SpaceFinder.FindByRef(ctx, *secretSpacePath)
if err != nil { if err != nil {
return -1, fmt.Errorf("failed to get Space Path: %w", err) return -1, fmt.Errorf("failed to get Space Path: %w", err)
} }
return int(path.SpaceID), nil
return int(space.ID), nil
} }
func isDuplicateKeyError(err error) bool { func isDuplicateKeyError(err error) bool {

View File

@ -22,7 +22,6 @@ import (
"github.com/harness/gitness/app/auth/authn" "github.com/harness/gitness/app/auth/authn"
"github.com/harness/gitness/app/auth/authz" "github.com/harness/gitness/app/auth/authz"
"github.com/harness/gitness/app/services/refcache" "github.com/harness/gitness/app/services/refcache"
corestore "github.com/harness/gitness/app/store"
urlprovider "github.com/harness/gitness/app/url" urlprovider "github.com/harness/gitness/app/url"
"github.com/harness/gitness/audit" "github.com/harness/gitness/audit"
"github.com/harness/gitness/registry/app/api/controller/metadata" "github.com/harness/gitness/registry/app/api/controller/metadata"
@ -68,7 +67,6 @@ func NewAPIHandler(
urlProvider urlprovider.Provider, urlProvider urlprovider.Provider,
authorizer authz.Authorizer, authorizer authz.Authorizer,
auditService audit.Service, auditService audit.Service,
spacePathStore corestore.SpacePathStore,
artifactStore store.ArtifactRepository, artifactStore store.ArtifactRepository,
webhooksRepository store.WebhooksRepository, webhooksRepository store.WebhooksRepository,
) APIHandler { ) APIHandler {
@ -92,7 +90,6 @@ func NewAPIHandler(
urlProvider, urlProvider,
authorizer, authorizer,
auditService, auditService,
spacePathStore,
artifactStore, artifactStore,
webhooksRepository, webhooksRepository,
) )

View File

@ -19,7 +19,6 @@ import (
"github.com/harness/gitness/app/auth/authz" "github.com/harness/gitness/app/auth/authz"
"github.com/harness/gitness/app/config" "github.com/harness/gitness/app/config"
"github.com/harness/gitness/app/services/refcache" "github.com/harness/gitness/app/services/refcache"
corestore "github.com/harness/gitness/app/store"
urlprovider "github.com/harness/gitness/app/url" urlprovider "github.com/harness/gitness/app/url"
"github.com/harness/gitness/audit" "github.com/harness/gitness/audit"
"github.com/harness/gitness/registry/app/api/handler/generic" "github.com/harness/gitness/registry/app/api/handler/generic"
@ -61,7 +60,6 @@ func APIHandlerProvider(
urlProvider urlprovider.Provider, urlProvider urlprovider.Provider,
authorizer authz.Authorizer, authorizer authz.Authorizer,
auditService audit.Service, auditService audit.Service,
spacePathStore corestore.SpacePathStore,
artifactStore store.ArtifactRepository, artifactStore store.ArtifactRepository,
webhooksRepository store.WebhooksRepository, webhooksRepository store.WebhooksRepository,
) harness.APIHandler { ) harness.APIHandler {
@ -81,7 +79,6 @@ func APIHandlerProvider(
urlProvider, urlProvider,
authorizer, authorizer,
auditService, auditService,
spacePathStore,
artifactStore, artifactStore,
webhooksRepository, webhooksRepository,
) )