Commit Graph

136 Commits

Author SHA1 Message Date
Tom Hacohen
b6571c93f6 Collection: fix stoken and add cstoken for the collection token. 2020-05-19 15:33:10 +03:00
Tom Hacohen
e851fb9877 Views: fix wrong items name. 2020-05-19 15:28:20 +03:00
Tom Hacohen
ae4aafcf96 Transaction: make it possible to pass a global stoken to block by. 2020-05-19 14:54:44 +03:00
Tom Hacohen
eeaea6e6ab Transaction: return 200 rather than 201. 2020-05-19 13:19:25 +03:00
Tom Hacohen
f7c66eaadb CollectionItem: add a batch endpoint for batch operations. 2020-05-19 13:10:50 +03:00
Tom Hacohen
4c7e30eca5 CollectionItem: implement both update and create. 2020-05-19 13:10:29 +03:00
Tom Hacohen
23dcbc1f9e CollectionItem: always run both serializers when serializing. 2020-05-19 12:58:26 +03:00
Tom Hacohen
306e7dcd11 Item deps: fix. 2020-05-19 11:44:20 +03:00
Tom Hacohen
775f438e61 Change deps to be pairs of uid/stoken. 2020-05-19 11:20:09 +03:00
Tom Hacohen
00a80740ca Collection/item create/update require stoken. 2020-05-19 10:59:16 +03:00
Tom Hacohen
bd1d11fe5f Fix signup and let signup to an empty account. 2020-05-18 16:13:48 +03:00
Tom Hacohen
bced00dc8a Enable logout for now so client tests pass. 2020-05-15 13:03:04 +03:00
Tom Hacohen
644539bd68 Reset view: adjust reset view path and class. 2020-05-15 12:59:18 +03:00
Tom Hacohen
48ebbfb322 Disable host verification for debug mode.
Was causing issues with mitm proxy and etc which was a pain.
2020-05-15 12:52:52 +03:00
Tom Hacohen
f438d0e947 Trim salt when creating the challenge. 2020-05-15 12:44:10 +03:00
Tom Hacohen
e9e77945a6 Return token and user on signup/login. 2020-05-14 17:19:18 +03:00
Tom Hacohen
93a0e41f03 Change login flow to better verify all relevant fields. 2020-05-14 16:26:02 +03:00
Tom Hacohen
32a8b9c90d Implement a ZKPP login flow. 2020-05-14 16:26:02 +03:00
Tom Hacohen
6b0a40e9dd Set custom user model and reset migrations. 2020-05-13 16:01:49 +03:00
Tom Hacohen
df0f7d134d Collection items: add a transaction endpoint. 2020-04-19 18:56:04 +03:00
Tom Hacohen
d66d0640dc Collection: disallow partial updates. 2020-04-19 15:29:04 +03:00
Tom Hacohen
af27871955 Revision: change the shape of the list response. 2020-04-16 17:38:07 +03:00
Tom Hacohen
9f0f00a594 Unify the stoken filtering and calculation. 2020-04-16 17:37:16 +03:00
Tom Hacohen
f23815d46d Fix calculation of stoken. 2020-04-16 17:37:16 +03:00
Tom Hacohen
d134934f8c Bulk_get: implement stoken, limit and inline 2020-04-16 17:37:03 +03:00
Tom Hacohen
19b93265d7 Add a comment. 2020-04-16 16:59:01 +03:00
Tom Hacohen
687bf9924b API: change how pagination and stoken are done 2020-04-16 16:59:01 +03:00
Tom Hacohen
c5af5fd4e6 Collection: move stoken to the model. 2020-04-16 16:33:16 +03:00
Tom Hacohen
edaa7b0f05 Rename ctag to stoken. 2020-04-16 15:35:44 +03:00
Tom Hacohen
1f97d1dbf7 Remove redundant gen_rev_uid. 2020-04-16 12:56:42 +03:00
Tom Hacohen
ca7d7dfd12 Allow passing inline to not only GET requests. 2020-04-16 11:35:58 +03:00
Tom Hacohen
a72543f6c9 Collection remove the redundant mainItem model attr. 2020-04-16 11:29:31 +03:00
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
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
Tom Hacohen
67fb714ddb More progress. 2020-02-20 13:56:16 +02:00
Tom Hacohen
4075f775e7 Implement prefer-inline for fetching items. 2020-02-20 12:34:24 +02:00
Tom Hacohen
0a3bb6f4bb Merge item snapshot and item to be one model. 2020-02-20 12:34:24 +02:00
Tom Hacohen
818bb8d70f Create the django_etesync app. 2020-02-19 22:28:08 +02:00
Tom Hacohen
703a5ae36a Create new django project. 2020-02-19 14:57:54 +02:00