diff --git a/modules/cabana/crud.go b/modules/cabana/crud.go index 7dff845..d89bb84 100644 --- a/modules/cabana/crud.go +++ b/modules/cabana/crud.go @@ -151,8 +151,7 @@ func (s CRUDService) Delete(ctx context.Context, cc *CompiledController, id any) return BulkResult{}, err } var result BulkResult - err := s.DB.WithContext(ctx).Transaction(func(tx *gorm.DB) error { - tx = tx.WithContext(ctx) + err := lagoon.Transaction(ctx, s.DB, func(ctx context.Context, tx *gorm.DB) error { target, err := newWritableModel(cc) if err != nil { return err @@ -199,8 +198,7 @@ func (s CRUDService) BulkDelete(ctx context.Context, cc *CompiledController, in return BulkResult{}, err } var result BulkResult - err = s.DB.WithContext(ctx).Transaction(func(tx *gorm.DB) error { - tx = tx.WithContext(ctx) + err = lagoon.Transaction(ctx, s.DB, func(ctx context.Context, tx *gorm.DB) error { if err := ctx.Err(); err != nil { return lifecycleFailure(cc, err) } @@ -308,8 +306,7 @@ func (s CRUDService) save(ctx context.Context, cc *CompiledController, id any, i return RecordResult{}, err } var result RecordResult - err = s.DB.WithContext(ctx).Transaction(func(tx *gorm.DB) error { - tx = tx.WithContext(ctx) + err = lagoon.Transaction(ctx, s.DB, func(ctx context.Context, tx *gorm.DB) error { target, err := newWritableModel(cc) if err != nil { return err diff --git a/modules/cabana/relation.go b/modules/cabana/relation.go index ad29f0c..5615e26 100644 --- a/modules/cabana/relation.go +++ b/modules/cabana/relation.go @@ -10,6 +10,7 @@ import ( "sort" "strings" + "git.golem15.com/golem15/summercms/modules/lagoon" "git.golem15.com/golem15/summercms/modules/pact" "git.golem15.com/golem15/summercms/modules/phrasebook" "github.com/goccy/go-yaml" @@ -645,7 +646,7 @@ func (s RelationService) Link(ctx context.Context, cc *CompiledController, relat return RelationMutationResult{}, err } var result RelationMutationResult - err = s.DB.WithContext(ctx).Transaction(func(tx *gorm.DB) error { + err = lagoon.Transaction(ctx, s.DB, func(ctx context.Context, tx *gorm.DB) error { parent, err := newWritableModel(cc) if err != nil { return err @@ -714,7 +715,7 @@ func (s RelationService) Unlink(ctx context.Context, cc *CompiledController, rel return RelationMutationResult{}, err } var result RelationMutationResult - err = s.DB.WithContext(ctx).Transaction(func(tx *gorm.DB) error { + err = lagoon.Transaction(ctx, s.DB, func(ctx context.Context, tx *gorm.DB) error { parent, err := newWritableModel(cc) if err != nil { return err