Tom Hacohen
6e7ad92a12
Add missing migrations forgotten in the previous commit
...
Missing from: 73f4ff765c7713c9aa48dec2bfc4c3c1c0c7e9f3
2020-05-27 10:30:07 +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
3cdb7783fe
Make sure to always return fresh stokens.
2020-05-26 18:14:39 +03:00
Tom Hacohen
fce844bfc3
Uid: Change how validation is done.
2020-05-26 16:36:37 +03:00
Tom Hacohen
10b9d33ffe
UidValidator: fix to actually validate.
2020-05-26 16:13:18 +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
4ca74bc69b
Permissions: start from scratch and add IsCollectionAdmin permission.
2020-05-20 13:47:06 +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
aaee8f5e38
Fix new_cstoken getting for list functions.
...
We were getting the general cstoken, and were not honouring our limit.
2020-05-19 17:41:27 +03:00
Tom Hacohen
9bbb7ef3d7
Fix filter by cstoken function to not fetch twice.
2020-05-19 17:29:54 +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
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
4083be8e8c
Username: disallow @ in usernames.
2020-05-15 11:12:24 +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
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