fix(backend): don't crash if redis isn't set, use tx in CreateMember
This commit is contained in:
parent
3b64ba33f6
commit
d58208f5ac
|
@ -41,7 +41,8 @@ func New() (*DB, error) {
|
||||||
return nil, errors.Wrap(err, "creating redis client")
|
return nil, errors.Wrap(err, "creating redis client")
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
log.Warn("$REDIS was empty! ANY FUNCTIONALITY using redis will CRASH the server")
|
log.Warn("$REDIS was empty! Any functionality using Redis (such as authentication) will not work")
|
||||||
|
redis = &dummyRedis{}
|
||||||
}
|
}
|
||||||
|
|
||||||
minioClient, err := minio.New(os.Getenv("MINIO_ENDPOINT"), &minio.Options{
|
minioClient, err := minio.New(os.Getenv("MINIO_ENDPOINT"), &minio.Options{
|
||||||
|
|
|
@ -94,7 +94,7 @@ func (db *DB) CreateMember(ctx context.Context, tx pgx.Tx, userID xid.ID, name s
|
||||||
return m, errors.Wrap(err, "building sql")
|
return m, errors.Wrap(err, "building sql")
|
||||||
}
|
}
|
||||||
|
|
||||||
err = pgxscan.Get(ctx, db, &m, sql, args...)
|
err = pgxscan.Get(ctx, tx, &m, sql, args...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
pge := &pgconn.PgError{}
|
pge := &pgconn.PgError{}
|
||||||
if errors.As(err, &pge) {
|
if errors.As(err, &pge) {
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
package db
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"net"
|
||||||
|
|
||||||
|
"emperror.dev/errors"
|
||||||
|
"github.com/mediocregopher/radix/v4"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ radix.Client = (*dummyRedis)(nil)
|
||||||
|
|
||||||
|
type dummyRedis struct{}
|
||||||
|
|
||||||
|
func (*dummyRedis) Addr() net.Addr { return &net.IPAddr{} }
|
||||||
|
func (*dummyRedis) Close() error { return nil }
|
||||||
|
|
||||||
|
func (*dummyRedis) Do(context.Context, radix.Action) error {
|
||||||
|
return errors.Sentinel("this is a dummy client")
|
||||||
|
}
|
Loading…
Reference in New Issue