mirror of https://github.com/harness/drone.git
remove sqlx.DB from controllers and services
parent
f51f97adb2
commit
933d2d9703
|
@ -19,7 +19,6 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/harness/gitness/app/auth"
|
"github.com/harness/gitness/app/auth"
|
||||||
"github.com/harness/gitness/store/database/dbtx"
|
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
)
|
)
|
||||||
|
@ -40,7 +39,7 @@ func (c *Controller) ListChecks(
|
||||||
var checks []types.Check
|
var checks []types.Check
|
||||||
var count int
|
var count int
|
||||||
|
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) (err error) {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) (err error) {
|
||||||
count, err = c.checkStore.Count(ctx, repo.ID, commitSHA, opts)
|
count, err = c.checkStore.Count(ctx, repo.ID, commitSHA, opts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to count status check results for repo=%s: %w", repo.UID, err)
|
return fmt.Errorf("failed to count status check results for repo=%s: %w", repo.UID, err)
|
||||||
|
|
|
@ -24,14 +24,13 @@ import (
|
||||||
"github.com/harness/gitness/app/auth/authz"
|
"github.com/harness/gitness/app/auth/authz"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
"github.com/harness/gitness/gitrpc"
|
"github.com/harness/gitness/gitrpc"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
db *sqlx.DB
|
tx dbtx.Transactor
|
||||||
authorizer authz.Authorizer
|
authorizer authz.Authorizer
|
||||||
repoStore store.RepoStore
|
repoStore store.RepoStore
|
||||||
checkStore store.CheckStore
|
checkStore store.CheckStore
|
||||||
|
@ -39,14 +38,14 @@ type Controller struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
tx dbtx.Transactor,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
checkStore store.CheckStore,
|
checkStore store.CheckStore,
|
||||||
gitRPCClient gitrpc.Interface,
|
gitRPCClient gitrpc.Interface,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
tx: tx,
|
||||||
authorizer: authorizer,
|
authorizer: authorizer,
|
||||||
repoStore: repoStore,
|
repoStore: repoStore,
|
||||||
checkStore: checkStore,
|
checkStore: checkStore,
|
||||||
|
|
|
@ -18,9 +18,9 @@ import (
|
||||||
"github.com/harness/gitness/app/auth/authz"
|
"github.com/harness/gitness/app/auth/authz"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
"github.com/harness/gitness/gitrpc"
|
"github.com/harness/gitness/gitrpc"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -29,14 +29,14 @@ var WireSet = wire.NewSet(
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(
|
func ProvideController(
|
||||||
db *sqlx.DB,
|
tx dbtx.Transactor,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
checkStore store.CheckStore,
|
checkStore store.CheckStore,
|
||||||
rpcClient gitrpc.Interface,
|
rpcClient gitrpc.Interface,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(
|
return NewController(
|
||||||
db,
|
tx,
|
||||||
authorizer,
|
authorizer,
|
||||||
repoStore,
|
repoStore,
|
||||||
checkStore,
|
checkStore,
|
||||||
|
|
|
@ -18,12 +18,9 @@ import (
|
||||||
"github.com/harness/gitness/app/auth/authz"
|
"github.com/harness/gitness/app/auth/authz"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
db *sqlx.DB
|
|
||||||
uidCheck check.PathUID
|
uidCheck check.PathUID
|
||||||
connectorStore store.ConnectorStore
|
connectorStore store.ConnectorStore
|
||||||
authorizer authz.Authorizer
|
authorizer authz.Authorizer
|
||||||
|
@ -31,14 +28,12 @@ type Controller struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
|
||||||
uidCheck check.PathUID,
|
uidCheck check.PathUID,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
connectorStore store.ConnectorStore,
|
connectorStore store.ConnectorStore,
|
||||||
spaceStore store.SpaceStore,
|
spaceStore store.SpaceStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
|
||||||
uidCheck: uidCheck,
|
uidCheck: uidCheck,
|
||||||
connectorStore: connectorStore,
|
connectorStore: connectorStore,
|
||||||
authorizer: authorizer,
|
authorizer: authorizer,
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -28,11 +27,11 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(db *sqlx.DB,
|
func ProvideController(
|
||||||
uidCheck check.PathUID,
|
uidCheck check.PathUID,
|
||||||
connectorStore store.ConnectorStore,
|
connectorStore store.ConnectorStore,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
spaceStore store.SpaceStore,
|
spaceStore store.SpaceStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(db, uidCheck, authorizer, connectorStore, spaceStore)
|
return NewController(uidCheck, authorizer, connectorStore, spaceStore)
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,12 +20,11 @@ import (
|
||||||
"github.com/harness/gitness/app/pipeline/commit"
|
"github.com/harness/gitness/app/pipeline/commit"
|
||||||
"github.com/harness/gitness/app/pipeline/triggerer"
|
"github.com/harness/gitness/app/pipeline/triggerer"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
db *sqlx.DB
|
tx dbtx.Transactor
|
||||||
authorizer authz.Authorizer
|
authorizer authz.Authorizer
|
||||||
executionStore store.ExecutionStore
|
executionStore store.ExecutionStore
|
||||||
checkStore store.CheckStore
|
checkStore store.CheckStore
|
||||||
|
@ -38,7 +37,7 @@ type Controller struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
tx dbtx.Transactor,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
executionStore store.ExecutionStore,
|
executionStore store.ExecutionStore,
|
||||||
checkStore store.CheckStore,
|
checkStore store.CheckStore,
|
||||||
|
@ -50,7 +49,7 @@ func NewController(
|
||||||
pipelineStore store.PipelineStore,
|
pipelineStore store.PipelineStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
tx: tx,
|
||||||
authorizer: authorizer,
|
authorizer: authorizer,
|
||||||
executionStore: executionStore,
|
executionStore: executionStore,
|
||||||
checkStore: checkStore,
|
checkStore: checkStore,
|
||||||
|
|
|
@ -50,7 +50,7 @@ func (c *Controller) List(
|
||||||
var count int64
|
var count int64
|
||||||
var executions []*types.Execution
|
var executions []*types.Execution
|
||||||
|
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) (err error) {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) (err error) {
|
||||||
count, err = c.executionStore.Count(ctx, pipeline.ID)
|
count, err = c.executionStore.Count(ctx, pipeline.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to count child executions: %w", err)
|
return fmt.Errorf("failed to count child executions: %w", err)
|
||||||
|
|
|
@ -20,9 +20,9 @@ import (
|
||||||
"github.com/harness/gitness/app/pipeline/commit"
|
"github.com/harness/gitness/app/pipeline/commit"
|
||||||
"github.com/harness/gitness/app/pipeline/triggerer"
|
"github.com/harness/gitness/app/pipeline/triggerer"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -30,7 +30,8 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(db *sqlx.DB,
|
func ProvideController(
|
||||||
|
tx dbtx.Transactor,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
executionStore store.ExecutionStore,
|
executionStore store.ExecutionStore,
|
||||||
checkStore store.CheckStore,
|
checkStore store.CheckStore,
|
||||||
|
@ -41,6 +42,6 @@ func ProvideController(db *sqlx.DB,
|
||||||
stageStore store.StageStore,
|
stageStore store.StageStore,
|
||||||
pipelineStore store.PipelineStore,
|
pipelineStore store.PipelineStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(db, authorizer, executionStore, checkStore,
|
return NewController(tx, authorizer, executionStore, checkStore,
|
||||||
canceler, commitService, triggerer, repoStore, stageStore, pipelineStore)
|
canceler, commitService, triggerer, repoStore, stageStore, pipelineStore)
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,8 +26,6 @@ import (
|
||||||
"github.com/harness/gitness/app/url"
|
"github.com/harness/gitness/app/url"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// ServerHookOutput represents the output of server hook api calls.
|
// ServerHookOutput represents the output of server hook api calls.
|
||||||
|
@ -54,7 +52,6 @@ type BaseInput struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
db *sqlx.DB
|
|
||||||
authorizer authz.Authorizer
|
authorizer authz.Authorizer
|
||||||
principalStore store.PrincipalStore
|
principalStore store.PrincipalStore
|
||||||
repoStore store.RepoStore
|
repoStore store.RepoStore
|
||||||
|
@ -64,7 +61,6 @@ type Controller struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
principalStore store.PrincipalStore,
|
principalStore store.PrincipalStore,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
|
@ -73,7 +69,6 @@ func NewController(
|
||||||
urlProvider url.Provider,
|
urlProvider url.Provider,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
|
||||||
authorizer: authorizer,
|
authorizer: authorizer,
|
||||||
principalStore: principalStore,
|
principalStore: principalStore,
|
||||||
repoStore: repoStore,
|
repoStore: repoStore,
|
||||||
|
|
|
@ -21,7 +21,6 @@ import (
|
||||||
"github.com/harness/gitness/app/url"
|
"github.com/harness/gitness/app/url"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -29,8 +28,8 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(db *sqlx.DB, authorizer authz.Authorizer, principalStore store.PrincipalStore,
|
func ProvideController(authorizer authz.Authorizer, principalStore store.PrincipalStore,
|
||||||
repoStore store.RepoStore, gitReporter *eventsgit.Reporter, pullreqStore store.PullReqStore,
|
repoStore store.RepoStore, gitReporter *eventsgit.Reporter, pullreqStore store.PullReqStore,
|
||||||
urlProvider url.Provider) *Controller {
|
urlProvider url.Provider) *Controller {
|
||||||
return NewController(db, authorizer, principalStore, repoStore, gitReporter, pullreqStore, urlProvider)
|
return NewController(authorizer, principalStore, repoStore, gitReporter, pullreqStore, urlProvider)
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,12 +18,9 @@ import (
|
||||||
"github.com/harness/gitness/app/auth/authz"
|
"github.com/harness/gitness/app/auth/authz"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
"github.com/harness/gitness/livelog"
|
"github.com/harness/gitness/livelog"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
db *sqlx.DB
|
|
||||||
authorizer authz.Authorizer
|
authorizer authz.Authorizer
|
||||||
executionStore store.ExecutionStore
|
executionStore store.ExecutionStore
|
||||||
repoStore store.RepoStore
|
repoStore store.RepoStore
|
||||||
|
@ -35,7 +32,6 @@ type Controller struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
executionStore store.ExecutionStore,
|
executionStore store.ExecutionStore,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
|
@ -46,7 +42,6 @@ func NewController(
|
||||||
logStream livelog.LogStream,
|
logStream livelog.LogStream,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
|
||||||
authorizer: authorizer,
|
authorizer: authorizer,
|
||||||
executionStore: executionStore,
|
executionStore: executionStore,
|
||||||
repoStore: repoStore,
|
repoStore: repoStore,
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"github.com/harness/gitness/livelog"
|
"github.com/harness/gitness/livelog"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -28,7 +27,7 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(db *sqlx.DB,
|
func ProvideController(
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
executionStore store.ExecutionStore,
|
executionStore store.ExecutionStore,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
|
@ -38,6 +37,6 @@ func ProvideController(db *sqlx.DB,
|
||||||
logStore store.LogStore,
|
logStore store.LogStore,
|
||||||
logStream livelog.LogStream,
|
logStream livelog.LogStream,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(db, authorizer, executionStore, repoStore,
|
return NewController(authorizer, executionStore, repoStore,
|
||||||
pipelineStore, stageStore, stepStore, logStore, logStream)
|
pipelineStore, stageStore, stepStore, logStore, logStream)
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,13 +18,10 @@ import (
|
||||||
"github.com/harness/gitness/app/auth/authz"
|
"github.com/harness/gitness/app/auth/authz"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
defaultBranch string
|
defaultBranch string
|
||||||
db *sqlx.DB
|
|
||||||
uidCheck check.PathUID
|
uidCheck check.PathUID
|
||||||
repoStore store.RepoStore
|
repoStore store.RepoStore
|
||||||
triggerStore store.TriggerStore
|
triggerStore store.TriggerStore
|
||||||
|
@ -33,7 +30,6 @@ type Controller struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
|
||||||
uidCheck check.PathUID,
|
uidCheck check.PathUID,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
|
@ -41,7 +37,6 @@ func NewController(
|
||||||
pipelineStore store.PipelineStore,
|
pipelineStore store.PipelineStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
|
||||||
uidCheck: uidCheck,
|
uidCheck: uidCheck,
|
||||||
repoStore: repoStore,
|
repoStore: repoStore,
|
||||||
triggerStore: triggerStore,
|
triggerStore: triggerStore,
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -28,13 +27,13 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(db *sqlx.DB,
|
func ProvideController(
|
||||||
uidCheck check.PathUID,
|
uidCheck check.PathUID,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
triggerStore store.TriggerStore,
|
triggerStore store.TriggerStore,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
pipelineStore store.PipelineStore,
|
pipelineStore store.PipelineStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(db, uidCheck, authorizer,
|
return NewController(uidCheck, authorizer,
|
||||||
repoStore, triggerStore, pipelineStore)
|
repoStore, triggerStore, pipelineStore)
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,21 +16,16 @@ package plugin
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
db *sqlx.DB
|
|
||||||
pluginStore store.PluginStore
|
pluginStore store.PluginStore
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
|
||||||
pluginStore store.PluginStore,
|
pluginStore store.PluginStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
|
||||||
pluginStore: pluginStore,
|
pluginStore: pluginStore,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@ import (
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -26,8 +25,6 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(db *sqlx.DB,
|
func ProvideController(pluginStore store.PluginStore) *Controller {
|
||||||
pluginStore store.PluginStore,
|
return NewController(pluginStore)
|
||||||
) *Controller {
|
|
||||||
return NewController(db, pluginStore)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,7 @@ func (c *Controller) CommentStatus(
|
||||||
var pr *types.PullReq
|
var pr *types.PullReq
|
||||||
var act *types.PullReqActivity
|
var act *types.PullReqActivity
|
||||||
|
|
||||||
err = controller.TxOptLock(ctx, c.db, func(ctx context.Context) error {
|
err = controller.TxOptLock(ctx, c.tx, func(ctx context.Context) error {
|
||||||
pr, err = c.pullreqStore.FindByNumber(ctx, repo.ID, prNum)
|
pr, err = c.pullreqStore.FindByNumber(ctx, repo.ID, prNum)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to find pull request by number: %w", err)
|
return fmt.Errorf("failed to find pull request by number: %w", err)
|
||||||
|
|
|
@ -31,14 +31,13 @@ import (
|
||||||
"github.com/harness/gitness/gitrpc"
|
"github.com/harness/gitness/gitrpc"
|
||||||
gitrpcenum "github.com/harness/gitness/gitrpc/enum"
|
gitrpcenum "github.com/harness/gitness/gitrpc/enum"
|
||||||
"github.com/harness/gitness/lock"
|
"github.com/harness/gitness/lock"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
db *sqlx.DB
|
tx dbtx.Transactor
|
||||||
urlProvider url.Provider
|
urlProvider url.Provider
|
||||||
authorizer authz.Authorizer
|
authorizer authz.Authorizer
|
||||||
pullreqStore store.PullReqStore
|
pullreqStore store.PullReqStore
|
||||||
|
@ -58,7 +57,7 @@ type Controller struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
tx dbtx.Transactor,
|
||||||
urlProvider url.Provider,
|
urlProvider url.Provider,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
pullreqStore store.PullReqStore,
|
pullreqStore store.PullReqStore,
|
||||||
|
@ -77,7 +76,7 @@ func NewController(
|
||||||
sseStreamer sse.Streamer,
|
sseStreamer sse.Streamer,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
tx: tx,
|
||||||
urlProvider: urlProvider,
|
urlProvider: urlProvider,
|
||||||
authorizer: authorizer,
|
authorizer: authorizer,
|
||||||
pullreqStore: pullreqStore,
|
pullreqStore: pullreqStore,
|
||||||
|
|
|
@ -52,7 +52,7 @@ func (c *Controller) List(
|
||||||
|
|
||||||
filter.TargetRepoID = repo.ID
|
filter.TargetRepoID = repo.ID
|
||||||
|
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) error {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
list, err = c.pullreqStore.List(ctx, filter)
|
list, err = c.pullreqStore.List(ctx, filter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to list pull requests: %w", err)
|
return fmt.Errorf("failed to list pull requests: %w", err)
|
||||||
|
|
|
@ -25,7 +25,6 @@ import (
|
||||||
"github.com/harness/gitness/app/auth"
|
"github.com/harness/gitness/app/auth"
|
||||||
"github.com/harness/gitness/gitrpc"
|
"github.com/harness/gitness/gitrpc"
|
||||||
"github.com/harness/gitness/store"
|
"github.com/harness/gitness/store"
|
||||||
"github.com/harness/gitness/store/database/dbtx"
|
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
|
|
||||||
|
@ -98,7 +97,7 @@ func (c *Controller) ReviewSubmit(
|
||||||
|
|
||||||
var review *types.PullReqReview
|
var review *types.PullReqReview
|
||||||
|
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) error {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
now := time.Now().UnixMilli()
|
now := time.Now().UnixMilli()
|
||||||
review = &types.PullReqReview{
|
review = &types.PullReqReview{
|
||||||
ID: 0,
|
ID: 0,
|
||||||
|
|
|
@ -24,7 +24,6 @@ import (
|
||||||
"github.com/harness/gitness/app/api/usererror"
|
"github.com/harness/gitness/app/api/usererror"
|
||||||
"github.com/harness/gitness/app/auth"
|
"github.com/harness/gitness/app/auth"
|
||||||
"github.com/harness/gitness/store"
|
"github.com/harness/gitness/store"
|
||||||
"github.com/harness/gitness/store/database/dbtx"
|
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
|
|
||||||
|
@ -95,7 +94,7 @@ func (c *Controller) ReviewerAdd(
|
||||||
|
|
||||||
var reviewer *types.PullReqReviewer
|
var reviewer *types.PullReqReviewer
|
||||||
|
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) error {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
reviewer, err = c.reviewerStore.Find(ctx, pr.ID, in.ReviewerID)
|
reviewer, err = c.reviewerStore.Find(ctx, pr.ID, in.ReviewerID)
|
||||||
if err != nil && !errors.Is(err, store.ErrResourceNotFound) {
|
if err != nil && !errors.Is(err, store.ErrResourceNotFound) {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -24,9 +24,9 @@ import (
|
||||||
"github.com/harness/gitness/app/url"
|
"github.com/harness/gitness/app/url"
|
||||||
"github.com/harness/gitness/gitrpc"
|
"github.com/harness/gitness/gitrpc"
|
||||||
"github.com/harness/gitness/lock"
|
"github.com/harness/gitness/lock"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -34,7 +34,7 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(db *sqlx.DB, urlProvider url.Provider, authorizer authz.Authorizer,
|
func ProvideController(tx dbtx.Transactor, urlProvider url.Provider, authorizer authz.Authorizer,
|
||||||
pullReqStore store.PullReqStore, pullReqActivityStore store.PullReqActivityStore,
|
pullReqStore store.PullReqStore, pullReqActivityStore store.PullReqActivityStore,
|
||||||
codeCommentsView store.CodeCommentView,
|
codeCommentsView store.CodeCommentView,
|
||||||
pullReqReviewStore store.PullReqReviewStore, pullReqReviewerStore store.PullReqReviewerStore,
|
pullReqReviewStore store.PullReqReviewStore, pullReqReviewerStore store.PullReqReviewerStore,
|
||||||
|
@ -43,7 +43,7 @@ func ProvideController(db *sqlx.DB, urlProvider url.Provider, authorizer authz.A
|
||||||
mtxManager lock.MutexManager, codeCommentMigrator *codecomments.Migrator,
|
mtxManager lock.MutexManager, codeCommentMigrator *codecomments.Migrator,
|
||||||
pullreqService *pullreq.Service, sseStreamer sse.Streamer,
|
pullreqService *pullreq.Service, sseStreamer sse.Streamer,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(db, urlProvider, authorizer,
|
return NewController(tx, urlProvider, authorizer,
|
||||||
pullReqStore, pullReqActivityStore,
|
pullReqStore, pullReqActivityStore,
|
||||||
codeCommentsView,
|
codeCommentsView,
|
||||||
pullReqReviewStore, pullReqReviewerStore,
|
pullReqReviewStore, pullReqReviewerStore,
|
||||||
|
|
|
@ -29,16 +29,15 @@ import (
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
"github.com/harness/gitness/app/url"
|
"github.com/harness/gitness/app/url"
|
||||||
"github.com/harness/gitness/gitrpc"
|
"github.com/harness/gitness/gitrpc"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
defaultBranch string
|
defaultBranch string
|
||||||
db *sqlx.DB
|
tx dbtx.Transactor
|
||||||
urlProvider url.Provider
|
urlProvider url.Provider
|
||||||
uidCheck check.PathUID
|
uidCheck check.PathUID
|
||||||
authorizer authz.Authorizer
|
authorizer authz.Authorizer
|
||||||
|
@ -52,7 +51,7 @@ type Controller struct {
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
defaultBranch string,
|
defaultBranch string,
|
||||||
db *sqlx.DB,
|
tx dbtx.Transactor,
|
||||||
urlProvider url.Provider,
|
urlProvider url.Provider,
|
||||||
uidCheck check.PathUID,
|
uidCheck check.PathUID,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
|
@ -65,7 +64,7 @@ func NewController(
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
defaultBranch: defaultBranch,
|
defaultBranch: defaultBranch,
|
||||||
db: db,
|
tx: tx,
|
||||||
urlProvider: urlProvider,
|
urlProvider: urlProvider,
|
||||||
uidCheck: uidCheck,
|
uidCheck: uidCheck,
|
||||||
authorizer: authorizer,
|
authorizer: authorizer,
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
|
|
||||||
"github.com/harness/gitness/app/auth"
|
"github.com/harness/gitness/app/auth"
|
||||||
"github.com/harness/gitness/app/services/importer"
|
"github.com/harness/gitness/app/services/importer"
|
||||||
"github.com/harness/gitness/store/database/dbtx"
|
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -51,7 +50,7 @@ func (c *Controller) Import(ctx context.Context, session *auth.Session, in *Impo
|
||||||
}
|
}
|
||||||
|
|
||||||
var repo *types.Repository
|
var repo *types.Repository
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) error {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
repo = remoteRepository.ToRepo(parentSpace.ID, in.UID, in.Description, &session.Principal)
|
repo = remoteRepository.ToRepo(parentSpace.ID, in.UID, in.Description, &session.Principal)
|
||||||
|
|
||||||
err = c.repoStore.Create(ctx, repo)
|
err = c.repoStore.Create(ctx, repo)
|
||||||
|
|
|
@ -40,7 +40,7 @@ func (c *Controller) ListPipelines(
|
||||||
var count int64
|
var count int64
|
||||||
var pipelines []*types.Pipeline
|
var pipelines []*types.Pipeline
|
||||||
|
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) (err error) {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) (err error) {
|
||||||
count, err = c.pipelineStore.Count(ctx, repo.ID, filter)
|
count, err = c.pipelineStore.Count(ctx, repo.ID, filter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to count child executions: %w", err)
|
return fmt.Errorf("failed to count child executions: %w", err)
|
||||||
|
|
|
@ -20,11 +20,11 @@ import (
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
"github.com/harness/gitness/app/url"
|
"github.com/harness/gitness/app/url"
|
||||||
"github.com/harness/gitness/gitrpc"
|
"github.com/harness/gitness/gitrpc"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -32,13 +32,13 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(config *types.Config, db *sqlx.DB, urlProvider url.Provider,
|
func ProvideController(config *types.Config, tx dbtx.Transactor, urlProvider url.Provider,
|
||||||
uidCheck check.PathUID, authorizer authz.Authorizer, repoStore store.RepoStore,
|
uidCheck check.PathUID, authorizer authz.Authorizer, repoStore store.RepoStore,
|
||||||
spaceStore store.SpaceStore, pipelineStore store.PipelineStore,
|
spaceStore store.SpaceStore, pipelineStore store.PipelineStore,
|
||||||
principalStore store.PrincipalStore, rpcClient gitrpc.Interface,
|
principalStore store.PrincipalStore, rpcClient gitrpc.Interface,
|
||||||
importer *importer.Repository,
|
importer *importer.Repository,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(config.Git.DefaultBranch, db, urlProvider,
|
return NewController(config.Git.DefaultBranch, tx, urlProvider,
|
||||||
uidCheck, authorizer, repoStore,
|
uidCheck, authorizer, repoStore,
|
||||||
spaceStore, pipelineStore, principalStore, rpcClient,
|
spaceStore, pipelineStore, principalStore, rpcClient,
|
||||||
importer)
|
importer)
|
||||||
|
|
|
@ -19,12 +19,9 @@ import (
|
||||||
"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/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
db *sqlx.DB
|
|
||||||
uidCheck check.PathUID
|
uidCheck check.PathUID
|
||||||
encrypter encrypt.Encrypter
|
encrypter encrypt.Encrypter
|
||||||
secretStore store.SecretStore
|
secretStore store.SecretStore
|
||||||
|
@ -33,7 +30,6 @@ type Controller struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
|
||||||
uidCheck check.PathUID,
|
uidCheck check.PathUID,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
encrypter encrypt.Encrypter,
|
encrypter encrypt.Encrypter,
|
||||||
|
@ -41,7 +37,6 @@ func NewController(
|
||||||
spaceStore store.SpaceStore,
|
spaceStore store.SpaceStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
|
||||||
uidCheck: uidCheck,
|
uidCheck: uidCheck,
|
||||||
encrypter: encrypter,
|
encrypter: encrypter,
|
||||||
secretStore: secretStore,
|
secretStore: secretStore,
|
||||||
|
|
|
@ -21,7 +21,6 @@ import (
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -29,12 +28,12 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(db *sqlx.DB,
|
func ProvideController(
|
||||||
uidCheck check.PathUID,
|
uidCheck check.PathUID,
|
||||||
encrypter encrypt.Encrypter,
|
encrypter encrypt.Encrypter,
|
||||||
secretStore store.SecretStore,
|
secretStore store.SecretStore,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
spaceStore store.SpaceStore,
|
spaceStore store.SpaceStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(db, uidCheck, authorizer, encrypter, secretStore, spaceStore)
|
return NewController(uidCheck, authorizer, encrypter, secretStore, spaceStore)
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,8 @@ func NewController(principalUIDCheck check.PrincipalUID, authorizer authz.Author
|
||||||
}
|
}
|
||||||
|
|
||||||
func findServiceFromUID(ctx context.Context,
|
func findServiceFromUID(ctx context.Context,
|
||||||
principalStore store.PrincipalStore, serviceUID string) (*types.Service, error) {
|
principalStore store.PrincipalStore,
|
||||||
|
serviceUID string,
|
||||||
|
) (*types.Service, error) {
|
||||||
return principalStore.FindServiceByUID(ctx, serviceUID)
|
return principalStore.FindServiceByUID(ctx, serviceUID)
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,10 +23,9 @@ import (
|
||||||
"github.com/harness/gitness/app/sse"
|
"github.com/harness/gitness/app/sse"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
"github.com/harness/gitness/app/url"
|
"github.com/harness/gitness/app/url"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -37,7 +36,7 @@ var (
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
nestedSpacesEnabled bool
|
nestedSpacesEnabled bool
|
||||||
|
|
||||||
db *sqlx.DB
|
tx dbtx.Transactor
|
||||||
urlProvider url.Provider
|
urlProvider url.Provider
|
||||||
sseStreamer sse.Streamer
|
sseStreamer sse.Streamer
|
||||||
uidCheck check.PathUID
|
uidCheck check.PathUID
|
||||||
|
@ -56,7 +55,7 @@ type Controller struct {
|
||||||
exporter *exporter.Repository
|
exporter *exporter.Repository
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(config *types.Config, db *sqlx.DB, urlProvider url.Provider,
|
func NewController(config *types.Config, tx dbtx.Transactor, urlProvider url.Provider,
|
||||||
sseStreamer sse.Streamer, uidCheck check.PathUID, authorizer authz.Authorizer,
|
sseStreamer sse.Streamer, uidCheck check.PathUID, authorizer authz.Authorizer,
|
||||||
spacePathStore store.SpacePathStore, pipelineStore store.PipelineStore, secretStore store.SecretStore,
|
spacePathStore store.SpacePathStore, pipelineStore store.PipelineStore, secretStore store.SecretStore,
|
||||||
connectorStore store.ConnectorStore, templateStore store.TemplateStore, spaceStore store.SpaceStore,
|
connectorStore store.ConnectorStore, templateStore store.TemplateStore, spaceStore store.SpaceStore,
|
||||||
|
@ -65,7 +64,7 @@ func NewController(config *types.Config, db *sqlx.DB, urlProvider url.Provider,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
nestedSpacesEnabled: config.NestedSpacesEnabled,
|
nestedSpacesEnabled: config.NestedSpacesEnabled,
|
||||||
db: db,
|
tx: tx,
|
||||||
urlProvider: urlProvider,
|
urlProvider: urlProvider,
|
||||||
sseStreamer: sseStreamer,
|
sseStreamer: sseStreamer,
|
||||||
uidCheck: uidCheck,
|
uidCheck: uidCheck,
|
||||||
|
|
|
@ -26,7 +26,6 @@ import (
|
||||||
"github.com/harness/gitness/app/auth"
|
"github.com/harness/gitness/app/auth"
|
||||||
"github.com/harness/gitness/app/bootstrap"
|
"github.com/harness/gitness/app/bootstrap"
|
||||||
"github.com/harness/gitness/app/paths"
|
"github.com/harness/gitness/app/paths"
|
||||||
"github.com/harness/gitness/store/database/dbtx"
|
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
|
@ -61,7 +60,7 @@ func (c *Controller) Create(
|
||||||
return nil, fmt.Errorf("failed to sanitize input: %w", err)
|
return nil, fmt.Errorf("failed to sanitize input: %w", err)
|
||||||
}
|
}
|
||||||
var space *types.Space
|
var space *types.Space
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) error {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
space, err = c.createSpaceInnerInTX(ctx, session, parentID, in)
|
space, err = c.createSpaceInnerInTX(ctx, session, parentID, in)
|
||||||
return err
|
return err
|
||||||
})
|
})
|
||||||
|
|
|
@ -23,7 +23,6 @@ import (
|
||||||
"github.com/harness/gitness/app/api/usererror"
|
"github.com/harness/gitness/app/api/usererror"
|
||||||
"github.com/harness/gitness/app/auth"
|
"github.com/harness/gitness/app/auth"
|
||||||
"github.com/harness/gitness/app/services/exporter"
|
"github.com/harness/gitness/app/services/exporter"
|
||||||
"github.com/harness/gitness/store/database/dbtx"
|
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
)
|
)
|
||||||
|
@ -72,7 +71,7 @@ func (c *Controller) Export(ctx context.Context, session *auth.Session, spaceRef
|
||||||
repos = append(repos, reposInPage...)
|
repos = append(repos, reposInPage...)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) error {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
err = c.exporter.RunManyForSpace(ctx, space.ID, repos, providerInfo)
|
err = c.exporter.RunManyForSpace(ctx, space.ID, repos, providerInfo)
|
||||||
if errors.Is(err, exporter.ErrJobRunning) {
|
if errors.Is(err, exporter.ErrJobRunning) {
|
||||||
return usererror.ConflictWithPayload("export already in progress")
|
return usererror.ConflictWithPayload("export already in progress")
|
||||||
|
|
|
@ -21,7 +21,6 @@ import (
|
||||||
"github.com/harness/gitness/app/api/usererror"
|
"github.com/harness/gitness/app/api/usererror"
|
||||||
"github.com/harness/gitness/app/auth"
|
"github.com/harness/gitness/app/auth"
|
||||||
"github.com/harness/gitness/app/services/importer"
|
"github.com/harness/gitness/app/services/importer"
|
||||||
"github.com/harness/gitness/store/database/dbtx"
|
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -60,7 +59,7 @@ func (c *Controller) Import(ctx context.Context, session *auth.Session, in *Impo
|
||||||
cloneURLs := make([]string, len(remoteRepositories))
|
cloneURLs := make([]string, len(remoteRepositories))
|
||||||
|
|
||||||
var space *types.Space
|
var space *types.Space
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) error {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
space, err = c.createSpaceInnerInTX(ctx, session, parentSpaceID, &in.CreateInput)
|
space, err = c.createSpaceInnerInTX(ctx, session, parentSpaceID, &in.CreateInput)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -45,7 +45,7 @@ func (c *Controller) ListSecrets(
|
||||||
var count int64
|
var count int64
|
||||||
var secrets []*types.Secret
|
var secrets []*types.Secret
|
||||||
|
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) (err error) {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) (err error) {
|
||||||
count, err = c.secretStore.Count(ctx, space.ID, filter)
|
count, err = c.secretStore.Count(ctx, space.ID, filter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to count child executions: %w", err)
|
return fmt.Errorf("failed to count child executions: %w", err)
|
||||||
|
|
|
@ -51,7 +51,7 @@ func (c *Controller) ListSpacesNoAuth(
|
||||||
var spaces []*types.Space
|
var spaces []*types.Space
|
||||||
var count int64
|
var count int64
|
||||||
|
|
||||||
err := dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) (err error) {
|
err := c.tx.WithTx(ctx, func(ctx context.Context) (err error) {
|
||||||
count, err = c.spaceStore.Count(ctx, spaceID, filter)
|
count, err = c.spaceStore.Count(ctx, spaceID, filter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to count child spaces: %w", err)
|
return fmt.Errorf("failed to count child spaces: %w", err)
|
||||||
|
|
|
@ -43,7 +43,7 @@ func (c *Controller) MembershipList(ctx context.Context,
|
||||||
var memberships []types.MembershipUser
|
var memberships []types.MembershipUser
|
||||||
var membershipsCount int64
|
var membershipsCount int64
|
||||||
|
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) error {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
memberships, err = c.membershipStore.ListUsers(ctx, space.ID, filter)
|
memberships, err = c.membershipStore.ListUsers(ctx, space.ID, filter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to list memberships for space: %w", err)
|
return fmt.Errorf("failed to list memberships for space: %w", err)
|
||||||
|
|
|
@ -21,7 +21,6 @@ import (
|
||||||
|
|
||||||
apiauth "github.com/harness/gitness/app/api/auth"
|
apiauth "github.com/harness/gitness/app/api/auth"
|
||||||
"github.com/harness/gitness/app/auth"
|
"github.com/harness/gitness/app/auth"
|
||||||
"github.com/harness/gitness/store/database/dbtx"
|
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
)
|
)
|
||||||
|
@ -95,7 +94,7 @@ func (c *Controller) moveInner(
|
||||||
space *types.Space,
|
space *types.Space,
|
||||||
inUID *string,
|
inUID *string,
|
||||||
) error {
|
) error {
|
||||||
return dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) error {
|
return c.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
// delete old primary segment
|
// delete old primary segment
|
||||||
err := c.spacePathStore.DeletePrimarySegment(ctx, space.ID)
|
err := c.spacePathStore.DeletePrimarySegment(ctx, space.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -22,11 +22,11 @@ import (
|
||||||
"github.com/harness/gitness/app/sse"
|
"github.com/harness/gitness/app/sse"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
"github.com/harness/gitness/app/url"
|
"github.com/harness/gitness/app/url"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -34,7 +34,7 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(config *types.Config, db *sqlx.DB, urlProvider url.Provider, sseStreamer sse.Streamer,
|
func ProvideController(config *types.Config, tx dbtx.Transactor, urlProvider url.Provider, sseStreamer sse.Streamer,
|
||||||
uidCheck check.PathUID, authorizer authz.Authorizer, spacePathStore store.SpacePathStore,
|
uidCheck check.PathUID, authorizer authz.Authorizer, spacePathStore store.SpacePathStore,
|
||||||
pipelineStore store.PipelineStore, secretStore store.SecretStore,
|
pipelineStore store.PipelineStore, secretStore store.SecretStore,
|
||||||
connectorStore store.ConnectorStore, templateStore store.TemplateStore,
|
connectorStore store.ConnectorStore, templateStore store.TemplateStore,
|
||||||
|
@ -42,7 +42,7 @@ func ProvideController(config *types.Config, db *sqlx.DB, urlProvider url.Provid
|
||||||
repoCtrl *repo.Controller, membershipStore store.MembershipStore, importer *importer.Repository,
|
repoCtrl *repo.Controller, membershipStore store.MembershipStore, importer *importer.Repository,
|
||||||
exporter *exporter.Repository,
|
exporter *exporter.Repository,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(config, db, urlProvider, sseStreamer, uidCheck, authorizer,
|
return NewController(config, tx, urlProvider, sseStreamer, uidCheck, authorizer,
|
||||||
spacePathStore, pipelineStore, secretStore,
|
spacePathStore, pipelineStore, secretStore,
|
||||||
connectorStore, templateStore,
|
connectorStore, templateStore,
|
||||||
spaceStore, repoStore, principalStore,
|
spaceStore, repoStore, principalStore,
|
||||||
|
|
|
@ -18,12 +18,9 @@ import (
|
||||||
"github.com/harness/gitness/app/auth/authz"
|
"github.com/harness/gitness/app/auth/authz"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
db *sqlx.DB
|
|
||||||
uidCheck check.PathUID
|
uidCheck check.PathUID
|
||||||
templateStore store.TemplateStore
|
templateStore store.TemplateStore
|
||||||
authorizer authz.Authorizer
|
authorizer authz.Authorizer
|
||||||
|
@ -31,14 +28,12 @@ type Controller struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
|
||||||
uidCheck check.PathUID,
|
uidCheck check.PathUID,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
templateStore store.TemplateStore,
|
templateStore store.TemplateStore,
|
||||||
spaceStore store.SpaceStore,
|
spaceStore store.SpaceStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
|
||||||
uidCheck: uidCheck,
|
uidCheck: uidCheck,
|
||||||
templateStore: templateStore,
|
templateStore: templateStore,
|
||||||
authorizer: authorizer,
|
authorizer: authorizer,
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -28,11 +27,11 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(db *sqlx.DB,
|
func ProvideController(
|
||||||
uidCheck check.PathUID,
|
uidCheck check.PathUID,
|
||||||
templateStore store.TemplateStore,
|
templateStore store.TemplateStore,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
spaceStore store.SpaceStore,
|
spaceStore store.SpaceStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(db, uidCheck, authorizer, templateStore, spaceStore)
|
return NewController(uidCheck, authorizer, templateStore, spaceStore)
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,12 +18,9 @@ import (
|
||||||
"github.com/harness/gitness/app/auth/authz"
|
"github.com/harness/gitness/app/auth/authz"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
db *sqlx.DB
|
|
||||||
authorizer authz.Authorizer
|
authorizer authz.Authorizer
|
||||||
triggerStore store.TriggerStore
|
triggerStore store.TriggerStore
|
||||||
uidCheck check.PathUID
|
uidCheck check.PathUID
|
||||||
|
@ -32,7 +29,6 @@ type Controller struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
triggerStore store.TriggerStore,
|
triggerStore store.TriggerStore,
|
||||||
uidCheck check.PathUID,
|
uidCheck check.PathUID,
|
||||||
|
@ -40,7 +36,6 @@ func NewController(
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
|
||||||
authorizer: authorizer,
|
authorizer: authorizer,
|
||||||
triggerStore: triggerStore,
|
triggerStore: triggerStore,
|
||||||
uidCheck: uidCheck,
|
uidCheck: uidCheck,
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -28,12 +27,12 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(db *sqlx.DB,
|
func ProvideController(
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
triggerStore store.TriggerStore,
|
triggerStore store.TriggerStore,
|
||||||
uidCheck check.PathUID,
|
uidCheck check.PathUID,
|
||||||
pipelineStore store.PipelineStore,
|
pipelineStore store.PipelineStore,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(db, authorizer, triggerStore, uidCheck, pipelineStore, repoStore)
|
return NewController(authorizer, triggerStore, uidCheck, pipelineStore, repoStore)
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,8 +20,6 @@ import (
|
||||||
|
|
||||||
"github.com/harness/gitness/store"
|
"github.com/harness/gitness/store"
|
||||||
"github.com/harness/gitness/store/database/dbtx"
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type TxOptionRetryCount int
|
type TxOptionRetryCount int
|
||||||
|
@ -30,7 +28,7 @@ type TxOptionRetryCount int
|
||||||
// during the operation, the function will retry the whole transaction again (to the maximum of 5 times,
|
// during the operation, the function will retry the whole transaction again (to the maximum of 5 times,
|
||||||
// but this can be overridden by providing an additional TxOptionRetryCount option).
|
// but this can be overridden by providing an additional TxOptionRetryCount option).
|
||||||
func TxOptLock(ctx context.Context,
|
func TxOptLock(ctx context.Context,
|
||||||
db *sqlx.DB,
|
tx dbtx.Transactor,
|
||||||
txFn func(ctx context.Context) error,
|
txFn func(ctx context.Context) error,
|
||||||
opts ...interface{},
|
opts ...interface{},
|
||||||
) (err error) {
|
) (err error) {
|
||||||
|
@ -42,7 +40,7 @@ func TxOptLock(ctx context.Context,
|
||||||
}
|
}
|
||||||
|
|
||||||
for try := 0; try < tries; try++ {
|
for try := 0; try < tries; try++ {
|
||||||
err = dbtx.New(db).WithTx(ctx, txFn, opts...)
|
err = tx.WithTx(ctx, txFn, opts...)
|
||||||
if !errors.Is(err, store.ErrVersionConflict) {
|
if !errors.Is(err, store.ErrVersionConflict) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,16 +19,16 @@ import (
|
||||||
|
|
||||||
"github.com/harness/gitness/app/auth/authz"
|
"github.com/harness/gitness/app/auth/authz"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
"golang.org/x/crypto/bcrypt"
|
"golang.org/x/crypto/bcrypt"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
db *sqlx.DB
|
tx dbtx.Transactor
|
||||||
principalUIDCheck check.PrincipalUID
|
principalUIDCheck check.PrincipalUID
|
||||||
authorizer authz.Authorizer
|
authorizer authz.Authorizer
|
||||||
principalStore store.PrincipalStore
|
principalStore store.PrincipalStore
|
||||||
|
@ -37,7 +37,7 @@ type Controller struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewController(
|
func NewController(
|
||||||
db *sqlx.DB,
|
tx dbtx.Transactor,
|
||||||
principalUIDCheck check.PrincipalUID,
|
principalUIDCheck check.PrincipalUID,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
principalStore store.PrincipalStore,
|
principalStore store.PrincipalStore,
|
||||||
|
@ -45,7 +45,7 @@ func NewController(
|
||||||
membershipStore store.MembershipStore,
|
membershipStore store.MembershipStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return &Controller{
|
return &Controller{
|
||||||
db: db,
|
tx: tx,
|
||||||
principalUIDCheck: principalUIDCheck,
|
principalUIDCheck: principalUIDCheck,
|
||||||
authorizer: authorizer,
|
authorizer: authorizer,
|
||||||
principalStore: principalStore,
|
principalStore: principalStore,
|
||||||
|
|
|
@ -44,7 +44,7 @@ func (c *Controller) MembershipSpaces(ctx context.Context,
|
||||||
var membershipSpaces []types.MembershipSpace
|
var membershipSpaces []types.MembershipSpace
|
||||||
var membershipsCount int64
|
var membershipsCount int64
|
||||||
|
|
||||||
err = dbtx.New(c.db).WithTx(ctx, func(ctx context.Context) error {
|
err = c.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
membershipSpaces, err = c.membershipStore.ListSpaces(ctx, user.ID, filter)
|
membershipSpaces, err = c.membershipStore.ListSpaces(ctx, user.ID, filter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to list membership spaces for user: %w", err)
|
return fmt.Errorf("failed to list membership spaces for user: %w", err)
|
||||||
|
|
|
@ -17,10 +17,10 @@ package user
|
||||||
import (
|
import (
|
||||||
"github.com/harness/gitness/app/auth/authz"
|
"github.com/harness/gitness/app/auth/authz"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -29,7 +29,7 @@ var WireSet = wire.NewSet(
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(
|
func ProvideController(
|
||||||
db *sqlx.DB,
|
tx dbtx.Transactor,
|
||||||
principalUIDCheck check.PrincipalUID,
|
principalUIDCheck check.PrincipalUID,
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
principalStore store.PrincipalStore,
|
principalStore store.PrincipalStore,
|
||||||
|
@ -37,7 +37,7 @@ func ProvideController(
|
||||||
membershipStore store.MembershipStore,
|
membershipStore store.MembershipStore,
|
||||||
) *Controller {
|
) *Controller {
|
||||||
return NewController(
|
return NewController(
|
||||||
db,
|
tx,
|
||||||
principalUIDCheck,
|
principalUIDCheck,
|
||||||
authorizer,
|
authorizer,
|
||||||
principalStore,
|
principalStore,
|
||||||
|
|
|
@ -27,15 +27,12 @@ import (
|
||||||
"github.com/harness/gitness/encrypt"
|
"github.com/harness/gitness/encrypt"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Controller struct {
|
type Controller struct {
|
||||||
allowLoopback bool
|
allowLoopback bool
|
||||||
allowPrivateNetwork bool
|
allowPrivateNetwork bool
|
||||||
|
|
||||||
db *sqlx.DB
|
|
||||||
authorizer authz.Authorizer
|
authorizer authz.Authorizer
|
||||||
webhookStore store.WebhookStore
|
webhookStore store.WebhookStore
|
||||||
webhookExecutionStore store.WebhookExecutionStore
|
webhookExecutionStore store.WebhookExecutionStore
|
||||||
|
@ -47,7 +44,6 @@ type Controller struct {
|
||||||
func NewController(
|
func NewController(
|
||||||
allowLoopback bool,
|
allowLoopback bool,
|
||||||
allowPrivateNetwork bool,
|
allowPrivateNetwork bool,
|
||||||
db *sqlx.DB,
|
|
||||||
authorizer authz.Authorizer,
|
authorizer authz.Authorizer,
|
||||||
webhookStore store.WebhookStore,
|
webhookStore store.WebhookStore,
|
||||||
webhookExecutionStore store.WebhookExecutionStore,
|
webhookExecutionStore store.WebhookExecutionStore,
|
||||||
|
@ -58,7 +54,6 @@ func NewController(
|
||||||
return &Controller{
|
return &Controller{
|
||||||
allowLoopback: allowLoopback,
|
allowLoopback: allowLoopback,
|
||||||
allowPrivateNetwork: allowPrivateNetwork,
|
allowPrivateNetwork: allowPrivateNetwork,
|
||||||
db: db,
|
|
||||||
authorizer: authorizer,
|
authorizer: authorizer,
|
||||||
webhookStore: webhookStore,
|
webhookStore: webhookStore,
|
||||||
webhookExecutionStore: webhookExecutionStore,
|
webhookExecutionStore: webhookExecutionStore,
|
||||||
|
|
|
@ -21,7 +21,6 @@ import (
|
||||||
"github.com/harness/gitness/encrypt"
|
"github.com/harness/gitness/encrypt"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -29,9 +28,12 @@ var WireSet = wire.NewSet(
|
||||||
ProvideController,
|
ProvideController,
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideController(config webhook.Config, db *sqlx.DB, authorizer authz.Authorizer,
|
func ProvideController(config webhook.Config, authorizer authz.Authorizer,
|
||||||
webhookStore store.WebhookStore, webhookExecutionStore store.WebhookExecutionStore,
|
webhookStore store.WebhookStore, webhookExecutionStore store.WebhookExecutionStore,
|
||||||
repoStore store.RepoStore, webhookService *webhook.Service, encrypter encrypt.Encrypter) *Controller {
|
repoStore store.RepoStore, webhookService *webhook.Service, encrypter encrypt.Encrypter,
|
||||||
return NewController(config.AllowLoopback, config.AllowPrivateNetwork,
|
) *Controller {
|
||||||
db, authorizer, webhookStore, webhookExecutionStore, repoStore, webhookService, encrypter)
|
return NewController(
|
||||||
|
config.AllowLoopback, config.AllowPrivateNetwork, authorizer,
|
||||||
|
webhookStore, webhookExecutionStore,
|
||||||
|
repoStore, webhookService, encrypter)
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,6 @@ import (
|
||||||
"github.com/drone/drone-yaml/yaml/linter"
|
"github.com/drone/drone-yaml/yaml/linter"
|
||||||
v1yaml "github.com/drone/spec/dist/go"
|
v1yaml "github.com/drone/spec/dist/go"
|
||||||
"github.com/drone/spec/dist/go/parse/normalize"
|
"github.com/drone/spec/dist/go/parse/normalize"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -80,7 +79,7 @@ type triggerer struct {
|
||||||
executionStore store.ExecutionStore
|
executionStore store.ExecutionStore
|
||||||
checkStore store.CheckStore
|
checkStore store.CheckStore
|
||||||
stageStore store.StageStore
|
stageStore store.StageStore
|
||||||
db *sqlx.DB
|
tx dbtx.Transactor
|
||||||
pipelineStore store.PipelineStore
|
pipelineStore store.PipelineStore
|
||||||
fileService file.Service
|
fileService file.Service
|
||||||
scheduler scheduler.Scheduler
|
scheduler scheduler.Scheduler
|
||||||
|
@ -92,7 +91,7 @@ func New(
|
||||||
checkStore store.CheckStore,
|
checkStore store.CheckStore,
|
||||||
stageStore store.StageStore,
|
stageStore store.StageStore,
|
||||||
pipelineStore store.PipelineStore,
|
pipelineStore store.PipelineStore,
|
||||||
db *sqlx.DB,
|
tx dbtx.Transactor,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
scheduler scheduler.Scheduler,
|
scheduler scheduler.Scheduler,
|
||||||
fileService file.Service,
|
fileService file.Service,
|
||||||
|
@ -102,7 +101,7 @@ func New(
|
||||||
checkStore: checkStore,
|
checkStore: checkStore,
|
||||||
stageStore: stageStore,
|
stageStore: stageStore,
|
||||||
scheduler: scheduler,
|
scheduler: scheduler,
|
||||||
db: db,
|
tx: tx,
|
||||||
pipelineStore: pipelineStore,
|
pipelineStore: pipelineStore,
|
||||||
fileService: fileService,
|
fileService: fileService,
|
||||||
repoStore: repoStore,
|
repoStore: repoStore,
|
||||||
|
@ -449,7 +448,7 @@ func (t *triggerer) createExecutionWithStages(
|
||||||
execution *types.Execution,
|
execution *types.Execution,
|
||||||
stages []*types.Stage,
|
stages []*types.Stage,
|
||||||
) error {
|
) error {
|
||||||
return dbtx.New(t.db).WithTx(ctx, func(ctx context.Context) error {
|
return t.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
err := t.executionStore.Create(ctx, execution)
|
err := t.executionStore.Create(ctx, execution)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -18,9 +18,9 @@ import (
|
||||||
"github.com/harness/gitness/app/pipeline/file"
|
"github.com/harness/gitness/app/pipeline/file"
|
||||||
"github.com/harness/gitness/app/pipeline/scheduler"
|
"github.com/harness/gitness/app/pipeline/scheduler"
|
||||||
"github.com/harness/gitness/app/store"
|
"github.com/harness/gitness/app/store"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// WireSet provides a wire set for this package.
|
// WireSet provides a wire set for this package.
|
||||||
|
@ -33,12 +33,12 @@ func ProvideTriggerer(
|
||||||
executionStore store.ExecutionStore,
|
executionStore store.ExecutionStore,
|
||||||
checkStore store.CheckStore,
|
checkStore store.CheckStore,
|
||||||
stageStore store.StageStore,
|
stageStore store.StageStore,
|
||||||
db *sqlx.DB,
|
tx dbtx.Transactor,
|
||||||
pipelineStore store.PipelineStore,
|
pipelineStore store.PipelineStore,
|
||||||
fileService file.Service,
|
fileService file.Service,
|
||||||
scheduler scheduler.Scheduler,
|
scheduler scheduler.Scheduler,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
) Triggerer {
|
) Triggerer {
|
||||||
return New(executionStore, checkStore, stageStore, pipelineStore,
|
return New(executionStore, checkStore, stageStore, pipelineStore,
|
||||||
db, repoStore, scheduler, fileService)
|
tx, repoStore, scheduler, fileService)
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,7 +90,7 @@ func (r *Repository) processPipelines(ctx context.Context,
|
||||||
|
|
||||||
nowMilli := now.UnixMilli()
|
nowMilli := now.UnixMilli()
|
||||||
|
|
||||||
err = dbtx.New(r.db).WithTx(ctx, func(ctx context.Context) error {
|
err = r.tx.WithTx(ctx, func(ctx context.Context) error {
|
||||||
for _, p := range pipelineFiles {
|
for _, p := range pipelineFiles {
|
||||||
pipeline := &types.Pipeline{
|
pipeline := &types.Pipeline{
|
||||||
Description: "",
|
Description: "",
|
||||||
|
|
|
@ -33,10 +33,10 @@ import (
|
||||||
"github.com/harness/gitness/encrypt"
|
"github.com/harness/gitness/encrypt"
|
||||||
"github.com/harness/gitness/gitrpc"
|
"github.com/harness/gitness/gitrpc"
|
||||||
gitness_store "github.com/harness/gitness/store"
|
gitness_store "github.com/harness/gitness/store"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/enum"
|
"github.com/harness/gitness/types/enum"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ type Repository struct {
|
||||||
defaultBranch string
|
defaultBranch string
|
||||||
urlProvider gitnessurl.Provider
|
urlProvider gitnessurl.Provider
|
||||||
git gitrpc.Interface
|
git gitrpc.Interface
|
||||||
db *sqlx.DB
|
tx dbtx.Transactor
|
||||||
repoStore store.RepoStore
|
repoStore store.RepoStore
|
||||||
pipelineStore store.PipelineStore
|
pipelineStore store.PipelineStore
|
||||||
triggerStore store.TriggerStore
|
triggerStore store.TriggerStore
|
||||||
|
|
|
@ -21,10 +21,10 @@ import (
|
||||||
"github.com/harness/gitness/app/url"
|
"github.com/harness/gitness/app/url"
|
||||||
"github.com/harness/gitness/encrypt"
|
"github.com/harness/gitness/encrypt"
|
||||||
"github.com/harness/gitness/gitrpc"
|
"github.com/harness/gitness/gitrpc"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var WireSet = wire.NewSet(
|
var WireSet = wire.NewSet(
|
||||||
|
@ -35,7 +35,7 @@ func ProvideRepoImporter(
|
||||||
config *types.Config,
|
config *types.Config,
|
||||||
urlProvider url.Provider,
|
urlProvider url.Provider,
|
||||||
git gitrpc.Interface,
|
git gitrpc.Interface,
|
||||||
db *sqlx.DB,
|
tx dbtx.Transactor,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
pipelineStore store.PipelineStore,
|
pipelineStore store.PipelineStore,
|
||||||
triggerStore store.TriggerStore,
|
triggerStore store.TriggerStore,
|
||||||
|
@ -48,7 +48,7 @@ func ProvideRepoImporter(
|
||||||
defaultBranch: config.Git.DefaultBranch,
|
defaultBranch: config.Git.DefaultBranch,
|
||||||
urlProvider: urlProvider,
|
urlProvider: urlProvider,
|
||||||
git: git,
|
git: git,
|
||||||
db: db,
|
tx: tx,
|
||||||
repoStore: repoStore,
|
repoStore: repoStore,
|
||||||
pipelineStore: pipelineStore,
|
pipelineStore: pipelineStore,
|
||||||
triggerStore: triggerStore,
|
triggerStore: triggerStore,
|
||||||
|
|
|
@ -33,14 +33,11 @@ import (
|
||||||
"github.com/harness/gitness/pubsub"
|
"github.com/harness/gitness/pubsub"
|
||||||
"github.com/harness/gitness/stream"
|
"github.com/harness/gitness/stream"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
|
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Service struct {
|
type Service struct {
|
||||||
pullreqEvReporter *pullreqevents.Reporter
|
pullreqEvReporter *pullreqevents.Reporter
|
||||||
gitRPCClient gitrpc.Interface
|
gitRPCClient gitrpc.Interface
|
||||||
db *sqlx.DB
|
|
||||||
repoGitInfoCache store.RepoGitInfoCache
|
repoGitInfoCache store.RepoGitInfoCache
|
||||||
repoStore store.RepoStore
|
repoStore store.RepoStore
|
||||||
pullreqStore store.PullReqStore
|
pullreqStore store.PullReqStore
|
||||||
|
@ -64,7 +61,6 @@ func New(ctx context.Context,
|
||||||
pullreqEvReaderFactory *events.ReaderFactory[*pullreqevents.Reader],
|
pullreqEvReaderFactory *events.ReaderFactory[*pullreqevents.Reader],
|
||||||
pullreqEvReporter *pullreqevents.Reporter,
|
pullreqEvReporter *pullreqevents.Reporter,
|
||||||
gitRPCClient gitrpc.Interface,
|
gitRPCClient gitrpc.Interface,
|
||||||
db *sqlx.DB,
|
|
||||||
repoGitInfoCache store.RepoGitInfoCache,
|
repoGitInfoCache store.RepoGitInfoCache,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
pullreqStore store.PullReqStore,
|
pullreqStore store.PullReqStore,
|
||||||
|
@ -79,7 +75,6 @@ func New(ctx context.Context,
|
||||||
service := &Service{
|
service := &Service{
|
||||||
pullreqEvReporter: pullreqEvReporter,
|
pullreqEvReporter: pullreqEvReporter,
|
||||||
gitRPCClient: gitRPCClient,
|
gitRPCClient: gitRPCClient,
|
||||||
db: db,
|
|
||||||
repoGitInfoCache: repoGitInfoCache,
|
repoGitInfoCache: repoGitInfoCache,
|
||||||
repoStore: repoStore,
|
repoStore: repoStore,
|
||||||
pullreqStore: pullreqStore,
|
pullreqStore: pullreqStore,
|
||||||
|
|
|
@ -29,7 +29,6 @@ import (
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
"github.com/jmoiron/sqlx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var WireSet = wire.NewSet(
|
var WireSet = wire.NewSet(
|
||||||
|
@ -42,7 +41,6 @@ func ProvideService(ctx context.Context,
|
||||||
pullReqEvFactory *events.ReaderFactory[*pullreqevents.Reader],
|
pullReqEvFactory *events.ReaderFactory[*pullreqevents.Reader],
|
||||||
pullReqEvReporter *pullreqevents.Reporter,
|
pullReqEvReporter *pullreqevents.Reporter,
|
||||||
gitRPCClient gitrpc.Interface,
|
gitRPCClient gitrpc.Interface,
|
||||||
db *sqlx.DB,
|
|
||||||
repoGitInfoCache store.RepoGitInfoCache,
|
repoGitInfoCache store.RepoGitInfoCache,
|
||||||
repoStore store.RepoStore,
|
repoStore store.RepoStore,
|
||||||
pullreqStore store.PullReqStore,
|
pullreqStore store.PullReqStore,
|
||||||
|
@ -55,6 +53,6 @@ func ProvideService(ctx context.Context,
|
||||||
sseStreamer sse.Streamer,
|
sseStreamer sse.Streamer,
|
||||||
) (*Service, error) {
|
) (*Service, error) {
|
||||||
return New(ctx, config, gitReaderFactory, pullReqEvFactory, pullReqEvReporter, gitRPCClient,
|
return New(ctx, config, gitReaderFactory, pullReqEvFactory, pullReqEvReporter, gitRPCClient,
|
||||||
db, repoGitInfoCache, repoStore, pullreqStore, activityStore,
|
repoGitInfoCache, repoStore, pullreqStore, activityStore,
|
||||||
codeCommentView, codeCommentMigrator, fileViewStore, pubsub, urlProvider, sseStreamer)
|
codeCommentView, codeCommentMigrator, fileViewStore, pubsub, urlProvider, sseStreamer)
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ type logs struct {
|
||||||
Data []byte `db:"log_data"`
|
Data []byte `db:"log_data"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewLogStore returns a new LogStore.
|
// NewDatabaseLogStore returns a new LogStore.
|
||||||
func NewDatabaseLogStore(db *sqlx.DB) store.LogStore {
|
func NewDatabaseLogStore(db *sqlx.DB) store.LogStore {
|
||||||
return &logStore{
|
return &logStore{
|
||||||
db: db,
|
db: db,
|
||||||
|
|
|
@ -68,6 +68,7 @@ import (
|
||||||
"github.com/harness/gitness/livelog"
|
"github.com/harness/gitness/livelog"
|
||||||
"github.com/harness/gitness/lock"
|
"github.com/harness/gitness/lock"
|
||||||
"github.com/harness/gitness/pubsub"
|
"github.com/harness/gitness/pubsub"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
|
|
||||||
|
@ -81,6 +82,7 @@ func initSystem(ctx context.Context, config *types.Config) (*cliserver.System, e
|
||||||
bootstrap.WireSet,
|
bootstrap.WireSet,
|
||||||
cliserver.ProvideDatabaseConfig,
|
cliserver.ProvideDatabaseConfig,
|
||||||
database.WireSet,
|
database.WireSet,
|
||||||
|
dbtx.WireSet,
|
||||||
cache.WireSet,
|
cache.WireSet,
|
||||||
router.WireSet,
|
router.WireSet,
|
||||||
pullreqservice.WireSet,
|
pullreqservice.WireSet,
|
||||||
|
|
|
@ -8,7 +8,6 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
check2 "github.com/harness/gitness/app/api/controller/check"
|
check2 "github.com/harness/gitness/app/api/controller/check"
|
||||||
"github.com/harness/gitness/app/api/controller/connector"
|
"github.com/harness/gitness/app/api/controller/connector"
|
||||||
"github.com/harness/gitness/app/api/controller/execution"
|
"github.com/harness/gitness/app/api/controller/execution"
|
||||||
|
@ -67,6 +66,7 @@ import (
|
||||||
"github.com/harness/gitness/livelog"
|
"github.com/harness/gitness/livelog"
|
||||||
"github.com/harness/gitness/lock"
|
"github.com/harness/gitness/lock"
|
||||||
"github.com/harness/gitness/pubsub"
|
"github.com/harness/gitness/pubsub"
|
||||||
|
"github.com/harness/gitness/store/database/dbtx"
|
||||||
"github.com/harness/gitness/types"
|
"github.com/harness/gitness/types"
|
||||||
"github.com/harness/gitness/types/check"
|
"github.com/harness/gitness/types/check"
|
||||||
)
|
)
|
||||||
|
@ -79,6 +79,8 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
accessorTx := dbtx.ProvideAccessorTx(db)
|
||||||
|
transactor := dbtx.ProvideTransactor(accessorTx)
|
||||||
principalUID := check.ProvidePrincipalUIDCheck()
|
principalUID := check.ProvidePrincipalUIDCheck()
|
||||||
spacePathTransformation := store.ProvidePathTransformation()
|
spacePathTransformation := store.ProvidePathTransformation()
|
||||||
spacePathStore := database.ProvideSpacePathStore(db, spacePathTransformation)
|
spacePathStore := database.ProvideSpacePathStore(db, spacePathTransformation)
|
||||||
|
@ -92,7 +94,7 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
||||||
principalUIDTransformation := store.ProvidePrincipalUIDTransformation()
|
principalUIDTransformation := store.ProvidePrincipalUIDTransformation()
|
||||||
principalStore := database.ProvidePrincipalStore(db, principalUIDTransformation)
|
principalStore := database.ProvidePrincipalStore(db, principalUIDTransformation)
|
||||||
tokenStore := database.ProvideTokenStore(db)
|
tokenStore := database.ProvideTokenStore(db)
|
||||||
controller := user.ProvideController(db, principalUID, authorizer, principalStore, tokenStore, membershipStore)
|
controller := user.ProvideController(transactor, principalUID, authorizer, principalStore, tokenStore, membershipStore)
|
||||||
serviceController := service.NewController(principalUID, authorizer, principalStore)
|
serviceController := service.NewController(principalUID, authorizer, principalStore)
|
||||||
bootstrapBootstrap := bootstrap.ProvideBootstrap(config, controller, serviceController)
|
bootstrapBootstrap := bootstrap.ProvideBootstrap(config, controller, serviceController)
|
||||||
authenticator := authn.ProvideAuthenticator(config, principalStore, tokenStore)
|
authenticator := authn.ProvideAuthenticator(config, principalStore, tokenStore)
|
||||||
|
@ -131,11 +133,11 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
streamer := sse.ProvideEventsStreaming(pubSub)
|
streamer := sse.ProvideEventsStreaming(pubSub)
|
||||||
repository, err := importer.ProvideRepoImporter(config, provider, gitrpcInterface, db, repoStore, pipelineStore, triggerStore, encrypter, jobScheduler, executor, streamer)
|
repository, err := importer.ProvideRepoImporter(config, provider, gitrpcInterface, transactor, repoStore, pipelineStore, triggerStore, encrypter, jobScheduler, executor, streamer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
repoController := repo.ProvideController(config, db, provider, pathUID, authorizer, repoStore, spaceStore, pipelineStore, principalStore, gitrpcInterface, repository)
|
repoController := repo.ProvideController(config, transactor, provider, pathUID, authorizer, repoStore, spaceStore, pipelineStore, principalStore, gitrpcInterface, repository)
|
||||||
executionStore := database.ProvideExecutionStore(db)
|
executionStore := database.ProvideExecutionStore(db)
|
||||||
checkStore := database.ProvideCheckStore(db, principalInfoCache)
|
checkStore := database.ProvideCheckStore(db, principalInfoCache)
|
||||||
stageStore := database.ProvideStageStore(db)
|
stageStore := database.ProvideStageStore(db)
|
||||||
|
@ -147,11 +149,11 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
||||||
cancelerCanceler := canceler.ProvideCanceler(executionStore, streamer, repoStore, schedulerScheduler, stageStore, stepStore)
|
cancelerCanceler := canceler.ProvideCanceler(executionStore, streamer, repoStore, schedulerScheduler, stageStore, stepStore)
|
||||||
commitService := commit.ProvideService(gitrpcInterface)
|
commitService := commit.ProvideService(gitrpcInterface)
|
||||||
fileService := file.ProvideService(gitrpcInterface)
|
fileService := file.ProvideService(gitrpcInterface)
|
||||||
triggererTriggerer := triggerer.ProvideTriggerer(executionStore, checkStore, stageStore, db, pipelineStore, fileService, schedulerScheduler, repoStore)
|
triggererTriggerer := triggerer.ProvideTriggerer(executionStore, checkStore, stageStore, transactor, pipelineStore, fileService, schedulerScheduler, repoStore)
|
||||||
executionController := execution.ProvideController(db, authorizer, executionStore, checkStore, cancelerCanceler, commitService, triggererTriggerer, repoStore, stageStore, pipelineStore)
|
executionController := execution.ProvideController(transactor, authorizer, executionStore, checkStore, cancelerCanceler, commitService, triggererTriggerer, repoStore, stageStore, pipelineStore)
|
||||||
logStore := logs.ProvideLogStore(db, config)
|
logStore := logs.ProvideLogStore(db, config)
|
||||||
logStream := livelog.ProvideLogStream(config)
|
logStream := livelog.ProvideLogStream()
|
||||||
logsController := logs2.ProvideController(db, authorizer, executionStore, repoStore, pipelineStore, stageStore, stepStore, logStore, logStream)
|
logsController := logs2.ProvideController(authorizer, executionStore, repoStore, pipelineStore, stageStore, stepStore, logStore, logStream)
|
||||||
secretStore := database.ProvideSecretStore(db)
|
secretStore := database.ProvideSecretStore(db)
|
||||||
connectorStore := database.ProvideConnectorStore(db)
|
connectorStore := database.ProvideConnectorStore(db)
|
||||||
templateStore := database.ProvideTemplateStore(db)
|
templateStore := database.ProvideTemplateStore(db)
|
||||||
|
@ -159,14 +161,14 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
spaceController := space.ProvideController(config, db, provider, streamer, pathUID, authorizer, spacePathStore, pipelineStore, secretStore, connectorStore, templateStore, spaceStore, repoStore, principalStore, repoController, membershipStore, repository, exporterRepository)
|
spaceController := space.ProvideController(config, transactor, provider, streamer, pathUID, authorizer, spacePathStore, pipelineStore, secretStore, connectorStore, templateStore, spaceStore, repoStore, principalStore, repoController, membershipStore, repository, exporterRepository)
|
||||||
pipelineController := pipeline.ProvideController(db, pathUID, repoStore, triggerStore, authorizer, pipelineStore)
|
pipelineController := pipeline.ProvideController(pathUID, repoStore, triggerStore, authorizer, pipelineStore)
|
||||||
secretController := secret.ProvideController(db, pathUID, encrypter, secretStore, authorizer, spaceStore)
|
secretController := secret.ProvideController(pathUID, encrypter, secretStore, authorizer, spaceStore)
|
||||||
triggerController := trigger.ProvideController(db, authorizer, triggerStore, pathUID, pipelineStore, repoStore)
|
triggerController := trigger.ProvideController(authorizer, triggerStore, pathUID, pipelineStore, repoStore)
|
||||||
connectorController := connector.ProvideController(db, pathUID, connectorStore, authorizer, spaceStore)
|
connectorController := connector.ProvideController(pathUID, connectorStore, authorizer, spaceStore)
|
||||||
templateController := template.ProvideController(db, pathUID, templateStore, authorizer, spaceStore)
|
templateController := template.ProvideController(pathUID, templateStore, authorizer, spaceStore)
|
||||||
pluginStore := database.ProvidePluginStore(db)
|
pluginStore := database.ProvidePluginStore(db)
|
||||||
pluginController := plugin.ProvideController(db, pluginStore)
|
pluginController := plugin.ProvideController(pluginStore)
|
||||||
pullReqStore := database.ProvidePullReqStore(db, principalInfoCache)
|
pullReqStore := database.ProvidePullReqStore(db, principalInfoCache)
|
||||||
pullReqActivityStore := database.ProvidePullReqActivityStore(db, principalInfoCache)
|
pullReqActivityStore := database.ProvidePullReqActivityStore(db, principalInfoCache)
|
||||||
codeCommentView := database.ProvideCodeCommentView(db)
|
codeCommentView := database.ProvideCodeCommentView(db)
|
||||||
|
@ -196,11 +198,11 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
||||||
}
|
}
|
||||||
repoGitInfoView := database.ProvideRepoGitInfoView(db)
|
repoGitInfoView := database.ProvideRepoGitInfoView(db)
|
||||||
repoGitInfoCache := cache.ProvideRepoGitInfoCache(repoGitInfoView)
|
repoGitInfoCache := cache.ProvideRepoGitInfoCache(repoGitInfoView)
|
||||||
pullreqService, err := pullreq.ProvideService(ctx, config, readerFactory, eventsReaderFactory, reporter, gitrpcInterface, db, repoGitInfoCache, repoStore, pullReqStore, pullReqActivityStore, codeCommentView, migrator, pullReqFileViewStore, pubSub, provider, streamer)
|
pullreqService, err := pullreq.ProvideService(ctx, config, readerFactory, eventsReaderFactory, reporter, gitrpcInterface, repoGitInfoCache, repoStore, pullReqStore, pullReqActivityStore, codeCommentView, migrator, pullReqFileViewStore, pubSub, provider, streamer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
pullreqController := pullreq2.ProvideController(db, provider, authorizer, pullReqStore, pullReqActivityStore, codeCommentView, pullReqReviewStore, pullReqReviewerStore, repoStore, principalStore, pullReqFileViewStore, gitrpcInterface, reporter, mutexManager, migrator, pullreqService, streamer)
|
pullreqController := pullreq2.ProvideController(transactor, provider, authorizer, pullReqStore, pullReqActivityStore, codeCommentView, pullReqReviewStore, pullReqReviewerStore, repoStore, principalStore, pullReqFileViewStore, gitrpcInterface, reporter, mutexManager, migrator, pullreqService, streamer)
|
||||||
webhookConfig := server.ProvideWebhookConfig(config)
|
webhookConfig := server.ProvideWebhookConfig(config)
|
||||||
webhookStore := database.ProvideWebhookStore(db)
|
webhookStore := database.ProvideWebhookStore(db)
|
||||||
webhookExecutionStore := database.ProvideWebhookExecutionStore(db)
|
webhookExecutionStore := database.ProvideWebhookExecutionStore(db)
|
||||||
|
@ -208,15 +210,15 @@ func initSystem(ctx context.Context, config *types.Config) (*server.System, erro
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
webhookController := webhook2.ProvideController(webhookConfig, db, authorizer, webhookStore, webhookExecutionStore, repoStore, webhookService, encrypter)
|
webhookController := webhook2.ProvideController(webhookConfig, authorizer, webhookStore, webhookExecutionStore, repoStore, webhookService, encrypter)
|
||||||
eventsReporter, err := events3.ProvideReporter(eventsSystem)
|
eventsReporter, err := events3.ProvideReporter(eventsSystem)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
githookController := githook.ProvideController(db, authorizer, principalStore, repoStore, eventsReporter, pullReqStore, provider)
|
githookController := githook.ProvideController(authorizer, principalStore, repoStore, eventsReporter, pullReqStore, provider)
|
||||||
serviceaccountController := serviceaccount.NewController(principalUID, authorizer, principalStore, spaceStore, repoStore, tokenStore)
|
serviceaccountController := serviceaccount.NewController(principalUID, authorizer, principalStore, spaceStore, repoStore, tokenStore)
|
||||||
principalController := principal.ProvideController(principalStore)
|
principalController := principal.ProvideController(principalStore)
|
||||||
checkController := check2.ProvideController(db, authorizer, repoStore, checkStore, gitrpcInterface)
|
checkController := check2.ProvideController(transactor, authorizer, repoStore, checkStore, gitrpcInterface)
|
||||||
systemController := system.NewController(principalStore, config)
|
systemController := system.NewController(principalStore, config)
|
||||||
apiHandler := router.ProvideAPIHandler(config, authenticator, repoController, executionController, logsController, spaceController, pipelineController, secretController, triggerController, connectorController, templateController, pluginController, pullreqController, webhookController, githookController, serviceaccountController, controller, principalController, checkController, systemController)
|
apiHandler := router.ProvideAPIHandler(config, authenticator, repoController, executionController, logsController, spaceController, pipelineController, secretController, triggerController, connectorController, templateController, pluginController, pullreqController, webhookController, githookController, serviceaccountController, controller, principalController, checkController, systemController)
|
||||||
gitHandler := router.ProvideGitHandler(config, provider, repoStore, authenticator, authorizer, gitrpcInterface)
|
gitHandler := router.ProvideGitHandler(config, provider, repoStore, authenticator, authorizer, gitrpcInterface)
|
||||||
|
|
|
@ -15,8 +15,6 @@
|
||||||
package livelog
|
package livelog
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/harness/gitness/types"
|
|
||||||
|
|
||||||
"github.com/google/wire"
|
"github.com/google/wire"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -26,6 +24,6 @@ var WireSet = wire.NewSet(
|
||||||
)
|
)
|
||||||
|
|
||||||
// ProvideLogStream provides an implementation of a logs streamer.
|
// ProvideLogStream provides an implementation of a logs streamer.
|
||||||
func ProvideLogStream(config *types.Config) LogStream {
|
func ProvideLogStream() LogStream {
|
||||||
return NewMemory()
|
return NewMemory()
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,20 +20,7 @@ import (
|
||||||
"github.com/jmoiron/sqlx"
|
"github.com/jmoiron/sqlx"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ctxKeyDB is context key for storing and retrieving Transactor to and from a context.
|
// ctxKeyTx is context key for storing and retrieving TransactionAccessor to and from a context.
|
||||||
type ctxKeyDB struct{}
|
|
||||||
|
|
||||||
// PutTransactor places Transactor into the context.
|
|
||||||
func PutTransactor(ctx context.Context, t Transactor) context.Context {
|
|
||||||
return context.WithValue(ctx, ctxKeyDB{}, t)
|
|
||||||
}
|
|
||||||
|
|
||||||
// WithTx starts a transaction with Transactor interface from the context. It will panic if there is no Transactor.
|
|
||||||
func WithTx(ctx context.Context, txFn func(ctx context.Context) error, opts ...interface{}) error {
|
|
||||||
return ctx.Value(ctxKeyDB{}).(Transactor).WithTx(ctx, txFn, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ctxKeyTx is context key for storing and retrieving Tx to and from a context.
|
|
||||||
type ctxKeyTx struct{}
|
type ctxKeyTx struct{}
|
||||||
|
|
||||||
// GetAccessor returns Accessor interface from the context if it exists or creates a new one from the provided *sql.DB.
|
// GetAccessor returns Accessor interface from the context if it exists or creates a new one from the provided *sql.DB.
|
||||||
|
|
|
@ -22,7 +22,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// New returns new database Runner interface.
|
// New returns new database Runner interface.
|
||||||
func New(db *sqlx.DB) Transactor {
|
func New(db *sqlx.DB) AccessorTx {
|
||||||
mx := getLocker(db)
|
mx := getLocker(db)
|
||||||
run := &runnerDB{
|
run := &runnerDB{
|
||||||
db: sqlDB{db},
|
db: sqlDB{db},
|
||||||
|
@ -34,7 +34,7 @@ func New(db *sqlx.DB) Transactor {
|
||||||
// transactor is combines data access capabilities with transaction starting.
|
// transactor is combines data access capabilities with transaction starting.
|
||||||
type transactor interface {
|
type transactor interface {
|
||||||
Accessor
|
Accessor
|
||||||
startTx(ctx context.Context, opts *sql.TxOptions) (Tx, error)
|
startTx(ctx context.Context, opts *sql.TxOptions) (TransactionAccessor, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// sqlDB is a wrapper for the sqlx.DB that implements the transactor interface.
|
// sqlDB is a wrapper for the sqlx.DB that implements the transactor interface.
|
||||||
|
@ -44,7 +44,7 @@ type sqlDB struct {
|
||||||
|
|
||||||
var _ transactor = (*sqlDB)(nil)
|
var _ transactor = (*sqlDB)(nil)
|
||||||
|
|
||||||
func (db sqlDB) startTx(ctx context.Context, opts *sql.TxOptions) (Tx, error) {
|
func (db sqlDB) startTx(ctx context.Context, opts *sql.TxOptions) (TransactionAccessor, error) {
|
||||||
tx, err := db.DB.BeginTxx(ctx, opts)
|
tx, err := db.DB.BeginTxx(ctx, opts)
|
||||||
return tx, err
|
return tx, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,15 +40,19 @@ type Transaction interface {
|
||||||
Rollback() error
|
Rollback() error
|
||||||
}
|
}
|
||||||
|
|
||||||
// Transactor is used to access the database. It combines Accessor interface
|
|
||||||
// with capability to run functions in a transaction.
|
|
||||||
type Transactor interface {
|
type Transactor interface {
|
||||||
Accessor
|
|
||||||
WithTx(ctx context.Context, txFn func(ctx context.Context) error, opts ...interface{}) error
|
WithTx(ctx context.Context, txFn func(ctx context.Context) error, opts ...interface{}) error
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tx combines data access capabilities with the transaction commit and rollback.
|
// AccessorTx is used to access the database. It combines Accessor interface
|
||||||
type Tx interface {
|
// with Transactor (capability to run functions in a transaction).
|
||||||
|
type AccessorTx interface {
|
||||||
|
Accessor
|
||||||
|
Transactor
|
||||||
|
}
|
||||||
|
|
||||||
|
// TransactionAccessor combines data access capabilities with the transaction commit and rollback.
|
||||||
|
type TransactionAccessor interface {
|
||||||
|
Transaction
|
||||||
Accessor
|
Accessor
|
||||||
Transaction
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ type runnerDB struct {
|
||||||
mx locker
|
mx locker
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ Transactor = runnerDB{}
|
var _ AccessorTx = runnerDB{}
|
||||||
|
|
||||||
func (r runnerDB) WithTx(ctx context.Context, txFn func(context.Context) error, opts ...interface{}) error {
|
func (r runnerDB) WithTx(ctx context.Context, txFn func(context.Context) error, opts ...interface{}) error {
|
||||||
var txOpts *sql.TxOptions
|
var txOpts *sql.TxOptions
|
||||||
|
@ -57,9 +57,9 @@ func (r runnerDB) WithTx(ctx context.Context, txFn func(context.Context) error,
|
||||||
}
|
}
|
||||||
|
|
||||||
rtx := &runnerTx{
|
rtx := &runnerTx{
|
||||||
Tx: tx,
|
TransactionAccessor: tx,
|
||||||
commit: false,
|
commit: false,
|
||||||
rollback: false,
|
rollback: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
|
@ -69,7 +69,7 @@ func (r runnerDB) WithTx(ctx context.Context, txFn func(context.Context) error,
|
||||||
_ = tx.Rollback() // ignoring the rollback error
|
_ = tx.Rollback() // ignoring the rollback error
|
||||||
}()
|
}()
|
||||||
|
|
||||||
err = txFn(context.WithValue(ctx, ctxKeyTx{}, Tx(rtx)))
|
err = txFn(context.WithValue(ctx, ctxKeyTx{}, TransactionAccessor(rtx)))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -162,15 +162,15 @@ func (r runnerDB) SelectContext(ctx context.Context, dest interface{}, query str
|
||||||
// runnerTx executes sqlx database transaction calls.
|
// runnerTx executes sqlx database transaction calls.
|
||||||
// Locking is not used because runnerDB locks the entire transaction.
|
// Locking is not used because runnerDB locks the entire transaction.
|
||||||
type runnerTx struct {
|
type runnerTx struct {
|
||||||
Tx
|
TransactionAccessor
|
||||||
commit bool
|
commit bool
|
||||||
rollback bool
|
rollback bool
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ Tx = (*runnerTx)(nil)
|
var _ TransactionAccessor = (*runnerTx)(nil)
|
||||||
|
|
||||||
func (r *runnerTx) Commit() error {
|
func (r *runnerTx) Commit() error {
|
||||||
err := r.Tx.Commit()
|
err := r.TransactionAccessor.Commit()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
r.commit = true
|
r.commit = true
|
||||||
}
|
}
|
||||||
|
@ -178,7 +178,7 @@ func (r *runnerTx) Commit() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *runnerTx) Rollback() error {
|
func (r *runnerTx) Rollback() error {
|
||||||
err := r.Tx.Rollback()
|
err := r.TransactionAccessor.Rollback()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
r.rollback = true
|
r.rollback = true
|
||||||
}
|
}
|
||||||
|
|
|
@ -174,7 +174,7 @@ type dbMock struct {
|
||||||
|
|
||||||
var _ transactor = (*dbMock)(nil)
|
var _ transactor = (*dbMock)(nil)
|
||||||
|
|
||||||
func (d *dbMock) startTx(context.Context, *sql.TxOptions) (Tx, error) {
|
func (d *dbMock) startTx(context.Context, *sql.TxOptions) (TransactionAccessor, error) {
|
||||||
d.createdTx = &txMock{
|
d.createdTx = &txMock{
|
||||||
t: d.t,
|
t: d.t,
|
||||||
errCommit: d.errCommit,
|
errCommit: d.errCommit,
|
||||||
|
@ -194,7 +194,7 @@ type txMock struct {
|
||||||
rollback bool
|
rollback bool
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ Tx = (*txMock)(nil)
|
var _ TransactionAccessor = (*txMock)(nil)
|
||||||
|
|
||||||
func (tx *txMock) Commit() error {
|
func (tx *txMock) Commit() error {
|
||||||
if tx.finished {
|
if tx.finished {
|
||||||
|
@ -218,15 +218,16 @@ func (tx *txMock) Rollback() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nolint:rowserrcheck,sqlclosecheck // it's a unit test, works with mocked DB
|
||||||
func TestLocking(t *testing.T) {
|
func TestLocking(t *testing.T) {
|
||||||
const dummyQuery = ""
|
const dummyQuery = ""
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
fn func(db Transactor, l *lockerCounter)
|
fn func(db AccessorTx, l *lockerCounter)
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "exec-lock",
|
name: "exec-lock",
|
||||||
fn: func(db Transactor, l *lockerCounter) {
|
fn: func(db AccessorTx, l *lockerCounter) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
_, _ = db.ExecContext(ctx, dummyQuery)
|
_, _ = db.ExecContext(ctx, dummyQuery)
|
||||||
_, _ = db.ExecContext(ctx, dummyQuery)
|
_, _ = db.ExecContext(ctx, dummyQuery)
|
||||||
|
@ -240,7 +241,7 @@ func TestLocking(t *testing.T) {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "tx-lock",
|
name: "tx-lock",
|
||||||
fn: func(db Transactor, l *lockerCounter) {
|
fn: func(db AccessorTx, l *lockerCounter) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
_ = db.WithTx(ctx, func(ctx context.Context) error {
|
_ = db.WithTx(ctx, func(ctx context.Context) error {
|
||||||
_, _ = GetAccessor(ctx, nil).ExecContext(ctx, dummyQuery)
|
_, _ = GetAccessor(ctx, nil).ExecContext(ctx, dummyQuery)
|
||||||
|
@ -256,7 +257,7 @@ func TestLocking(t *testing.T) {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "tx-read-lock",
|
name: "tx-read-lock",
|
||||||
fn: func(db Transactor, l *lockerCounter) {
|
fn: func(db AccessorTx, l *lockerCounter) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
_ = db.WithTx(ctx, func(ctx context.Context) error {
|
_ = db.WithTx(ctx, func(ctx context.Context) error {
|
||||||
_, _ = GetAccessor(ctx, nil).QueryContext(ctx, dummyQuery)
|
_, _ = GetAccessor(ctx, nil).QueryContext(ctx, dummyQuery)
|
||||||
|
@ -342,4 +343,6 @@ func (dbMockNop) SelectContext(context.Context, interface{}, string, ...interfac
|
||||||
func (dbMockNop) Commit() error { return nil }
|
func (dbMockNop) Commit() error { return nil }
|
||||||
func (dbMockNop) Rollback() error { return nil }
|
func (dbMockNop) Rollback() error { return nil }
|
||||||
|
|
||||||
func (d dbMockNop) startTx(context.Context, *sql.TxOptions) (Tx, error) { return d, nil }
|
func (d dbMockNop) startTx(context.Context, *sql.TxOptions) (TransactionAccessor, error) {
|
||||||
|
return d, nil
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
// 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 dbtx
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/google/wire"
|
||||||
|
"github.com/jmoiron/sqlx"
|
||||||
|
)
|
||||||
|
|
||||||
|
// WireSet provides a wire set for this package.
|
||||||
|
var WireSet = wire.NewSet(
|
||||||
|
ProvideAccessorTx,
|
||||||
|
ProvideAccessor,
|
||||||
|
ProvideTransactor,
|
||||||
|
)
|
||||||
|
|
||||||
|
// ProvideAccessorTx provides the most versatile database access interface.
|
||||||
|
// All DB queries and transactions can be performed.
|
||||||
|
func ProvideAccessorTx(db *sqlx.DB) AccessorTx {
|
||||||
|
return New(db)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProvideAccessor provides the database access interface. All DB queries can be performed.
|
||||||
|
func ProvideAccessor(a AccessorTx) Accessor {
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProvideTransactor provides ability to run DB transactions.
|
||||||
|
func ProvideTransactor(a AccessorTx) Transactor {
|
||||||
|
return a
|
||||||
|
}
|
Loading…
Reference in New Issue