mirror of https://github.com/harness/drone.git
123 lines
4.5 KiB
Go
123 lines
4.5 KiB
Go
// 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 services
|
|
|
|
import (
|
|
"github.com/harness/gitness/app/services/cleanup"
|
|
"github.com/harness/gitness/app/services/gitspace"
|
|
"github.com/harness/gitness/app/services/gitspacedeleteevent"
|
|
"github.com/harness/gitness/app/services/gitspaceevent"
|
|
"github.com/harness/gitness/app/services/gitspaceinfraevent"
|
|
"github.com/harness/gitness/app/services/gitspaceoperationsevent"
|
|
"github.com/harness/gitness/app/services/infraprovider"
|
|
"github.com/harness/gitness/app/services/instrument"
|
|
"github.com/harness/gitness/app/services/keywordsearch"
|
|
"github.com/harness/gitness/app/services/metric"
|
|
"github.com/harness/gitness/app/services/notification"
|
|
"github.com/harness/gitness/app/services/pullreq"
|
|
"github.com/harness/gitness/app/services/repo"
|
|
"github.com/harness/gitness/app/services/trigger"
|
|
"github.com/harness/gitness/app/services/webhook"
|
|
"github.com/harness/gitness/job"
|
|
registrywebhooks "github.com/harness/gitness/registry/services/webhook"
|
|
|
|
"github.com/google/wire"
|
|
)
|
|
|
|
var WireSet = wire.NewSet(
|
|
ProvideServices,
|
|
)
|
|
|
|
type Services struct {
|
|
Webhook *webhook.Service
|
|
PullReq *pullreq.Service
|
|
Trigger *trigger.Service
|
|
JobScheduler *job.Scheduler
|
|
MetricCollector *metric.CollectorJob
|
|
RepoSizeCalculator *repo.SizeCalculator
|
|
Repo *repo.Service
|
|
Cleanup *cleanup.Service
|
|
Notification *notification.Service
|
|
Keywordsearch *keywordsearch.Service
|
|
GitspaceService *GitspaceServices
|
|
Instrumentation instrument.Service
|
|
instrumentConsumer instrument.Consumer
|
|
instrumentRepoCounter *instrument.RepositoryCount
|
|
registryWebhooksService *registrywebhooks.Service
|
|
}
|
|
|
|
type GitspaceServices struct {
|
|
GitspaceEvent *gitspaceevent.Service
|
|
infraProvider *infraprovider.Service
|
|
gitspace *gitspace.Service
|
|
gitspaceInfraEventSvc *gitspaceinfraevent.Service
|
|
gitspaceOperationsEventSvc *gitspaceoperationsevent.Service
|
|
gitspaceDeleteEventSvc *gitspacedeleteevent.Service
|
|
}
|
|
|
|
func ProvideGitspaceServices(
|
|
gitspaceEventSvc *gitspaceevent.Service,
|
|
gitspaceDeleteEventSvc *gitspacedeleteevent.Service,
|
|
infraProviderSvc *infraprovider.Service,
|
|
gitspaceSvc *gitspace.Service,
|
|
gitspaceInfraEventSvc *gitspaceinfraevent.Service,
|
|
gitspaceOperationsEventSvc *gitspaceoperationsevent.Service,
|
|
) *GitspaceServices {
|
|
return &GitspaceServices{
|
|
GitspaceEvent: gitspaceEventSvc,
|
|
infraProvider: infraProviderSvc,
|
|
gitspace: gitspaceSvc,
|
|
gitspaceInfraEventSvc: gitspaceInfraEventSvc,
|
|
gitspaceOperationsEventSvc: gitspaceOperationsEventSvc,
|
|
gitspaceDeleteEventSvc: gitspaceDeleteEventSvc,
|
|
}
|
|
}
|
|
|
|
func ProvideServices(
|
|
webhooksSvc *webhook.Service,
|
|
pullReqSvc *pullreq.Service,
|
|
triggerSvc *trigger.Service,
|
|
jobScheduler *job.Scheduler,
|
|
metricCollector *metric.CollectorJob,
|
|
repoSizeCalculator *repo.SizeCalculator,
|
|
repo *repo.Service,
|
|
cleanupSvc *cleanup.Service,
|
|
notificationSvc *notification.Service,
|
|
keywordsearchSvc *keywordsearch.Service,
|
|
gitspaceSvc *GitspaceServices,
|
|
instrumentation instrument.Service,
|
|
instrumentConsumer instrument.Consumer,
|
|
instrumentRepoCounter *instrument.RepositoryCount,
|
|
registryWebhooksService *registrywebhooks.Service,
|
|
) Services {
|
|
return Services{
|
|
Webhook: webhooksSvc,
|
|
PullReq: pullReqSvc,
|
|
Trigger: triggerSvc,
|
|
JobScheduler: jobScheduler,
|
|
MetricCollector: metricCollector,
|
|
RepoSizeCalculator: repoSizeCalculator,
|
|
Repo: repo,
|
|
Cleanup: cleanupSvc,
|
|
Notification: notificationSvc,
|
|
Keywordsearch: keywordsearchSvc,
|
|
GitspaceService: gitspaceSvc,
|
|
Instrumentation: instrumentation,
|
|
instrumentConsumer: instrumentConsumer,
|
|
instrumentRepoCounter: instrumentRepoCounter,
|
|
registryWebhooksService: registryWebhooksService,
|
|
}
|
|
}
|