Commit graph

226 commits

Author SHA1 Message Date
Houkime 9793201ca1 feature(backups): a wrapper for rclone sync 2023-07-03 15:32:00 +00:00
Inex Code b480c84041 style: fix styling 2023-06-29 13:44:29 +03:00
Houkime cd2e9d3ba3 fix(jobs): make finishing the job set progress to 100 2023-06-28 13:22:53 +00:00
Houkime 3ee90617ba test(backup): make large testfile larger 2023-06-28 13:06:03 +00:00
Houkime e4865aa094 fix(services): proper backup progress reporting 2023-06-28 11:45:07 +00:00
Houkime ae16a527a2 refactor(backups): rename service_snapshot_size to snapshot_restored_size 2023-06-26 19:41:26 +00:00
Houkime b9be0be6a2 refactor(backups): privatize assert_restorable and restore_snapshot_from_id 2023-06-26 18:42:26 +00:00
Houkime 1593474dc1 refactor(backups): make redis and json provider related lowlevels private 2023-06-26 18:20:22 +00:00
Houkime 2f71469f39 refactoring(backups): backuper -> backupper 2023-06-23 12:04:33 +00:00
Inex Code e7e0fdc4a1 refactor(backups): fix typing errors 2023-06-23 12:40:10 +03:00
Inex Code c6919293b6 refactor(api): Group mutations
I've learned that there is no problem in grouping mutations like we do with queries.
This is a big mistake from my side, now we have legacy not so conveniently placed endpoints.
I've grouped all mutations, left the copies of old ones flattened in the root for backwards compatibility.
We will migrate to mutation groups on client side, and backups now only use grouped mutations.
Tests are updated.
2023-06-21 06:46:56 +03:00
Houkime e3a87f1d98 test(backups): ensure asking to reload snaps does not explode the server 2023-06-19 14:12:50 +00:00
Houkime 25f3115c05 test(backups): setting autobackup period 2023-06-19 13:28:02 +00:00
Houkime 612a46ee42 feature(backups): actually dealing with situation when the provider is not configured 2023-06-19 11:09:10 +00:00
Houkime f02e27cf06 test(backups): add a backend json reset test 2023-06-16 15:19:22 +00:00
Houkime 79c3b9598c feature(backups): resetting json config too 2023-06-16 15:09:39 +00:00
Houkime 8e1e37c766 test(backups): preliminary test of repo reset 2023-06-16 14:33:48 +00:00
Houkime 33c60f971d test(backups): test reinitting repository 2023-06-16 13:43:41 +00:00
Houkime 9e0b0d8caa refactor(backups): make localfile repos normal 2023-06-14 14:07:51 +00:00
Houkime cbedd196e4 fix(backups): non-nullable service when backing up 2023-06-14 13:06:32 +00:00
Houkime 4862cdc72f test(backups): test restore 2023-06-14 13:00:39 +00:00
Houkime 17c7dffb07 test(backups): use get_data 2023-06-14 12:41:45 +00:00
Houkime 39cd4b714b test(backups): check snapshots getting created 2023-06-14 12:35:41 +00:00
Houkime 92322d8fad test(backups): test dummy service compliance 2023-06-14 12:08:07 +00:00
Houkime aa9d082adc test(backups): display errors from api 2023-06-14 11:54:24 +00:00
Houkime f1654c699c fix(backups): shorten snapshot query signature 2023-06-14 11:52:57 +00:00
Houkime 928f026e7c test(backups): snapshot query 2023-06-14 11:14:52 +00:00
Houkime c47977c100 test(backups): actual testfile 2023-06-14 10:16:53 +00:00
Houkime d9bde6930b fix(backups): register queries 2023-06-14 10:16:53 +00:00
Houkime 9d5335f62c feature(backups): feature(backups): return a snapshot from start_backup 2023-06-05 11:26:58 +00:00
Houkime 4b07d4de41 refactor(backups): global snapshots 2023-05-31 13:16:08 +00:00
Houkime c3696d3a4b feature(backups): global init instead of per-service 2023-05-29 16:50:14 +00:00
Houkime 0dc6f74754 fix(backups): make sure location and credentials get properly passed around 2023-05-22 16:01:57 +00:00
Houkime b1d0a80963 feature(backups): realtime progress updates of backups 2023-05-17 20:27:42 +00:00
Houkime 54a8e0b2b0 test(backups): break out obtaining finished jobs 2023-05-17 20:27:42 +00:00
Houkime e25aa2cb33 test(backups): test that the job has run 2023-05-17 20:27:42 +00:00
Houkime 396b42b69c test(backups): test jobs starting and finishing when from Backups 2023-05-17 20:27:42 +00:00
Houkime d340b0ca67 test(backups): break out a finished job checker 2023-05-17 20:27:42 +00:00
Houkime cb1dd1011e test(backups): assure that jobs are created and not duplicated 2023-05-17 20:27:42 +00:00
Houkime d1425561d9 feature(backups): restore task 2023-05-17 20:27:42 +00:00
Houkime 72f4fc8ae7 test(backups): test local secrets 2023-05-17 20:27:42 +00:00
Houkime dde86725b9 test(services): test derivation of foldermoves 2023-05-17 20:27:42 +00:00
Houkime ba72fadb8d test(services): test that we indeed return correct folders and owned folders from real services 2023-05-17 20:27:42 +00:00
Houkime ad66513f27 refactor(services): add folder owner derivation 2023-05-17 20:27:41 +00:00
Houkime 48359ffd20 test(backups): test 2-folder restoration 2023-05-17 20:27:41 +00:00
Houkime a68e94fad3 test(backups): actually back up 2 folders 2023-05-17 20:27:41 +00:00
Houkime 30ac990985 refactor(backups): set a list of folders for our dummy service 2023-05-17 20:27:41 +00:00
Houkime 08739f7ca8 refactor(backups): make api accept a list of folders 2023-05-17 20:27:41 +00:00
Houkime 919ba1ad03 refactor(backups): make a dedicated get_folders() function 2023-05-17 20:27:41 +00:00
Houkime 1b1052d205 refactor(services): rename get_location() to get_drive() 2023-05-17 20:27:41 +00:00
Houkime 0ae4192081 test(backups): register dummy service 2023-05-17 20:27:41 +00:00
Houkime ec85f060f8 test(backups): test autobackup timing 2023-05-17 20:27:41 +00:00
Houkime 283c8d09cc refactor(backups): split out storage 2023-05-17 20:27:41 +00:00
Houkime f25e57c51a test(backups): test that we do use cache 2023-05-17 20:27:41 +00:00
Houkime 7699ba0d9b test(backups): test last backup date retrieval 2023-05-17 20:27:41 +00:00
Houkime d4cad61d56 test(backups): test setting autobackup period 2023-05-17 20:27:41 +00:00
Houkime 3c42d8c413 test(backups): test setting services as enabled for autobackups 2023-05-17 20:27:41 +00:00
Houkime ae065867b3 test(backups): test that we do return snapshot on backup 2023-05-17 20:27:41 +00:00
Houkime 772b499b46 feature(backups): huey task to back up 2023-05-17 20:27:41 +00:00
Houkime 144e4e5e91 refactor(backups): make backups stateless 2023-05-17 20:27:41 +00:00
Houkime a2dd47130b feature(backups): repo init tracking 2023-05-17 20:27:41 +00:00
Houkime 4b2cecac8f feature(backups): provider storage and retrieval 2023-05-17 20:27:41 +00:00
Houkime a0afe63b3d refactor(backups): redis model storage utils 2023-05-17 20:27:41 +00:00
Houkime ea6a047478 feature(backups): load from json 2023-05-17 20:27:41 +00:00
Houkime 23ee958bfb feat(backups): sizing up snapshots 2023-05-17 20:27:40 +00:00
Houkime d62d7534d7 test(backups): test restoring a file 2023-05-17 20:27:40 +00:00
Houkime c32353fe9b feat(backups): return proper snapshot structs when listing 2023-05-17 20:27:40 +00:00
Houkime 8a1b3be9fa test(backups): reenable snapshot testing 2023-05-17 20:27:40 +00:00
Houkime 01797cb922 fix(backups): singleton metaclass was screwing with tests 2023-05-17 20:27:40 +00:00
Houkime 06deb83b33 test(backups): localfile repo by default in tests 2023-05-17 20:27:40 +00:00
Houkime e944f4a267 test(backups): basic file backend init test 2023-05-17 20:27:40 +00:00
Houkime 865c8f5280 test(backups): test repo init 2023-05-17 20:27:40 +00:00
Houkime c9fd656181 refactor(backups): snapshotlist and local secret groundwork 2023-05-17 20:27:40 +00:00
Houkime a043392b7b test(backup): no snapshots 2023-05-17 20:27:40 +00:00
Houkime bf263f68b9 test(backup): use a backup service function 2023-05-17 20:27:40 +00:00
Houkime 17df21964a test(backup): try to back up! 2023-05-17 20:27:40 +00:00
Houkime 90c2524800 test(backup): make a testfile to backup 2023-05-17 20:27:40 +00:00
Houkime e54224f15d test(backup): init an in-memory backup class 2023-05-17 20:27:40 +00:00
Houkime 934afeb531 test(backup): dummy service 2023-05-17 20:27:40 +00:00
Houkime af6a49b0a3 test(backup): provider class selection 2023-05-17 20:27:40 +00:00
Inex Code 4e7261c9c4 fix(dns-records): Fix DKIM parser
Previously API relied on client to parse DKIM DNS string, as it was a
separate endpoint. But now client blindly trusts the API, but parser
was not migrated over to the API.
2023-01-16 18:41:54 +03:00
def bcfb8e62e9 refactor(repository): Tokens repository JSON backend (#18)
Co-authored-by: def <dettlaff@riseup.net>
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/18
Co-authored-by: def <dettlaff@riseup.net>
Co-committed-by: def <dettlaff@riseup.net>
2022-12-30 21:20:17 +03:00
Houkime 67872d7c55 test(tokens-repo): use mnemonic_from_hex consistently 2022-12-26 16:22:16 +00:00
Houkime 450ff41ebd feat(tokens-repo): make device names unique before storage 2022-12-26 15:51:12 +00:00
Houkime 7d9bccf4ec fix(tokens-repo): make is_token_valid infallible 2022-12-26 15:18:02 +00:00
Houkime 5d4ed73435 fix(tokens-repo): properly expire new device keys 2022-12-26 14:01:36 +00:00
Houkime 22a309466e fix(tokens-repo): fix is_name_exists() being fallible 2022-12-21 17:04:18 +00:00
Houkime 20410ec790 fix(tokens-repo): fix name pair validation being able to raise a notfound error 2022-12-21 16:10:41 +00:00
Houkime 3021584adc refactor(tokens-repo): delete refresh_token() from auth 2022-12-21 15:23:42 +00:00
Houkime 39277419ac refactor(tokens-repo): use tokens-repo to refresh tokens 2022-12-21 13:09:51 +00:00
Houkime d3bf867bb5 fix(tokens-repo): do not change the date on token refresh 2022-12-21 13:05:00 +00:00
Houkime a97705ef25 fix(tokens-repository): fix getting and setting recovery token expiration date 2022-12-21 10:24:05 +00:00
Houkime ab70687c61 fix(tokens-repository) :make NONE-uses-left eternally valid and test for it 2022-12-19 12:57:32 +00:00
Houkime 6f6a9f5ef0 test(tokens-repo): do not require order in test_delete_not_found_token 2022-12-16 13:04:56 +00:00
Houkime 95e200bfc5 feat(tokens-repo): reset function 2022-12-16 13:04:19 +00:00
Houkime e504585437 test(tokens-repo): do not require order 2022-12-16 13:03:53 +00:00
Houkime f2fa47466b feat(tokens-repo):empty implementation of redis token repo
But it initializes and fails tests!
2022-12-16 13:03:27 +00:00
Houkime 2797c6f88f fix(tokens-repository): use_mnemonic_new_device_key() now stores a token 2022-12-16 13:03:27 +00:00
Houkime b856a2aad3 test(tokens-repo): re-add delete token test 2022-12-16 13:01:19 +00:00
Houkime 0d748d7ab1 test(tokens-repo): move original token content to json tests 2022-12-16 13:01:09 +00:00