Commit Graph

60 Commits

Author SHA1 Message Date
Tom Hacohen
6e7fd5d0dd Collection membership: implement leaving/revoking access. 2020-05-27 16:03:16 +03:00
Tom Hacohen
1f18f4e50b CollectionMember: add stokens when we create/change the member. 2020-05-27 10:52:31 +03:00
Tom Hacohen
91aadb6565 Make etag write-only. 2020-05-27 10:30:23 +03:00
Tom Hacohen
9c63f8d674 Rename stoken to etag and cstoken to stoken.
This conforms better with what people know from HTTP and properly
differentiates from CSToken which is now renamed to stoken.
2020-05-27 10:30:22 +03:00
Tom Hacohen
2a39f3538e Change to standalone stoken objects (+ small optimisation).
Makes it possible to now generate Stokens as we need so we can add them to
non-revision objects, for example, membership changes.

We also slightly improved how we filter by revs.
2020-05-26 18:53:51 +03:00
Tom Hacohen
e94e2f9d70 Add a separate pubkey/privatekey for sharing.
It's separated from the login one so that encryption key and identity
can be rotated separately.
2020-05-26 13:44:40 +03:00
Tom Hacohen
863c405802 Rename pubkey to loginPubkey because we'll soon have another pubkey.
This breaks sharing because we no longer have a normal pubkey.
This will be fixed in the next commit.
2020-05-26 13:24:00 +03:00
Tom Hacohen
2412c295de Signup: fix bug making signup not to work. 2020-05-26 13:17:35 +03:00
Tom Hacohen
a965a76c36 Invitation: move outgoing invitations to invite/outgoing. 2020-05-24 18:24:47 +03:00
Tom Hacohen
118dbea4e3 InvitationSerializer: fix user validator. 2020-05-24 17:52:09 +03:00
Tom Hacohen
7f7d223b9b Fix indentation error. 2020-05-24 17:22:43 +03:00
Tom Hacohen
40b7edcb84 Add a way to fetch a user's pubkey. 2020-05-24 17:18:57 +03:00
Tom Hacohen
47e1eec122 Incoming invitations: implement incoming invitations and accepting them 2020-05-24 17:18:57 +03:00
Tom Hacohen
8d1c02dcb9 Collection invitation: implement creating and manipulating collections invitations. 2020-05-24 15:08:12 +03:00
Tom Hacohen
edd88427b0 Add a viewset to control collection membership. 2020-05-21 15:44:15 +03:00
Tom Hacohen
c30cc2f229 Improve and rename bulk_get to filter by item stokens too + cstoken changes
Also change how we return cstokens
2020-05-19 19:25:49 +03:00
Tom Hacohen
c63210fe77 CollectionItem: implement batch updating. 2020-05-19 16:16:40 +03:00
Tom Hacohen
b6571c93f6 Collection: fix stoken and add cstoken for the collection token. 2020-05-19 15:33:10 +03:00
Tom Hacohen
4c7e30eca5 CollectionItem: implement both update and create. 2020-05-19 13:10:29 +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
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
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
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
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
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
2ac0b55de9 Revision: expose meta. 2020-03-17 22:11:18 +02:00
Tom Hacohen
ab86a912cd Revision uid is now the hmac. 2020-03-17 17:14:51 +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
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
dfbfa01bc5 CollectionItem: move version and encryption key to the item itself. 2020-03-10 17:49:23 +02:00
Tom Hacohen
5ceaa9fb1a Collection: calculate a value for ctag in the meanwhile. 2020-02-26 21:22:58 +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