gristlabs_grist-core/app/gen-server/lib
Alex Hall ec8460b772 (core) Prune snapshots outside the window in product features
Summary:
- Add a method `getSnapshotWindow` to `IInventory` and `DocSnapshotInventory`. It returns a `SnapshotWindow`, which represents a duration of time for which we keep backups for a particular document.
- `DocSnapshotPruner` calls this method and passes the window to `shouldKeepSnapshots` to determine which document versions have fallen outside the window and should be pruned.
- The implementation passed to `DocSnapshotInventory` uses a new method `getDocProduct` in `HomeDBManager` which directly returns the `Product` associated with a document, given only the document ID. Other methods in `HomeDBManager` require passing more information, especially about a user, but `DocSnapshotPruner` only knows about document IDs.

Test Plan: Added a test for `getDocProduct` and a test for `DocSnapshotPruner` where `getSnapshotWindow` is specified.

Reviewers: paulfitz

Reviewed By: paulfitz

Differential Revision: https://phab.getgrist.com/D3322
2022-03-18 18:48:14 +02:00
..
DocApiForwarder.ts (core) Add PUT /records DocApi endpoint to AddOrUpdate records 2022-02-12 09:44:34 +02:00
DocWorkerMap.ts (core) be careful when reassigning a doc to a worker it was on before 2022-03-08 17:20:01 -05:00
Doom.ts (core) add a tool for deleting a user 2021-09-29 12:08:23 -04:00
HomeDBManager.ts (core) Prune snapshots outside the window in product features 2022-03-18 18:48:14 +02:00
Housekeeper.ts (core) Exposing more descriptive errors from exports 2021-11-30 17:26:32 +01:00
Permissions.ts (core) move home server into core 2020-07-21 20:39:10 -04:00
scrubUserFromOrg.ts (core) move home server into core 2020-07-21 20:39:10 -04:00
TypeORMPatches.ts (core) revamp snapshot inventory 2020-10-30 13:52:46 -04:00
Usage.ts (core) discount indirect changes for access control purposes 2021-05-12 11:26:21 -04:00
values.ts (core) move home server into core 2020-07-21 20:39:10 -04:00