Commit graph

85 commits

Author SHA1 Message Date
Jakob Ackermann
3f94dd4dbf [DocArchiveManager] destroy in small batches
Also add settings options for PARALLEL_JOBS and DESTROY_BATCH_SIZE.
2021-04-16 09:51:41 +01:00
Jakob Ackermann
5bcd142b6f [MongoManager] drop name filter from getProjectsDeletedDocs
All the doc names we had in the projects collection are back-filled now.
A few docs will get dummy values back-filled.
2021-04-12 17:31:26 +01:00
Jakob Ackermann
e80d013268 [misc] drop the deleteDoc endpoint -- use patchDoc instead 2021-04-12 17:31:18 +01:00
Jakob Ackermann
8915e1d026 [misc] add a new endpoint for getting deleted docs 2021-02-18 10:10:14 +00:00
Jakob Ackermann
0c169cb242 [HttpController] double down on request validation 2021-02-17 11:31:27 +00:00
Jakob Ackermann
26bc074098 [DocstoreManager] patchDoc: allow updates after deletion 2021-02-17 11:31:01 +00:00
Jakob Ackermann
dd4f4057f4 [misc] add a new endpoint for changing a docs meta data -- incl. deleted
- Validate the request payload with joi -- includes acceptance tests.
- Reject updates to docs that have been deleted.
2021-02-15 13:13:48 +00:00
Jakob Ackermann
12bef53645 [DocArchiveManager] optionally do not un-archive soft deleted docs 2021-02-09 11:20:26 +00:00
Jakob Ackermann
708bdfd197 [DocManager] optionally flush docs out of mongo when deleting them 2021-02-09 11:17:46 +00:00
Jakob Ackermann
2cf9ff7b41 Merge pull request #89 from overleaf/jpa-is-doc-deleted
[misc] add a new endpoint for querying the deleted status of a doc
2021-02-09 11:14:28 +00:00
Jakob Ackermann
3ef1f91f47 Merge pull request #86 from overleaf/jpa-drop-expensive-default
[misc] MongoManager: drop unused, potentially expensive default options
2021-02-09 11:14:02 +00:00
Jakob Ackermann
28b1ad3243 [misc] add a new endpoint for querying the deleted status of a doc
`/project/:project_id/doc/:doc_id/deleted` responds with:

- 404: the doc does not exist
- 200 and body `{"deleted":true}`: doc exists and is deleted
- 200 and body `{"deleted":false}`: doc exists and is not deleted
2021-01-15 14:49:27 +00:00
Jakob Ackermann
1edc628454 [misc] MongoManager: drop unused, potentially expensive default options
All call-sites specify an options object.
2021-01-04 16:07:14 +00:00
Jakob Ackermann
9298f486ad [app] add a new route for archiving a single doc
There is a minor opportunity for optimizing the mongo call(s) for
 archiving: we should include `{ inS3: false }` in the queries instead
 of filtering locally. It's been like that for years now, so it can
 stay a little longer.
2021-01-04 13:47:55 +00:00
Simon Detheridge
31c757cce2 Don't throw 404 errors when unarchiving, if the doc is already unarchived 2020-09-25 09:17:01 +01:00
Jakob Ackermann
3644db6848 [misc] mongodb: use the new db connector by default
mongojs was enabling it by default as well.
2020-09-17 15:40:23 +01:00
Jakob Ackermann
b37e27f023 [misc] run the codemod for moving mongo projections into options 2020-09-17 15:40:20 +01:00
Jakob Ackermann
54a82b8c62 [misc] mongodb: export a helper for adding new collections to db
Co-Authored-By: Eric Mc Sween <eric.mcsween@overleaf.com>
Co-Authored-By: Simon Detheridge <s@sd.ai>
2020-09-17 15:39:46 +01:00
Jakob Ackermann
1e7fa2246d [misc] mongodb: refactor the process of setting up the db construct
Co-Authored-By: John Lees-Miller <jdleesmiller@gmail.com>
2020-09-17 15:39:46 +01:00
Jakob Ackermann
8a8a830ad3 [misc] simplify mongodb collection access using a shared db construct
Resolve the getCollection Promises once and store the result in a shared
 `db` object which can get imported by all the call-sites.

The http server is starting only after a Promise of `waitForDb()`
 resolves. This covers the app code and the acceptance tests.
2020-09-17 15:39:44 +01:00
Simon Detheridge
9ec93ca0d6 Merge pull request #75 from overleaf/spd-p-map
Replace tiny-async-pool with p-map
2020-09-17 15:37:37 +01:00
Simon Detheridge
90a6642b33 Replace tiny-async-pool with p-map 2020-09-14 16:34:34 +01:00
Simon Detheridge
ad4531ff01 Upgrade metrics to @overleaf/metrics' 2020-09-10 18:07:14 +01:00
Jakob Ackermann
2fa09928ee [misc] migrate acceptance tests to the native mongo driver, drop mongojs 2020-08-25 09:41:23 +01:00
Jakob Ackermann
df0747ec48 [misc] migrate the app to the native mongo driver
acceptance tests to follow in a separate commit
2020-08-25 09:40:59 +01:00
Simon Detheridge
1575cd41eb Don't pass empty array to asyncPool when archiving 2020-08-10 15:44:41 +01:00
Simon Detheridge
cb8c2bf4b5 AsyncPool -> asyncPool 2020-07-31 16:21:59 +01:00
Simon Detheridge
9724407e31 Export .promises from MongoManager 2020-07-31 16:20:07 +01:00
Simon Detheridge
268f436461 Don't call AsyncPool with an empty array 2020-07-24 11:51:18 +01:00
Simon Detheridge
6e04db552a Implement object-persistor support 2020-07-23 19:42:49 +01:00
Ersun Warncke
06ec5556b0 [misc] fix express deprecations
Co-Authored-By: Jakob Ackermann <jakob.ackermann@overleaf.com>
2020-07-02 14:48:11 +01:00
Tim Alby
c854f1f570 prettier auto-format 2020-05-28 15:20:54 +02:00
Simon Detheridge
746791766c Additional prettier fix 2020-02-17 10:49:32 +00:00
Simon Detheridge
fb931e206c prettier: convert app/js decaffeinated files to Prettier format 2020-02-17 10:49:00 +00:00
Simon Detheridge
c1805978c4 decaffeinate: rename app/coffee dir to app/js 2020-02-17 10:48:58 +00:00