3
0

Remove record changing code from DAL (soft-delete)

This commit is contained in:
Denis Arh
2022-07-27 20:13:22 +02:00
parent f725624697
commit 8fa9f3b058
2 changed files with 7 additions and 13 deletions

View File

@@ -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...)...)
}

View File

@@ -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)
})
}