drone/app/services/pullreq/wire.go
Marko Gaćeša 75042e9293 add pullreq list API for spaces (#2606)
* moved the service to the existing pullreq package
* add pullreq list API for spaces
2024-08-29 11:49:33 +00:00

101 lines
2.6 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 pullreq
import (
"context"
"github.com/harness/gitness/app/auth/authz"
gitevents "github.com/harness/gitness/app/events/git"
pullreqevents "github.com/harness/gitness/app/events/pullreq"
"github.com/harness/gitness/app/services/codecomments"
"github.com/harness/gitness/app/services/label"
"github.com/harness/gitness/app/sse"
"github.com/harness/gitness/app/store"
"github.com/harness/gitness/app/url"
"github.com/harness/gitness/events"
"github.com/harness/gitness/git"
"github.com/harness/gitness/pubsub"
"github.com/harness/gitness/store/database/dbtx"
"github.com/harness/gitness/types"
"github.com/google/wire"
)
var WireSet = wire.NewSet(
ProvideService,
ProvideListService,
)
func ProvideService(ctx context.Context,
config *types.Config,
gitReaderFactory *events.ReaderFactory[*gitevents.Reader],
pullReqEvFactory *events.ReaderFactory[*pullreqevents.Reader],
pullReqEvReporter *pullreqevents.Reporter,
git git.Interface,
repoGitInfoCache store.RepoGitInfoCache,
repoStore store.RepoStore,
pullreqStore store.PullReqStore,
activityStore store.PullReqActivityStore,
principalInfoCache store.PrincipalInfoCache,
codeCommentView store.CodeCommentView,
codeCommentMigrator *codecomments.Migrator,
fileViewStore store.PullReqFileViewStore,
pubsub pubsub.PubSub,
urlProvider url.Provider,
sseStreamer sse.Streamer,
) (*Service, error) {
return New(ctx,
config,
gitReaderFactory,
pullReqEvFactory,
pullReqEvReporter,
git,
repoGitInfoCache,
repoStore,
pullreqStore,
activityStore,
codeCommentView,
codeCommentMigrator,
fileViewStore,
principalInfoCache,
pubsub,
urlProvider,
sseStreamer,
)
}
func ProvideListService(
tx dbtx.Transactor,
git git.Interface,
authorizer authz.Authorizer,
spaceStore store.SpaceStore,
repoStore store.RepoStore,
repoGitInfoCache store.RepoGitInfoCache,
pullreqStore store.PullReqStore,
labelSvc *label.Service,
) *ListService {
return NewListService(
tx,
git,
authorizer,
spaceStore,
repoStore,
repoGitInfoCache,
pullreqStore,
labelSvc,
)
}