mirror of https://github.com/harness/drone.git
feat: [CDE-142]: extract gitspace find to its own svc (#2251)
* feat: [CDE-142]: extract gitspace find to its own svc * feat: [CDE-142]: extract gitspace find to its own svc * feat: [CDE-142]: extract gitspace find to its own svc * feat: [CDE-142]: extract gitspace find to its own svc * feat: [CDE-142]: extract gitspace find to its own svcunified-ui
parent
b3d9a58c5c
commit
0bbcc98b61
|
@ -27,7 +27,7 @@ import (
|
|||
|
||||
type Controller struct {
|
||||
authorizer authz.Authorizer
|
||||
infraProviderSvc infraprovider.ProviderService
|
||||
infraProviderSvc *infraprovider.Service
|
||||
gitspaceConfigStore store.GitspaceConfigStore
|
||||
gitspaceInstanceStore store.GitspaceInstanceStore
|
||||
spaceStore store.SpaceStore
|
||||
|
@ -42,7 +42,7 @@ type Controller struct {
|
|||
func NewController(
|
||||
tx dbtx.Transactor,
|
||||
authorizer authz.Authorizer,
|
||||
infraProviderSvc infraprovider.ProviderService,
|
||||
infraProviderSvc *infraprovider.Service,
|
||||
gitspaceConfigStore store.GitspaceConfigStore,
|
||||
gitspaceInstanceStore store.GitspaceInstanceStore,
|
||||
spaceStore store.SpaceStore,
|
||||
|
|
|
@ -35,7 +35,7 @@ var WireSet = wire.NewSet(
|
|||
func ProvideController(
|
||||
tx dbtx.Transactor,
|
||||
authorizer authz.Authorizer,
|
||||
infraProviderSvc infraprovider.ProviderService,
|
||||
infraProviderSvc *infraprovider.Service,
|
||||
configStore store.GitspaceConfigStore,
|
||||
instanceStore store.GitspaceInstanceStore,
|
||||
spaceStore store.SpaceStore,
|
||||
|
|
|
@ -23,13 +23,13 @@ import (
|
|||
type Controller struct {
|
||||
authorizer authz.Authorizer
|
||||
spaceStore store.SpaceStore
|
||||
infraproviderSvc infraprovider.ProviderService
|
||||
infraproviderSvc *infraprovider.Service
|
||||
}
|
||||
|
||||
func NewController(
|
||||
authorizer authz.Authorizer,
|
||||
spaceStore store.SpaceStore,
|
||||
infraproviderSvc infraprovider.ProviderService,
|
||||
infraproviderSvc *infraprovider.Service,
|
||||
) *Controller {
|
||||
return &Controller{
|
||||
authorizer: authorizer,
|
||||
|
|
|
@ -30,7 +30,7 @@ var WireSet = wire.NewSet(
|
|||
func ProvideController(
|
||||
authorizer authz.Authorizer,
|
||||
spaceStore store.SpaceStore,
|
||||
infraproviderSvc infraprovider.ProviderService,
|
||||
infraproviderSvc *infraprovider.Service,
|
||||
) *Controller {
|
||||
return NewController(authorizer, spaceStore, infraproviderSvc)
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ import (
|
|||
"github.com/harness/gitness/app/api/usererror"
|
||||
"github.com/harness/gitness/app/auth/authz"
|
||||
"github.com/harness/gitness/app/services/exporter"
|
||||
"github.com/harness/gitness/app/services/gitspace"
|
||||
"github.com/harness/gitness/app/services/importer"
|
||||
"github.com/harness/gitness/app/services/publicaccess"
|
||||
"github.com/harness/gitness/app/sse"
|
||||
|
@ -61,28 +62,27 @@ func (s SpaceOutput) MarshalJSON() ([]byte, error) {
|
|||
type Controller struct {
|
||||
nestedSpacesEnabled bool
|
||||
|
||||
tx dbtx.Transactor
|
||||
urlProvider url.Provider
|
||||
sseStreamer sse.Streamer
|
||||
identifierCheck check.SpaceIdentifier
|
||||
authorizer authz.Authorizer
|
||||
spacePathStore store.SpacePathStore
|
||||
pipelineStore store.PipelineStore
|
||||
secretStore store.SecretStore
|
||||
connectorStore store.ConnectorStore
|
||||
templateStore store.TemplateStore
|
||||
spaceStore store.SpaceStore
|
||||
repoStore store.RepoStore
|
||||
principalStore store.PrincipalStore
|
||||
repoCtrl *repo.Controller
|
||||
membershipStore store.MembershipStore
|
||||
importer *importer.Repository
|
||||
exporter *exporter.Repository
|
||||
resourceLimiter limiter.ResourceLimiter
|
||||
publicAccess publicaccess.Service
|
||||
auditService audit.Service
|
||||
gitspaceConfigStore store.GitspaceConfigStore
|
||||
gitspaceInstanceStore store.GitspaceInstanceStore
|
||||
tx dbtx.Transactor
|
||||
urlProvider url.Provider
|
||||
sseStreamer sse.Streamer
|
||||
identifierCheck check.SpaceIdentifier
|
||||
authorizer authz.Authorizer
|
||||
spacePathStore store.SpacePathStore
|
||||
pipelineStore store.PipelineStore
|
||||
secretStore store.SecretStore
|
||||
connectorStore store.ConnectorStore
|
||||
templateStore store.TemplateStore
|
||||
spaceStore store.SpaceStore
|
||||
repoStore store.RepoStore
|
||||
principalStore store.PrincipalStore
|
||||
repoCtrl *repo.Controller
|
||||
membershipStore store.MembershipStore
|
||||
importer *importer.Repository
|
||||
exporter *exporter.Repository
|
||||
resourceLimiter limiter.ResourceLimiter
|
||||
publicAccess publicaccess.Service
|
||||
auditService audit.Service
|
||||
gitspaceSvc *gitspace.Service
|
||||
}
|
||||
|
||||
func NewController(config *types.Config, tx dbtx.Transactor, urlProvider url.Provider,
|
||||
|
@ -92,32 +92,30 @@ func NewController(config *types.Config, tx dbtx.Transactor, urlProvider url.Pro
|
|||
repoStore store.RepoStore, principalStore store.PrincipalStore, repoCtrl *repo.Controller,
|
||||
membershipStore store.MembershipStore, importer *importer.Repository, exporter *exporter.Repository,
|
||||
limiter limiter.ResourceLimiter, publicAccess publicaccess.Service, auditService audit.Service,
|
||||
gitspaceStore store.GitspaceConfigStore,
|
||||
gitspaceInstanceStore store.GitspaceInstanceStore,
|
||||
gitspaceSvc *gitspace.Service,
|
||||
) *Controller {
|
||||
return &Controller{
|
||||
nestedSpacesEnabled: config.NestedSpacesEnabled,
|
||||
tx: tx,
|
||||
urlProvider: urlProvider,
|
||||
sseStreamer: sseStreamer,
|
||||
identifierCheck: identifierCheck,
|
||||
authorizer: authorizer,
|
||||
spacePathStore: spacePathStore,
|
||||
pipelineStore: pipelineStore,
|
||||
secretStore: secretStore,
|
||||
connectorStore: connectorStore,
|
||||
templateStore: templateStore,
|
||||
spaceStore: spaceStore,
|
||||
repoStore: repoStore,
|
||||
principalStore: principalStore,
|
||||
repoCtrl: repoCtrl,
|
||||
membershipStore: membershipStore,
|
||||
importer: importer,
|
||||
exporter: exporter,
|
||||
resourceLimiter: limiter,
|
||||
publicAccess: publicAccess,
|
||||
auditService: auditService,
|
||||
gitspaceConfigStore: gitspaceStore,
|
||||
gitspaceInstanceStore: gitspaceInstanceStore,
|
||||
nestedSpacesEnabled: config.NestedSpacesEnabled,
|
||||
tx: tx,
|
||||
urlProvider: urlProvider,
|
||||
sseStreamer: sseStreamer,
|
||||
identifierCheck: identifierCheck,
|
||||
authorizer: authorizer,
|
||||
spacePathStore: spacePathStore,
|
||||
pipelineStore: pipelineStore,
|
||||
secretStore: secretStore,
|
||||
connectorStore: connectorStore,
|
||||
templateStore: templateStore,
|
||||
spaceStore: spaceStore,
|
||||
repoStore: repoStore,
|
||||
principalStore: principalStore,
|
||||
repoCtrl: repoCtrl,
|
||||
membershipStore: membershipStore,
|
||||
importer: importer,
|
||||
exporter: exporter,
|
||||
resourceLimiter: limiter,
|
||||
publicAccess: publicAccess,
|
||||
auditService: auditService,
|
||||
gitspaceSvc: gitspaceSvc,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@ import (
|
|||
|
||||
apiauth "github.com/harness/gitness/app/api/auth"
|
||||
"github.com/harness/gitness/app/auth"
|
||||
"github.com/harness/gitness/store/database/dbtx"
|
||||
"github.com/harness/gitness/types"
|
||||
"github.com/harness/gitness/types/enum"
|
||||
)
|
||||
|
@ -39,68 +38,5 @@ func (c *Controller) ListGitspaces(
|
|||
if err != nil {
|
||||
return nil, 0, fmt.Errorf("failed to authorize gitspace: %w", err)
|
||||
}
|
||||
gitspaceFilter := &types.GitspaceFilter{
|
||||
QueryFilter: filter,
|
||||
UserID: session.Principal.UID,
|
||||
SpaceIDs: []int64{space.ID},
|
||||
}
|
||||
var gitspaceConfigs []*types.GitspaceConfig
|
||||
var count int64
|
||||
err = c.tx.WithTx(ctx, func(ctx context.Context) (err error) {
|
||||
gitspaceConfigs, err = c.gitspaceConfigStore.List(ctx, gitspaceFilter)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to list gitspace configs: %w", err)
|
||||
}
|
||||
if len(gitspaceConfigs) >= filter.Size {
|
||||
count, err = c.gitspaceConfigStore.Count(ctx, gitspaceFilter)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to count gitspaces in space: %w", err)
|
||||
}
|
||||
} else {
|
||||
count = int64(len(gitspaceConfigs))
|
||||
}
|
||||
gitspaceInstancesMap, err := c.getLatestInstanceMap(ctx, gitspaceConfigs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, gitspaceConfig := range gitspaceConfigs {
|
||||
instance := gitspaceInstancesMap[gitspaceConfig.ID]
|
||||
gitspaceConfig.GitspaceInstance = instance
|
||||
gitspaceConfig.SpacePath = space.Path
|
||||
if instance != nil {
|
||||
gitspaceStateType, err := enum.GetGitspaceStateFromInstance(instance.State)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
gitspaceConfig.State = gitspaceStateType
|
||||
instance.SpacePath = gitspaceConfig.SpacePath
|
||||
} else {
|
||||
gitspaceConfig.State = enum.GitspaceStateUninitialized
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}, dbtx.TxDefaultReadOnly)
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
return gitspaceConfigs, count, nil
|
||||
}
|
||||
|
||||
func (c *Controller) getLatestInstanceMap(
|
||||
ctx context.Context,
|
||||
gitspaceConfigs []*types.GitspaceConfig,
|
||||
) (map[int64]*types.GitspaceInstance, error) {
|
||||
var gitspaceConfigIDs = make([]int64, 0)
|
||||
for idx := 0; idx < len(gitspaceConfigs); idx++ {
|
||||
gitspaceConfigIDs = append(gitspaceConfigIDs, gitspaceConfigs[idx].ID)
|
||||
}
|
||||
var gitspaceInstances, err = c.gitspaceInstanceStore.FindAllLatestByGitspaceConfigID(ctx, gitspaceConfigIDs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var gitspaceInstancesMap = make(map[int64]*types.GitspaceInstance)
|
||||
for _, gitspaceEntry := range gitspaceInstances {
|
||||
gitspaceInstancesMap[gitspaceEntry.GitSpaceConfigID] = gitspaceEntry
|
||||
}
|
||||
return gitspaceInstancesMap, nil
|
||||
return c.gitspaceSvc.ListGitspacesForSpace(ctx, space, session.Principal.UID, filter)
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ import (
|
|||
"github.com/harness/gitness/app/api/controller/repo"
|
||||
"github.com/harness/gitness/app/auth/authz"
|
||||
"github.com/harness/gitness/app/services/exporter"
|
||||
"github.com/harness/gitness/app/services/gitspace"
|
||||
"github.com/harness/gitness/app/services/importer"
|
||||
"github.com/harness/gitness/app/services/publicaccess"
|
||||
"github.com/harness/gitness/app/sse"
|
||||
|
@ -44,7 +45,7 @@ func ProvideController(config *types.Config, tx dbtx.Transactor, urlProvider url
|
|||
spaceStore store.SpaceStore, repoStore store.RepoStore, principalStore store.PrincipalStore,
|
||||
repoCtrl *repo.Controller, membershipStore store.MembershipStore, importer *importer.Repository,
|
||||
exporter *exporter.Repository, limiter limiter.ResourceLimiter, publicAccess publicaccess.Service,
|
||||
auditService audit.Service, gitspaceConfigStore store.GitspaceConfigStore, instanceStore store.GitspaceInstanceStore,
|
||||
auditService audit.Service, gitspaceService *gitspace.Service,
|
||||
) *Controller {
|
||||
return NewController(config, tx, urlProvider, sseStreamer, identifierCheck, authorizer,
|
||||
spacePathStore, pipelineStore, secretStore,
|
||||
|
@ -52,5 +53,5 @@ func ProvideController(config *types.Config, tx dbtx.Transactor, urlProvider url
|
|||
spaceStore, repoStore, principalStore,
|
||||
repoCtrl, membershipStore, importer,
|
||||
exporter, limiter, publicAccess,
|
||||
auditService, gitspaceConfigStore, instanceStore)
|
||||
auditService, gitspaceService)
|
||||
}
|
||||
|
|
|
@ -0,0 +1,118 @@
|
|||
// Copyright 2023 Harness, Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package gitspace
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/harness/gitness/app/store"
|
||||
"github.com/harness/gitness/store/database/dbtx"
|
||||
"github.com/harness/gitness/types"
|
||||
"github.com/harness/gitness/types/enum"
|
||||
)
|
||||
|
||||
func NewService(
|
||||
tx dbtx.Transactor,
|
||||
gitspaceStore store.GitspaceConfigStore,
|
||||
gitspaceInstanceStore store.GitspaceInstanceStore,
|
||||
spaceStore store.SpaceStore,
|
||||
) *Service {
|
||||
return &Service{
|
||||
tx: tx,
|
||||
gitspaceConfigStore: gitspaceStore,
|
||||
gitspaceInstanceStore: gitspaceInstanceStore,
|
||||
spaceStore: spaceStore,
|
||||
}
|
||||
}
|
||||
|
||||
type Service struct {
|
||||
gitspaceConfigStore store.GitspaceConfigStore
|
||||
gitspaceInstanceStore store.GitspaceInstanceStore
|
||||
spaceStore store.SpaceStore
|
||||
tx dbtx.Transactor
|
||||
}
|
||||
|
||||
func (c *Service) ListGitspacesForSpace(
|
||||
ctx context.Context,
|
||||
space *types.Space,
|
||||
userIdentifier string,
|
||||
filter types.ListQueryFilter,
|
||||
) ([]*types.GitspaceConfig, int64, error) {
|
||||
gitspaceFilter := &types.GitspaceFilter{
|
||||
QueryFilter: filter,
|
||||
UserID: userIdentifier,
|
||||
SpaceIDs: []int64{space.ID},
|
||||
}
|
||||
var gitspaceConfigs []*types.GitspaceConfig
|
||||
var count int64
|
||||
err := c.tx.WithTx(ctx, func(ctx context.Context) (err error) {
|
||||
gitspaceConfigs, err = c.gitspaceConfigStore.List(ctx, gitspaceFilter)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to list gitspace configs: %w", err)
|
||||
}
|
||||
if len(gitspaceConfigs) >= gitspaceFilter.QueryFilter.Size {
|
||||
count, err = c.gitspaceConfigStore.Count(ctx, gitspaceFilter)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to count gitspaces in space: %w", err)
|
||||
}
|
||||
} else {
|
||||
count = int64(len(gitspaceConfigs))
|
||||
}
|
||||
gitspaceInstancesMap, err := c.getLatestInstanceMap(ctx, gitspaceConfigs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, gitspaceConfig := range gitspaceConfigs {
|
||||
instance := gitspaceInstancesMap[gitspaceConfig.ID]
|
||||
gitspaceConfig.GitspaceInstance = instance
|
||||
gitspaceConfig.SpacePath = space.Path
|
||||
if instance != nil {
|
||||
gitspaceStateType, err := enum.GetGitspaceStateFromInstance(instance.State)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
gitspaceConfig.State = gitspaceStateType
|
||||
instance.SpacePath = gitspaceConfig.SpacePath
|
||||
} else {
|
||||
gitspaceConfig.State = enum.GitspaceStateUninitialized
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}, dbtx.TxDefaultReadOnly)
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
return gitspaceConfigs, count, nil
|
||||
}
|
||||
|
||||
func (c *Service) getLatestInstanceMap(
|
||||
ctx context.Context,
|
||||
gitspaceConfigs []*types.GitspaceConfig,
|
||||
) (map[int64]*types.GitspaceInstance, error) {
|
||||
var gitspaceConfigIDs = make([]int64, 0)
|
||||
for idx := 0; idx < len(gitspaceConfigs); idx++ {
|
||||
gitspaceConfigIDs = append(gitspaceConfigIDs, gitspaceConfigs[idx].ID)
|
||||
}
|
||||
var gitspaceInstances, err = c.gitspaceInstanceStore.FindAllLatestByGitspaceConfigID(ctx, gitspaceConfigIDs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var gitspaceInstancesMap = make(map[int64]*types.GitspaceInstance)
|
||||
for _, gitspaceEntry := range gitspaceInstances {
|
||||
gitspaceInstancesMap[gitspaceEntry.GitSpaceConfigID] = gitspaceEntry
|
||||
}
|
||||
return gitspaceInstancesMap, nil
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright 2023 Harness, Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package gitspace
|
||||
|
||||
import (
|
||||
"github.com/harness/gitness/app/store"
|
||||
"github.com/harness/gitness/store/database/dbtx"
|
||||
|
||||
"github.com/google/wire"
|
||||
)
|
||||
|
||||
var WireSet = wire.NewSet(
|
||||
ProvideGitspace,
|
||||
)
|
||||
|
||||
func ProvideGitspace(
|
||||
tx dbtx.Transactor,
|
||||
gitspaceStore store.GitspaceConfigStore,
|
||||
gitspaceInstanceStore store.GitspaceInstanceStore,
|
||||
spaceStore store.SpaceStore,
|
||||
) *Service {
|
||||
return NewService(tx, gitspaceStore, gitspaceInstanceStore, spaceStore)
|
||||
}
|
|
@ -30,8 +30,8 @@ func NewService(
|
|||
infraProviderConfigStore store.InfraProviderConfigStore,
|
||||
factory infraprovider.Factory,
|
||||
spaceStore store.SpaceStore,
|
||||
) ProviderService {
|
||||
return ProviderService{
|
||||
) *Service {
|
||||
return &Service{
|
||||
tx: tx,
|
||||
infraProviderResourceStore: infraProviderResourceStore,
|
||||
infraProviderConfigStore: infraProviderConfigStore,
|
||||
|
@ -40,7 +40,7 @@ func NewService(
|
|||
}
|
||||
}
|
||||
|
||||
type ProviderService struct {
|
||||
type Service struct {
|
||||
infraProviderResourceStore store.InfraProviderResourceStore
|
||||
infraProviderConfigStore store.InfraProviderConfigStore
|
||||
infraProviderFactory infraprovider.Factory
|
||||
|
@ -48,7 +48,7 @@ type ProviderService struct {
|
|||
tx dbtx.Transactor
|
||||
}
|
||||
|
||||
func (c ProviderService) Find(
|
||||
func (c *Service) Find(
|
||||
ctx context.Context,
|
||||
space *types.Space,
|
||||
identifier string,
|
||||
|
@ -66,18 +66,18 @@ func (c ProviderService) Find(
|
|||
return infraProviderConfig, nil
|
||||
}
|
||||
|
||||
func (c ProviderService) FindResourceByIdentifier(
|
||||
func (c *Service) FindResourceByIdentifier(
|
||||
ctx context.Context,
|
||||
spaceID int64,
|
||||
identifier string) (*types.InfraProviderResource, error) {
|
||||
return c.infraProviderResourceStore.FindByIdentifier(ctx, spaceID, identifier)
|
||||
}
|
||||
|
||||
func (c ProviderService) FindResource(ctx context.Context, id int64) (*types.InfraProviderResource, error) {
|
||||
func (c *Service) FindResource(ctx context.Context, id int64) (*types.InfraProviderResource, error) {
|
||||
return c.infraProviderResourceStore.Find(ctx, id)
|
||||
}
|
||||
|
||||
func (c ProviderService) CreateInfraProvider(
|
||||
func (c *Service) CreateInfraProvider(
|
||||
ctx context.Context,
|
||||
infraProviderConfig *types.InfraProviderConfig,
|
||||
) error {
|
||||
|
|
|
@ -27,11 +27,11 @@ var WireSet = wire.NewSet(
|
|||
)
|
||||
|
||||
func ProvideInfraProvider(
|
||||
tx dbtx.Transactor,
|
||||
infraProviderResourceStore store.InfraProviderResourceStore,
|
||||
infraProviderConfigStore store.InfraProviderConfigStore,
|
||||
infraProviderFactory infraprovider.Factory,
|
||||
spaceStore store.SpaceStore,
|
||||
tx dbtx.Transactor,
|
||||
) ProviderService {
|
||||
) *Service {
|
||||
return NewService(tx, infraProviderResourceStore, infraProviderConfigStore, infraProviderFactory, spaceStore)
|
||||
}
|
||||
|
|
|
@ -16,7 +16,9 @@ package services
|
|||
|
||||
import (
|
||||
"github.com/harness/gitness/app/services/cleanup"
|
||||
"github.com/harness/gitness/app/services/gitspace"
|
||||
"github.com/harness/gitness/app/services/gitspaceevent"
|
||||
"github.com/harness/gitness/app/services/infraprovider"
|
||||
"github.com/harness/gitness/app/services/keywordsearch"
|
||||
"github.com/harness/gitness/app/services/metric"
|
||||
"github.com/harness/gitness/app/services/notification"
|
||||
|
@ -45,6 +47,8 @@ type Services struct {
|
|||
Notification *notification.Service
|
||||
Keywordsearch *keywordsearch.Service
|
||||
GitspaceEvent *gitspaceevent.Service
|
||||
infraProvider *infraprovider.Service
|
||||
gitspace *gitspace.Service
|
||||
}
|
||||
|
||||
func ProvideServices(
|
||||
|
@ -59,6 +63,8 @@ func ProvideServices(
|
|||
notificationSvc *notification.Service,
|
||||
keywordsearchSvc *keywordsearch.Service,
|
||||
gitspaceEventSvc *gitspaceevent.Service,
|
||||
infraProviderSvc *infraprovider.Service,
|
||||
gitspaceSvc *gitspace.Service,
|
||||
) Services {
|
||||
return Services{
|
||||
Webhook: webhooksSvc,
|
||||
|
@ -72,5 +78,7 @@ func ProvideServices(
|
|||
Notification: notificationSvc,
|
||||
Keywordsearch: keywordsearchSvc,
|
||||
GitspaceEvent: gitspaceEventSvc,
|
||||
infraProvider: infraProviderSvc,
|
||||
gitspace: gitspaceSvc,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,9 +65,10 @@ import (
|
|||
"github.com/harness/gitness/app/services/codecomments"
|
||||
"github.com/harness/gitness/app/services/codeowners"
|
||||
"github.com/harness/gitness/app/services/exporter"
|
||||
gitspaceSvc "github.com/harness/gitness/app/services/gitspace"
|
||||
"github.com/harness/gitness/app/services/gitspaceevent"
|
||||
"github.com/harness/gitness/app/services/importer"
|
||||
"github.com/harness/gitness/app/services/infraprovider"
|
||||
infraproviderSvc "github.com/harness/gitness/app/services/infraprovider"
|
||||
"github.com/harness/gitness/app/services/keywordsearch"
|
||||
locker "github.com/harness/gitness/app/services/locker"
|
||||
"github.com/harness/gitness/app/services/metric"
|
||||
|
@ -142,7 +143,13 @@ func initSystem(ctx context.Context, config *types.Config) (*cliserver.System, e
|
|||
system.WireSet,
|
||||
authn.WireSet,
|
||||
authz.WireSet,
|
||||
infrastructure.WireSet,
|
||||
infraproviderpkg.WireSet,
|
||||
gitspaceevents.WireSet,
|
||||
infraproviderCtrl.WireSet,
|
||||
gitspaceCtrl.WireSet,
|
||||
infraproviderSvc.WireSet,
|
||||
gitspaceSvc.WireSet,
|
||||
gitevents.WireSet,
|
||||
pullreqevents.WireSet,
|
||||
repoevents.WireSet,
|
||||
|
@ -211,15 +218,10 @@ func initSystem(ctx context.Context, config *types.Config) (*cliserver.System, e
|
|||
audit.WireSet,
|
||||
ssh.WireSet,
|
||||
publickey.WireSet,
|
||||
infraprovider.WireSet,
|
||||
migrate.WireSet,
|
||||
gitspaceCtrl.WireSet,
|
||||
infraproviderCtrl.WireSet,
|
||||
infraproviderpkg.WireSet,
|
||||
scm.WireSet,
|
||||
orchestrator.WireSet,
|
||||
containerorchestrator.WireSet,
|
||||
infrastructure.WireSet,
|
||||
cliserver.ProvideIDEVSCodeWebConfig,
|
||||
cliserver.ProvideDockerConfig,
|
||||
cliserver.ProvideGitspaceContainerOrchestratorConfig,
|
||||
|
|
|
@ -13,7 +13,7 @@ import (
|
|||
"github.com/harness/gitness/app/api/controller/connector"
|
||||
"github.com/harness/gitness/app/api/controller/execution"
|
||||
"github.com/harness/gitness/app/api/controller/githook"
|
||||
"github.com/harness/gitness/app/api/controller/gitspace"
|
||||
gitspace2 "github.com/harness/gitness/app/api/controller/gitspace"
|
||||
infraprovider3 "github.com/harness/gitness/app/api/controller/infraprovider"
|
||||
keywordsearch2 "github.com/harness/gitness/app/api/controller/keywordsearch"
|
||||
"github.com/harness/gitness/app/api/controller/limiter"
|
||||
|
@ -64,6 +64,7 @@ import (
|
|||
"github.com/harness/gitness/app/services/codecomments"
|
||||
"github.com/harness/gitness/app/services/codeowners"
|
||||
"github.com/harness/gitness/app/services/exporter"
|
||||
"github.com/harness/gitness/app/services/gitspace"
|
||||
"github.com/harness/gitness/app/services/gitspaceevent"
|
||||
"github.com/harness/gitness/app/services/importer"
|
||||
infraprovider2 "github.com/harness/gitness/app/services/infraprovider"
|
||||
|
@ -245,7 +246,8 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
|||
}
|
||||
gitspaceConfigStore := database.ProvideGitspaceConfigStore(db)
|
||||
gitspaceInstanceStore := database.ProvideGitspaceInstanceStore(db)
|
||||
spaceController := space.ProvideController(config, transactor, provider, streamer, spaceIdentifier, authorizer, spacePathStore, pipelineStore, secretStore, connectorStore, templateStore, spaceStore, repoStore, principalStore, repoController, membershipStore, repository, exporterRepository, resourceLimiter, publicaccessService, auditService, gitspaceConfigStore, gitspaceInstanceStore)
|
||||
gitspaceService := gitspace.ProvideGitspace(transactor, gitspaceConfigStore, gitspaceInstanceStore, spaceStore)
|
||||
spaceController := space.ProvideController(config, transactor, provider, streamer, spaceIdentifier, authorizer, spacePathStore, pipelineStore, secretStore, connectorStore, templateStore, spaceStore, repoStore, principalStore, repoController, membershipStore, repository, exporterRepository, resourceLimiter, publicaccessService, auditService, gitspaceService)
|
||||
pipelineController := pipeline.ProvideController(repoStore, triggerStore, authorizer, pipelineStore)
|
||||
secretController := secret.ProvideController(encrypter, secretStore, authorizer, spaceStore)
|
||||
triggerController := trigger.ProvideController(authorizer, triggerStore, pipelineStore, repoStore)
|
||||
|
@ -329,8 +331,8 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
|||
dockerClientFactory := infraprovider.ProvideDockerClientFactory(dockerConfig)
|
||||
dockerProvider := infraprovider.ProvideDockerProvider(dockerConfig, dockerClientFactory)
|
||||
factory := infraprovider.ProvideFactory(dockerProvider)
|
||||
providerService := infraprovider2.ProvideInfraProvider(infraProviderResourceStore, infraProviderConfigStore, factory, spaceStore, transactor)
|
||||
infraproviderController := infraprovider3.ProvideController(authorizer, spaceStore, providerService)
|
||||
infraproviderService := infraprovider2.ProvideInfraProvider(transactor, infraProviderResourceStore, infraProviderConfigStore, factory, spaceStore)
|
||||
infraproviderController := infraprovider3.ProvideController(authorizer, spaceStore, infraproviderService)
|
||||
reporter3, err := events5.ProvideReporter(eventsSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -345,7 +347,7 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
|||
containerOrchestrator := container.ProvideEmbeddedDockerOrchestrator(dockerClientFactory, vsCode, vsCodeWeb, containerConfig, statefulLogger)
|
||||
orchestratorOrchestrator := orchestrator.ProvideOrchestrator(scmSCM, infraProviderResourceStore, infraProvisioner, containerOrchestrator, reporter3)
|
||||
gitspaceEventStore := database.ProvideGitspaceEventStore(db)
|
||||
gitspaceController := gitspace.ProvideController(transactor, authorizer, providerService, gitspaceConfigStore, gitspaceInstanceStore, spaceStore, reporter3, orchestratorOrchestrator, gitspaceEventStore, statefulLogger, scmSCM)
|
||||
gitspaceController := gitspace2.ProvideController(transactor, authorizer, infraproviderService, gitspaceConfigStore, gitspaceInstanceStore, spaceStore, reporter3, orchestratorOrchestrator, gitspaceEventStore, statefulLogger, scmSCM)
|
||||
migrateController := migrate.ProvideController(authorizer, principalStore)
|
||||
apiHandler := router.ProvideAPIHandler(ctx, config, authenticator, repoController, reposettingsController, executionController, logsController, spaceController, pipelineController, secretController, triggerController, connectorController, templateController, pluginController, pullreqController, webhookController, githookController, gitInterface, serviceaccountController, controller, principalController, checkController, systemController, uploadController, keywordsearchController, infraproviderController, gitspaceController, migrateController)
|
||||
gitHandler := router.ProvideGitHandler(provider, authenticator, repoController)
|
||||
|
@ -410,7 +412,7 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
servicesServices := services.ProvideServices(webhookService, pullreqService, triggerService, jobScheduler, collector, sizeCalculator, repoService, cleanupService, notificationService, keywordsearchService, gitspaceeventService)
|
||||
servicesServices := services.ProvideServices(webhookService, pullreqService, triggerService, jobScheduler, collector, sizeCalculator, repoService, cleanupService, notificationService, keywordsearchService, gitspaceeventService, infraproviderService, gitspaceService)
|
||||
serverSystem := server.NewSystem(bootstrapBootstrap, serverServer, sshServer, poller, resolverManager, servicesServices)
|
||||
return serverSystem, nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue