Commit Graph

106 Commits

Author SHA1 Message Date
Tom Hacohen
0fbc5c104c Implement collection updating. 2020-04-15 17:54:39 +03:00
Tom Hacohen
62a7496b66 Change how we handle chunk ordering (and relation). 2020-04-15 17:35:51 +03:00
Tom Hacohen
7a0a00c738 Unify how we handle revision creation. 2020-04-15 16:59:30 +03:00
Tom Hacohen
ab9d66fcc0 Implement collection creation. 2020-04-15 16:53:31 +03:00
Tom Hacohen
6dfa2360c0 Chunk: fix for a collection's main item. 2020-04-15 16:52:36 +03:00
Tom Hacohen
3db204e4bb b64: don't add redundant padding. 2020-04-15 16:50:47 +03:00
Tom Hacohen
2e018dfe76 Rename prefer_inline to inline. 2020-04-15 16:47:31 +03:00
Tom Hacohen
6711cfcf49 Change chunks to be just one field. 2020-04-15 16:27:03 +03:00
Tom Hacohen
c589d06cbe Collection: lax the restrictions on mainItem. 2020-04-15 16:00:06 +03:00
Tom Hacohen
963dc3c62d Cleanup how we handle inline serializers. 2020-04-15 15:23:07 +03:00
Tom Hacohen
5dfa2ac8cb Make chunks use the same b64 encoding we use elsewhere. 2020-04-15 14:33:38 +03:00
Tom Hacohen
a97bb969e7 Make meta a binary base64 field too. 2020-04-14 18:30:07 +03:00
Tom Hacohen
cf06534d6d Serializers: handle our variant of b64 (no padding, urlsafe). 2020-04-14 18:29:56 +03:00
Tom Hacohen
9b13404ce7 Add a reset view for tests. 2020-04-14 16:21:51 +03:00
Tom Hacohen
2ac0b55de9 Revision: expose meta. 2020-03-17 22:11:18 +02:00
Tom Hacohen
80ef568397 Make meta not-null. 2020-03-17 22:10:33 +02:00
Tom Hacohen
ab86a912cd Revision uid is now the hmac. 2020-03-17 17:14:51 +02:00
Tom Hacohen
86b6a44917 We use base64url without padding. 2020-03-17 17:10:53 +02:00
Tom Hacohen
66e5062461 Collection: add content support. 2020-03-12 21:12:38 +02:00
Tom Hacohen
c56cbb3f82 Remove debug print. 2020-03-12 16:06:15 +02:00
Tom Hacohen
d1df6db8b1 Revision: add metadata field. 2020-03-12 16:02:00 +02:00
Tom Hacohen
f8a94eeb04 Revision: add a proper uid for revisions (which we also use for sync tag). 2020-03-12 15:52:36 +02:00
Tom Hacohen
23edc29bb8 Chunks: order based on item too so items are clustered together. 2020-03-10 17:56:24 +02:00
Tom Hacohen
dfbfa01bc5 CollectionItem: move version and encryption key to the item itself. 2020-03-10 17:49:23 +02:00
Tom Hacohen
d587f8185b Uids: change uids to be much shorter and base62 for non-chunks. 2020-03-10 16:40:42 +02:00
Tom Hacohen
3beb7ac4bb Requirements: add pywatchman for more efficient watching. 2020-03-10 16:27:57 +02:00
Tom Hacohen
5ceaa9fb1a Collection: calculate a value for ctag in the meanwhile. 2020-02-26 21:22:58 +02:00
Tom Hacohen
c74ed50bd5 Collection: filter queryset only to collections for which the user has access to. 2020-02-26 21:15:25 +02:00
Tom Hacohen
771d2d013d Fix creation of collection membership when creating collections. 2020-02-26 21:11:29 +02:00
Tom Hacohen
7a38e26872 Collection: fix issue with encryptionKey not being base64 encoded. 2020-02-26 20:54:00 +02:00
Tom Hacohen
3eb79e0a04 Create collection member when creating collection. 2020-02-26 20:42:28 +02:00
Tom Hacohen
be11e3e0e6 Collection: implement collection membership. 2020-02-26 20:38:07 +02:00
Tom Hacohen
e0d593a9b6 Collection Item Revision: dissalow blank for the current field. 2020-02-26 20:04:26 +02:00
Tom Hacohen
0ee00e1a9f Collection item: rename isDeletion to deleted 2020-02-26 16:55:47 +02:00
Tom Hacohen
f1bfb0a9a0 Model uid validator: fix off-by-1 error with the uid.
256bit is actually 43 base64 chars, not 44.
2020-02-26 16:50:49 +02:00
Tom Hacohen
f4cb7cb74f Collection item list: limit only to non-deleted by default. 2020-02-26 16:42:49 +02:00
Tom Hacohen
452a8f1e7e Implement item creation. 2020-02-26 16:23:16 +02:00
Tom Hacohen
4054a2f78c Implement item update and deletion.
Deletion is essentially an update with "isDeletion" set to True.
2020-02-26 16:23:16 +02:00
Tom Hacohen
727cd3e5fa pylint: fix more warnings. 2020-02-26 14:39:32 +02:00
Tom Hacohen
0beaaf5bf9 lint: fix many pylint warnings. 2020-02-26 14:21:14 +02:00
Tom Hacohen
358c59f6d7 Item: add bulk_get and a note about bulk creating. 2020-02-26 14:20:52 +02:00
Tom Hacohen
d6df94facf Item create: 404 if collection isn't found.
It doesn't actually change anything beacuse it 404s in the
collection getting, but still, good to have this here too.
2020-02-26 14:20:23 +02:00
Tom Hacohen
cc00391504 Rename Snapshot to Revision 2020-02-20 22:41:39 +02:00
Tom Hacohen
052483d38c Serve snapshots newest to oldest. 2020-02-20 18:41:07 +02:00
Tom Hacohen
c3fc00b9d8 Add a FIXME. 2020-02-20 17:34:51 +02:00
Tom Hacohen
0a40a04d3b Chunk view: unify how we get the wanted collection queryset. 2020-02-20 17:33:34 +02:00
Tom Hacohen
24cb6ed6ee Also serve an item's snapshots. 2020-02-20 16:35:20 +02:00
Tom Hacohen
b17e944dd2 Make it possible to download the chunk from the rest API. 2020-02-20 15:46:41 +02:00
Tom Hacohen
d57ed03417 Make sure we don't upload the same file twice. 2020-02-20 14:48:19 +02:00
Tom Hacohen
0c44f738fd More progress - support chunk uploading. 2020-02-20 14:46:01 +02:00