feat: initial commit

This commit is contained in:
2025-06-13 16:55:46 +02:00
parent 1fb753469e
commit 85f0bc1024
23 changed files with 11758 additions and 45 deletions

View File

@ -2,6 +2,7 @@ package store
import (
"context"
"database/sql"
"sync"
"github.com/pkg/errors"
@ -31,6 +32,21 @@ func (s *Store) Do(ctx context.Context, fn func(db *gorm.DB) error) error {
return nil
}
func (s *Store) Tx(ctx context.Context, fn func(db *gorm.DB) error, opts ...*sql.TxOptions) error {
return errors.WithStack(s.Do(ctx, func(db *gorm.DB) error {
err := db.Transaction(func(tx *gorm.DB) error {
if err := fn(tx); err != nil {
return errors.WithStack(err)
}
return nil
}, opts...)
if err != nil {
return errors.WithStack(err)
}
return nil
}))
}
func createGetDatabase(db *gorm.DB) func(ctx context.Context) (*gorm.DB, error) {
var (
migrateOnce sync.Once