Houkime
238a656cd9
refactor(services): make a foldermove from owned path
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
c34eb6d447
refactor(services): add overridable get owner and get group
2023-05-17 20:27:41 +00:00
Houkime
0b7d2d0bf4
refactor(services): add OwnedPath struct
2023-05-17 20:27:41 +00:00
Houkime
a664ab3dd4
refactor(services): remove special storage counting from pleroma
2023-05-17 20:27:41 +00:00
Houkime
3605a71c1d
refactor(services): remove special storage counting from ocserv
2023-05-17 20:27:41 +00:00
Houkime
617f7f1628
refactor(services): remove special storage counting from nextcloud
2023-05-17 20:27:41 +00:00
Houkime
4475bcea45
documentation(services): move the storage count docstring to parent service class
2023-05-17 20:27:41 +00:00
Houkime
042a2e4cf2
refactor(services): remove special storage counting from mail
2023-05-17 20:27:41 +00:00
Houkime
312328af95
refactor(services): remove special storage counting from jitsi
2023-05-17 20:27:41 +00:00
Houkime
c040f0825c
refactor(services): remove special storage counting from gitea
2023-05-17 20:27:41 +00:00
Houkime
f8edcac33f
refactor(services): remove special storage counting from bitwarden
2023-05-17 20:27:41 +00:00
Houkime
789fd71e2f
refactor(services): add a generic storage counter
2023-05-17 20:27:41 +00:00
Houkime
a34b14449b
refactor(services): make get_folders() a mandatory part of Service interface
2023-05-17 20:27:41 +00:00
Houkime
8a4f256c12
refactor(services): add get_folders() to the rest of the services
2023-05-17 20:27:41 +00:00
Houkime
0207b5a473
fix(services): use get_foldername() for moving around
2023-05-17 20:27:41 +00:00
Houkime
1c0e3f0f92
test(backups): implement get_folders() for gitea
2023-05-17 20:27:41 +00:00
Houkime
378f0ebd73
test(backups): implement get_folders() for bitwarden
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
fa26379a68
refactor(backups): actually accept a list of folders
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
4018dca184
feature(backups): automatic backup
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
5ad9f50b94
feature(backups): enable snapshot cache usage
2023-05-17 20:27:41 +00:00
Houkime
a2ff74244e
feature(backups): add snapshot cache sync functions
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
146b0ca02f
feature(backups): add a datetime validator function for huey autobackups
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
e043720289
feature(backups): methods for autobackup period setting and getting
2023-05-17 20:27:41 +00:00
Houkime
417533fc04
fix(backups): remove self from static method
2023-05-17 20:27:41 +00:00
Houkime
45f33e2d31
feature(backups): check, set and unset service autobackup status
2023-05-17 20:27:41 +00:00
Houkime
18d5cd2b83
feature(backups): cache snapshots and last backup timestamps
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
2eb64db199
feature(backups): return snapshot info from backup function
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
6524c98131
refactor(backups): add a provider model for redis storage
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
4e329299e0
feat(backups): local secret generation and storage
2023-05-17 20:27:40 +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
dc3032eb03
feat(backups): add restore_snapshot and restore_service_from_snapshot
2023-05-17 20:27:40 +00:00
Houkime
98e1c9ebaa
feat(backups): a better error on failed snapshot retrieval
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
b3633d1a96
feat(backups): throw an error on a failed backup
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
e091fbd4a2
feature(backups): throw an error if repo init fails
2023-05-17 20:27:40 +00:00
Houkime
f1987edd99
feature(backups): register localfile backend
2023-05-17 20:27:40 +00:00
Houkime
c493a49daa
feature(backups): localfile repo
2023-05-17 20:27:40 +00:00
Houkime
bd744ba211
refactor(backups): repo init service method
2023-05-17 20:27:40 +00:00
Houkime
86e2b90bef
refactor(backups): add 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
e447419f96
refactor(backup): snapshot model
2023-05-17 20:27:40 +00:00
Houkime
3afe196901
feature(backup): loading snapshots
2023-05-17 20:27:40 +00:00
Houkime
1568ee68a4
feature(backup): add a restore function to restic backuper
2023-05-17 20:27:40 +00:00
Houkime
3970524bce
feat(backup): hooks
2023-05-17 20:27:40 +00:00
Houkime
7e243146db
refactor(backup): add a backup function to Backups singleton class
2023-05-17 20:27:40 +00:00
Houkime
d5881cc523
refactor(backup): add a placeholder Backups singleton class
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
6fa72dbac1
fix(backup): add memory backup class,forgot to add to git
2023-05-17 20:27:40 +00:00
Houkime
474f04f923
feat(backup): add backuping to restic backuper
2023-05-17 20:27:40 +00:00
Houkime
a66a3f35fc
feat(backup): add in-memory backup
2023-05-17 20:27:40 +00:00
Houkime
f5066082c8
feat(backup): allow no auth
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
Houkime
24d170b3cb
feature(backups): copy cli logic to new restic backuper
2023-05-17 20:27:40 +00:00
Houkime
23e3d553e6
feature(backups): placeholders for the backupers and backup providers
2023-05-17 20:27:40 +00:00
Houkime
a98314bb60
feature(backups): placeholders for the modules of the new backup system
2023-05-17 20:27:40 +00:00
Houkime
6d73405118
feature(backups): add backup structures and queries
2023-05-17 20:27:40 +00:00
Houkime
740b072b07
refactor(backup): do not use config file
2023-05-17 20:27:40 +00:00
Houkime
cf3cbd179f
refactor(backup): pass key and account to exec
2023-05-17 20:27:40 +00:00
Houkime
4871958534
refactor(backup): extract restic repo
2023-05-17 20:27:40 +00:00
Houkime
060117a355
refactor(backup): extract rclone args
2023-05-17 20:27:40 +00:00
Houkime
80f2c99ba4
refactor(backup): delete unused import
2023-05-17 20:27:40 +00:00
inexcode
670911a92a
feat(dns): Add deSec as a DNS provider
2023-05-09 11:58:30 +03:00
Inex Code
5ada12d2f3
feat: Add a migration that will prepare server for 22.11 upgrade
2023-03-17 16:37:47 +03:00
Inex Code
8ce13f0ad2
feat: Add Digital Ocean as a DNS provider
2023-02-06 11:50:43 +03: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
Inex Code
e7a49e170d
fix: module models not found
2022-12-30 21:39:28 +03:00
Inex Code
24353ca56a
chore: bump API version
2022-12-30 21:10:55 +03:00
Inex Code
cb403a94bd
fix: typing
2022-12-30 21:06:16 +03:00
Houkime
3ecfb2eacb
refactor(tokens-repo): delete auth utils
2022-12-26 15:54:33 +00:00
Houkime
450ff41ebd
feat(tokens-repo): make device names unique before storage
2022-12-26 15:51:12 +00:00
Houkime
8235c3595c
refactor(tokens-repo): delete is_token_valid from auth utils
2022-12-26 15:20:58 +00:00
Houkime
7d9bccf4ec
fix(tokens-repo): make is_token_valid infallible
2022-12-26 15:18:02 +00:00
Houkime
87ea88c50a
refactor(tokens-repo): delete get token name from auth utils
2022-12-26 14:56:39 +00:00
Houkime
25326b75ca
refactor(tokens-repo): delete create token from auth utils
2022-12-26 14:55:40 +00:00
Houkime
b3d6251d11
refactor(tokens-repo): delete generare recovery key from auth utils
2022-12-26 14:54:07 +00:00
Houkime
b11e5a5f77
refactor(tokens-repo): delete recovery key quieries from auth utils
2022-12-26 14:51:37 +00:00
Houkime
69577c2854
refactor(tokens-repo): delete get_recovery_key_status from auth utils
2022-12-26 14:29:05 +00:00
Houkime
7cf295450b
refactor(tokens-repo): do not use tokens repo directly from graphql
2022-12-26 14:13:46 +00:00
Houkime
f33d5155b0
refactor(tokens-repo): delete use_new_device_auth_token from auth utils
2022-12-26 14:03:55 +00:00
Houkime
5d4ed73435
fix(tokens-repo): properly expire new device keys
2022-12-26 14:01:36 +00:00
Houkime
c037a12f4d
refactor(tokens-repo): break out _store_new_device_key()
2022-12-26 12:31:09 +00:00
Houkime
29723b9f3a
refactor(tokens-repo): delete use_mnemonic_recoverery_token from auth utils
2022-12-26 11:01:07 +00:00
Houkime
cb1906144c
refactor(tokens-repo): delete get_new_device_auth_token from auth utils
2022-12-26 10:27:10 +00:00
Houkime
3f6aa9bd06
refactor(tokens-repo): delete delete_new_device_auth_token from auth utils
2022-12-26 10:13:37 +00:00
Houkime
5dedbda41f
refactor(tokens-repo): delete get_tokens_info() from auth utils
2022-12-23 12:41:29 +00:00
Houkime
e817de6228
refactor(tokens-repo): use token repo in get_api_tokens_with_caller_flag
2022-12-23 12:29:32 +00:00
Houkime
f928ca160a
refactor(tokens-repo): use token repo in get_api_recovery_token_status action
2022-12-23 12:00:35 +00:00
Houkime
a2ac47b0f5
refactor(tokens-repo): delete delete_token from auth utils
2022-12-23 11:14:52 +00:00
Houkime
5a1f64b1e7
refactor(tokens-repo): delete is_name_exists() from auth utils
2022-12-21 17:09:49 +00:00
Houkime
22a309466e
fix(tokens-repo): fix is_name_exists() being fallible
2022-12-21 17:04:18 +00:00
Houkime
2a239e35ad
refactor(tokens-repo): delete is_token_name_pair_valid from auth
2022-12-21 16:17:56 +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
16f71b0b09
refactor(tokens-repo): use tokens-repo to create recovery token
2022-12-21 13:53:39 +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
009a89fa02
refactor(tokens-repo): use token repo for graphql use_recovery_api_key
2022-12-21 10:33:06 +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
5a25e2a270
feat(tokens-repo): getting stored device key
2022-12-16 13:05:06 +00:00
Houkime
0ae7c43ebf
refactor(tokens-repo): break out generic hash_as_model casting
2022-12-16 13:05:00 +00:00
Houkime
fda5d315a9
fix(tokens-repo): return device key instead of NewDeviceKey class
2022-12-16 13:04:51 +00:00
Houkime
13e84e2697
feat(tokens-repo): recovery key uses decrement
2022-12-16 13:04:47 +00:00
Houkime
eba1d01b3d
feat(tokens-repo): recovery key creation
2022-12-16 13:04:43 +00:00
Houkime
8dfb3eb936
feat(tokens-repo): fuller reset
2022-12-16 13:04:39 +00:00
Houkime
4579fec569
feat(tokens-repo): get recovery key
2022-12-16 13:04:35 +00:00
Houkime
257096084f
refactor(tokens-repo): split out date field detection
2022-12-16 13:04:26 +00:00
Houkime
bf6c230ae0
fix(tokens-repo): raise token not found when deleting nonexistent token
...
even if device name exists
2022-12-16 13:04:26 +00:00
Houkime
95e200bfc5
feat(tokens-repo): reset function
2022-12-16 13:04:19 +00:00
Houkime
9ffd67fa19
feat(tokens-repo): get new device key
2022-12-16 13:04:14 +00:00
Houkime
b98ccb88d1
refactor(tokens-repo): separate getting model dict
2022-12-16 13:04:04 +00:00
Houkime
3cb7f29593
refactor(tokens-repo): detach preparing a dict before a model cast
2022-12-16 13:03:57 +00:00
Houkime
647e02f25b
feat(tokens-repo): redis delete token
2022-12-16 13:03:46 +00:00
Houkime
ba6a5261fa
refactor(tokens-repo): redis token key func
2022-12-16 13:03:41 +00:00
Houkime
d8e3cd67e0
feat(tokens-repo): redis store token
2022-12-16 13:03:36 +00:00
Houkime
256c16fa9f
feat(tokens-repo): redis get tokens
2022-12-16 13:03:27 +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
ca822cdf6f
refactor(tokens-repository): move use_mnemonic_new_device_key() to abstract class
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
4498003aca
refactor(tokens-repository): dissect use_mnemonic_new_device_key()
2022-12-16 13:03:27 +00:00
Houkime
772c0dfc64
refactor(tokens-repository): move use_mnemonic_recovery_key() to abstract class
2022-12-16 13:03:27 +00:00
Houkime
671203e990
refactor(tokens-repository): dissect use_mnemonic_recovery_key()
2022-12-16 13:03:26 +00:00
Houkime
9a49067e53
refactor(tokens-repo): move token refreshing to parent class
2022-12-16 13:03:12 +00:00
Houkime
682cd4ae87
refactor(tokens-repo): move create_token to abstract class
2022-12-16 13:02:55 +00:00
Houkime
572ec75c39
refactor(tokens-repo): rewrite token refresh
...
now it is not json-dependent.
2022-12-16 13:02:43 +00:00
Houkime
27a7c24bc3
refactor(tokens-repo): separate token storing
2022-12-16 13:02:21 +00:00
Houkime
4e60d1d37a
refactor(tokens-repo): move token getters to abstract class
...
Not performance-optimal, but not in critical path either.
100 tokens max irl?
2022-12-16 13:02:05 +00:00