feat: 0.0.1
This commit is contained in:
146 files changed
+10444
No files matched your search
@@ -0,0 +1,34 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
type CreateUserTxParams struct {
|
||||
CreateUserParams
|
||||
AfterCreate func(user User) error
|
||||
}
|
||||
|
||||
type CreateUserTxResult struct {
|
||||
User User `json:"user"`
|
||||
}
|
||||
|
||||
func (store *PostgresStore) CreateUserTx(ctx context.Context, arg CreateUserTxParams) (CreateUserTxResult, error) {
|
||||
var result CreateUserTxResult
|
||||
|
||||
err := store.execTx(ctx, func(q *Queries) error {
|
||||
var err error
|
||||
|
||||
result.User, err = q.CreateUser(ctx, arg.CreateUserParams)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
log.Info().Msgf("user %s created successfully", result.User.Username)
|
||||
|
||||
return arg.AfterCreate(result.User)
|
||||
})
|
||||
return result, err
|
||||
}
|
||||
Reference in new issue
Block a user