fix: more precise nil check against db.Reader & db.Writer

pull/5522/head
Damian Debkowski 1 year ago
parent 961d9d7d16
commit 5dfb5a0482

@ -11,6 +11,7 @@ import (
"github.com/hashicorp/boundary/internal/errors"
"github.com/hashicorp/boundary/internal/kms"
"github.com/hashicorp/boundary/internal/oplog"
"github.com/hashicorp/boundary/internal/util"
)
// SetManagedGroupMemberships will set the managed groups for the given account
@ -207,7 +208,7 @@ func (r *Repository) ListManagedGroupMembershipsByMember(ctx context.Context, wi
limit = opts.withLimit
}
reader := r.reader
if opts.withReader != nil {
if !util.IsNil(opts.withReader) {
reader = opts.withReader
}
var mgs []*ManagedGroupMemberAccount
@ -232,7 +233,7 @@ func (r *Repository) ListManagedGroupMembershipsByGroup(ctx context.Context, wit
limit = opts.withLimit
}
reader := r.reader
if opts.withReader != nil {
if !util.IsNil(opts.withReader) {
reader = opts.withReader
}
var mgs []*ManagedGroupMemberAccount

@ -13,6 +13,7 @@ import (
"github.com/hashicorp/boundary/internal/kms"
"github.com/hashicorp/boundary/internal/oplog"
"github.com/hashicorp/boundary/internal/types/scope"
"github.com/hashicorp/boundary/internal/util"
)
var ErrMetadataScopeNotFound = errors.New(context.Background(), errors.RecordNotFound, "iam", "scope not found for metadata", errors.WithoutEvent())
@ -65,7 +66,7 @@ func (r *Repository) list(ctx context.Context, resources any, where string, args
limit = opts.withLimit
}
reader := r.reader
if opts.withReader != nil {
if !util.IsNil(opts.withReader) {
reader = opts.withReader
}
return reader.SearchWhere(ctx, resources, where, args, db.WithLimit(limit))
@ -150,7 +151,7 @@ func (r *Repository) update(ctx context.Context, resource Resource, version uint
reader := r.reader
writer := r.writer
needFreshReaderWriter := true
if opts.withReader != nil && opts.withWriter != nil {
if !util.IsNil(opts.withReader) && !util.IsNil(opts.withWriter) {
reader = opts.withReader
writer = opts.withWriter
if !writer.IsTx(ctx) {

@ -11,6 +11,7 @@ import (
"github.com/hashicorp/boundary/internal/errors"
"github.com/hashicorp/boundary/internal/kms"
"github.com/hashicorp/boundary/internal/oplog"
"github.com/hashicorp/boundary/internal/util"
)
// AddRoleGrantScopes will add role grant scopes associated with the role ID in
@ -235,7 +236,7 @@ func (r *Repository) SetRoleGrantScopes(ctx context.Context, roleId string, role
writer := r.writer
needFreshReaderWriter := true
opts := getOpts(opt...)
if opts.withReader != nil && opts.withWriter != nil {
if !util.IsNil(opts.withReader) && !util.IsNil(opts.withWriter) {
reader = opts.withReader
writer = opts.withWriter
needFreshReaderWriter = false

@ -14,6 +14,7 @@ import (
"github.com/hashicorp/boundary/internal/db"
"github.com/hashicorp/boundary/internal/db/timestamp"
"github.com/hashicorp/boundary/internal/errors"
"github.com/hashicorp/boundary/internal/util"
"github.com/hashicorp/go-dbw"
)
@ -193,7 +194,7 @@ func (r *Repository) LookupRole(ctx context.Context, withPublicId string, opt ..
}
var err error
if opts.withReader != nil && opts.withWriter != nil {
if !util.IsNil(opts.withReader) && !util.IsNil(opts.withWriter) {
if !opts.withWriter.IsTx(ctx) {
return nil, nil, nil, nil, errors.New(ctx, errors.Internal, op, "writer is not in transaction")
}

Loading…
Cancel
Save