Remove record changing code from DAL (soft-delete)
This commit is contained in:
@@ -2,13 +2,11 @@ package dalutils
|
||||
|
||||
import (
|
||||
"context"
|
||||
"math"
|
||||
"time"
|
||||
|
||||
"github.com/cortezaproject/corteza-server/compose/types"
|
||||
"github.com/cortezaproject/corteza-server/pkg/dal"
|
||||
"github.com/cortezaproject/corteza-server/pkg/dal/capabilities"
|
||||
"github.com/cortezaproject/corteza-server/pkg/filter"
|
||||
"math"
|
||||
)
|
||||
|
||||
type (
|
||||
@@ -75,13 +73,7 @@ func ComposeRecordUpdate(ctx context.Context, u updater, mod *types.Module, reco
|
||||
return u.Update(ctx, mod.ModelFilter(), recUpdateCapabilities(mod), recToGetters(records...)...)
|
||||
}
|
||||
|
||||
func ComposeRecordSoftDelete(ctx context.Context, u updater, invoker uint64, mod *types.Module, records ...*types.Record) (err error) {
|
||||
n := time.Now().Round(time.Second).UTC()
|
||||
for _, r := range records {
|
||||
r.DeletedAt = &n
|
||||
r.DeletedBy = invoker
|
||||
}
|
||||
|
||||
func ComposeRecordSoftDelete(ctx context.Context, u updater, mod *types.Module, records ...*types.Record) (err error) {
|
||||
return u.Update(ctx, mod.ModelFilter(), recUpdateCapabilities(mod), recToGetters(records...)...)
|
||||
}
|
||||
|
||||
|
||||
@@ -1090,6 +1090,9 @@ func (svc record) delete(ctx context.Context, namespaceID, moduleID, recordID ui
|
||||
return nil, RecordErrNotAllowedToDelete()
|
||||
}
|
||||
|
||||
del.DeletedAt = nowUTC()
|
||||
del.DeletedBy = invokerID
|
||||
|
||||
// ensure module ref is set before running through records workflows and scripts
|
||||
del.SetModule(m)
|
||||
|
||||
@@ -1099,8 +1102,7 @@ func (svc record) delete(ctx context.Context, namespaceID, moduleID, recordID ui
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
if err = dalutils.ComposeRecordSoftDelete(ctx, svc.dal, invokerID, m, del); err != nil {
|
||||
if err = dalutils.ComposeRecordSoftDelete(ctx, svc.dal, m, del); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -1502,7 +1504,7 @@ func (svc record) Iterator(ctx context.Context, f types.RecordFilter, fn eventbu
|
||||
return store.Tx(ctx, svc.store, func(ctx context.Context, s store.Storer) error {
|
||||
rec.DeletedAt = nowUTC()
|
||||
rec.DeletedBy = invokerID
|
||||
return dalutils.ComposeRecordSoftDelete(ctx, svc.dal, invokerID, m, rec)
|
||||
return dalutils.ComposeRecordSoftDelete(ctx, svc.dal, m, rec)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user