Commit graph

307 commits

Author SHA1 Message Date
NaiJi a69b096d6f fix(digital-ocean): Change /locations to /regions and fix tokens validation 2022-10-26 20:07:35 +04:00
NaiJi 1b94e14727 feat(server-api): Migrate all server endpoints to GraphQL 2022-10-24 15:39:53 +04:00
NaiJi 19b45ac142 fix(server-api): Adapt ApiResponse structure to GraphQL format 2022-10-24 13:47:47 +04:00
NaiJi daf50e8c92 refactor(server-api): Replace Rest API interface with Graphql endpoints everywhere they are used
With no implementations yet
2022-10-23 05:13:27 +04:00
NaiJi cb1fe6eafd fix(initializing): Make provider and server type picking work 2022-10-20 18:44:29 +04:00
NaiJi ea85ce6064 refactor: Apply formatting 2022-10-18 05:38:26 +00:00
NaiJi bb846b08c1 feat(digital-ocean): Implement system endpoints for digital ocean 2022-10-18 00:48:41 +00:00
NaiJi e4ed69d151 refactor(volume): Make volume interfaces work through volume entities, not IDs 2022-10-17 23:58:29 +00:00
NaiJi d19531232c feat(digital-ocean): Implement endpoints for server creation and deletion 2022-10-17 17:42:23 +00:00
NaiJi f5a75e6eb5 feat(initializing): Implement additional server type field for server installation 2022-10-16 01:16:47 +00:00
NaiJi 8a93af2b06 fix(region): Move region settings for provider api to factory 2022-10-16 00:51:10 +00:00
NaiJi b30e372322 feat(region): Implement endpoints for listing available types by region 2022-10-14 19:00:44 +00:00
NaiJi e032bd8a78 feat(region): Implement endpoints for listing available provider regions 2022-10-13 23:16:08 +00:00
NaiJi 2f59954641 feat(region): Remove hardcode for region of server installation 2022-10-13 21:16:21 +00:00
NaiJi f40ed08b02 feat(volume): Implement volume endpoints for Digital Ocean
volumeId type in VolumeApiProvider interfaces is now replaced with String from int to support Digital Ocean's UUID notation
2022-10-12 04:56:08 +00:00
NaiJi 79e9334aca feat(pricing): Replace raw double with simple type Price 2022-10-12 01:42:45 +00:00
NaiJi 70330c59ab feat(digital-ocean): Implement provider picker pages 2022-10-11 20:11:13 +00:00
NaiJi 699e2f676f refactor(service): Get rid of legacy common enums 2022-10-05 01:41:48 +03:00
NaiJi d6d7a0dcb6 Implement rebuild server job for settings page 2022-09-19 03:00:40 +03:00
Inex Code e330878e6d Allow removing completed and failed server jobs 2022-09-18 23:12:09 +03:00
NaiJi 159f861965 Implement initialization migration to binds error handling 2022-09-18 17:29:00 +03:00
NaiJi 39358a827f Implement migrate to binds logic 2022-09-18 17:05:41 +03:00
NaiJi 11e58981b5 Implement migration process page 2022-09-16 12:08:31 +03:00
NaiJi 8039283f37 Wrap get metrics endpoint with try-catch 2022-09-15 16:05:23 +03:00
NaiJi dc72b6d1b2 Implement server settings page functionality 2022-09-15 02:31:25 +03:00
NaiJi c5eed6ace9 Improve server settings page 2022-09-12 20:38:22 +03:00
Inex Code 11885b7ac7 Fix app connecting to 'https://api./' after access recovery
We no longer hold server domain in ServerAPI class. Instead, we get a domain from the app config every time.
2022-09-09 17:57:34 +03:00
NaiJi e4bb35d5d8 Catch cloudflare exceptions 2022-09-09 12:14:37 +03:00
NaiJi 06fbcff9a9 Fix graphql type errors 2022-09-08 22:58:45 +03:00
Inex Code 5f13be9339 Fix Hetzner size storage 2022-09-06 14:03:21 +03:00
inexcode 5f58022d42 Update user list screen to properly support newer cubit logic 2022-09-05 14:51:01 +04:00
Inex Code 18b737a327 Reformatting 2022-09-05 07:34:47 +03:00
Inex Code 0879ea8e97 Refactor Users cubit to use GraphQL and unified data model 2022-09-05 07:01:36 +03:00
Inex Code c1bb617ca7 Add user type to the User model 2022-09-04 14:29:05 +03:00
Inex Code 33b8003f07 Add user-related GraphQL handlers 2022-09-04 13:45:03 +03:00
NaiJi a693f694ac Add endpoints for migration checking 2022-09-02 08:59:46 +03:00
inexcode 7d8f8e1d38 Rewrite services cubit and add basic service screen. 2022-08-30 00:35:06 +04:00
NaiJi 62929a4839 Fix dkim runtime exception 2022-08-29 23:21:59 +03:00
NaiJi 62db476575 Fix ipv4 bug 2022-08-29 21:18:07 +03:00
inexcode c0ce019360 Add Services type and GraphQL endpoints with parsers. 2022-08-29 04:40:35 +04:00
NaiJi d934a6a9cb Refactor graphql api, separate by logic 2022-08-26 22:28:01 +03:00
NaiJi 7bbdaf2ebe Last changes on storage pages and job backend logic 2022-08-24 08:35:49 +03:00
NaiJi d2c3d28b0f Merge from develop into graphql 2022-08-08 13:33:55 +03:00
NaiJi c230037351 Implement data_migration page and logic 2022-08-03 05:25:33 +03:00
NaiJi 96c7d7966a Update cubit for volume management and graphql 2022-08-01 02:10:37 +03:00
NaiJi c747dcd4ae Implement Server Storage card for provider menu
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-07-29 08:38:21 +03:00
NaiJi c56a0f5976 Implement getApiTokens for graphql API map 2022-07-25 19:08:46 +03:00
NaiJi 7ead9a29ea Implement basic graphql api map structure 2022-07-25 17:06:55 +03:00
NaiJi d8ea528621 Add magic sleep before deleteVolume on creation failure
It seems Hetzner fails to accept our deleteVolume request so quickly after failing. We need to wait for about 10 seconds, I guess. The same magic sleep happens on deleteServer pack of requests. Please have patience...
2022-07-25 03:03:19 +03:00
NaiJi dab2c569ec Fix installation Timer errors
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-07-22 19:22:10 +03:00
NaiJi dac310f913 Implement Dns Provider Api Abstractions 2022-07-14 16:34:08 +03:00
NaiJi 9993b09e7f Turn VolumeApiProvider into a mixin 2022-07-13 14:58:23 +03:00
NaiJi 37b7e9f839 Implement Provider Api Abstractions 2022-07-12 15:54:16 +03:00
NaiJi 5fd8a68597 Change volume size from Gb to Byte 2022-06-28 21:06:52 +03:00
NaiJi 0a919907c8 Implement hetzner volumes cubit 2022-06-27 10:07:11 +03:00
NaiJi 352351663f Implement endpoints for hetzner volumes 2022-06-24 00:34:09 +03:00
NaiJi 3fbdc05469 Minor flow bugfixes 2022-06-09 09:51:29 +03:00
NaiJi 80e0488700 Minor bug fixing
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-06-07 22:59:15 +03:00
NaiJi 2ac8e4366b Linting!
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-06-06 01:40:34 +03:00
Inex Code 4db0413c42 Linting 2022-06-05 22:36:32 +03:00
Inex Code e8d5ecccf6 Add devices screen 2022-05-31 17:30:44 +03:00
Inex Code 8ec3b8c3e3 Finish recovery key screen 2022-05-31 02:06:08 +03:00
Inex Code 14acfdec6b Linting 2022-05-24 21:55:39 +03:00
NaiJi edce25ec55 Hot bug fixing of recovery flow
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-24 20:45:13 +03:00
Inex Code a096e7e732 Add recovery_key_cubit.dart 2022-05-24 19:11:51 +03:00
NaiJi 7344858e86 Implement recovery backblaze page 2022-05-24 11:06:58 +03:00
Inex Code fa6f74e884 Finish recovery flow cubit 2022-05-23 17:21:34 +03:00
NaiJi eddeac57d6 Implement server selection pages
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-21 01:56:50 +03:00
NaiJi eaa1ba143c Implement pages for server confirmation on restoring access
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-19 20:43:25 +03:00
inexcode d2553b0d08 Add auth functions to server_installation_repository.dart 2022-05-18 13:39:11 +03:00
NaiJi 10488d6832 Fix application failure on cloudflare 403 response
Check error response and show modal dialogue if domain couldn't be registered
2022-05-17 01:16:56 +03:00
NaiJi 129c1bb4c6 Refactor infrastructure
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-14 05:54:40 +03:00
NaiJi 4a42733d31 Refactor infrastructure: cubits and endpoints
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-13 16:57:56 +03:00
NaiJi ce3e046f5a Improve server endpoints, add recovery page
- Handle Dio error codes properly to avoid exceptions
- Improve en and ru assets
- Improve dns recordings failure handling
- Add recovery button to initializing page
- Add recovery pages group
2022-05-10 23:42:33 +03:00
NaiJi 31be961dd0 Implement server endpoints for tokens
get /auth/recovery_token
post /auth/recovery_token
post /auth/recovery_token/use
post /auth/new_device/authorize
post /auth/new_device
delete /auth/new_device
get /auth/tokens
post /auth/tokens
delete /auth/tokens
2022-05-10 02:16:36 +03:00
NaiJi 4c7cf05578 Refactor FieldCubit creation for user forms
Move all cubit fields to a special factory which encapsulates all logic related to their default properties, which leaves possibility for future dependency inversion on that factory or future factories of other cubit fields (in case we will have to replace it with other implementations).
2022-05-04 19:58:47 +03:00
NaiJi 4c99579f13 Fix username validation and exception handling
1. Refactor string validation classes
2. Rename string validation assets for length
3. Improve exception handling when server is not able to create requested server
2022-05-02 14:56:46 +03:00
Inex Code 4ddde34b47 Fix server deletion 2022-04-29 13:53:58 +03:00
Inex Code cca55f82cc Encode password to base64 during server creation 2022-04-06 20:15:59 +03:00
Inex Code 85235a2e7c Add SSH key adding and deleting 2022-03-23 17:07:52 +03:00
inexcode d240e493b1 Add user synchronization and SSH keys screen 2022-03-03 20:38:30 +03:00
inexcode e4bdd47848 Merge branch 'feature/service-configurations' into dkim
# Conflicts:
#	lib/logic/api_maps/hetzner.dart
#	lib/logic/api_maps/server.dart
#	lib/logic/cubit/backups/backups_cubit.dart
#	lib/logic/cubit/forms/initializing/cloudflare_form_cubit.dart
#	lib/logic/models/job.dart
#	lib/ui/pages/initializing/initializing.dart
#	lib/ui/pages/providers/providers.dart
#	pubspec.lock
#	pubspec.yaml
2022-02-18 02:37:15 +03:00
inexcode e925a1897a Fix some typos 2022-02-16 10:28:29 +03:00
inexcode 914d56ff87 DNS records cubit and screen 2022-02-16 10:09:53 +03:00
kherel 7eff0968d0 update 2022-02-08 22:01:08 +01:00
inexcode d06e8976c5 Fix infect stage and DKIM 2022-02-08 09:59:35 +03:00
kherel 83ff387998 update 2022-02-07 08:53:13 +01:00
Inex Code f6508dfcad Attempts at string escaping 2022-02-02 12:53:21 +00:00
Inex Code 0bc3d9f31c Add DKIM key creation 2022-02-01 01:56:05 +00:00
Inex Code 88d5dbf010 Add more escaping to server infection 2022-02-01 01:55:09 +00:00
kherel 9566a6ad10 update 2022-01-25 18:02:32 +01:00
Inex Code 2dfb92f650 Fix wrong server name escaping symbol 2022-01-25 18:02:31 +01:00
Inex Code 72100e483a Replace all non-alphanumeric symbols during hetzner creation 2022-01-25 18:02:31 +01:00
Inex Code 5957e5720b Add user deletion (for real) 2022-01-25 18:02:31 +01:00
Inex Code 3a63e75e8e Fix nixos-infect link to use master, not rolling 2022-01-25 18:02:31 +01:00
Inex Code e7e9209cce Fix wrong server name escaping symbol 2021-12-26 21:41:53 +02:00
Inex Code 30937740b6 Replace all non-alphanumeric symbols during hetzner creation 2021-12-25 12:56:44 +00:00
Inex Code 4ca873e794 Add user deletion (for real) 2021-12-20 15:25:31 +00:00
Inex Code 1b42d3a382 Fix nixos-infect link to use master, not rolling 2021-12-16 14:26:40 +03:00
Inex Code f633fecd57 Fix backup list parsing 2021-12-09 03:44:05 +00:00
Inex Code b40bea63d1 Backups and server upgrade 2021-12-06 18:31:19 +00:00
Inex Code 6011d6fdce Hotfix SPCVE-0001 2021-11-18 19:10:40 +00:00
kherel 43732fa866 Merge branch 'no-hash' into fix-deleting-server 2021-10-12 00:14:31 +03:00
Kherel eac9078fad fix 2021-10-11 23:10:04 +02:00
Kherel ba8b19193d update 2021-10-07 18:52:06 +02:00
Kherel 3bc9b23e8f update 2021-10-07 18:52:06 +02:00
Kherel 2c4d0ea7d1 fix 2021-09-29 20:28:47 +02:00
kherel 3e7d003f21 service-states (#65)
Co-authored-by: Kherel <kherel@gmail.com>
Reviewed-on: https://git.selfprivacy.org/kherel/selfprivacy.org.app/pulls/65
Co-authored-by: kherel <kherel@gmail.com>
Co-committed-by: kherel <kherel@gmail.com>
2021-09-29 16:08:19 +03:00
Kherel d0023e5718 update 2021-09-15 15:15:54 +02:00
Kherel 90d64d8f51 update 2021-09-02 21:32:07 +02:00
Kherel 26607251d9 update 2021-08-29 17:02:51 +02:00
Kherel 84e9259ec2 update 2021-08-29 15:54:28 +02:00
Kherel 94a0e22b15 update 2021-08-29 11:50:24 +02:00
Kherel 1202e4ad53 change password generator 2021-08-18 11:36:40 +02:00
Kherel Kechil f53ad044c1 finish 2021-07-29 07:24:42 +02:00
Kherel 21611e63c7 commit 2021-06-20 23:08:52 +02:00
Kherel 9e8fdf2965 update 2021-06-08 20:52:44 +02:00
Kherel e5758aa2bf fix 2021-05-17 14:40:06 +02:00
Kherel d4f315214b add reverse-dns 2021-05-17 14:38:38 +02:00
Kherel 5b83b493f4 fix 2021-04-20 13:44:33 +02:00
ilchub 695c91cba7 Changed infect script source from 'preproduction' to 'master' 2021-04-16 02:22:56 +03:00
Kherel cd49f9fb45 add charts 2021-04-10 05:04:23 +02:00
Illia Chub e4d5a4e01f Removed debug information 2021-04-01 16:03:04 +03:00
Illia Chub 10aeb6ba30 Incremented version number 2021-04-01 15:19:20 +03:00
Kherel 29b08b111a update 2021-03-31 16:33:58 +02:00
Kherel aabad65698 update 2021-03-31 13:37:39 +02:00
Kherel ae3ec309cb add volume 2021-03-30 19:38:40 +02:00
Kherel 804147b8d6 update 2021-03-26 14:38:39 +01:00
Kherel bc6c55b528 change http client 2021-03-26 00:30:34 +01:00
Kherel 20cca91e00 before change api_client 2021-03-25 21:09:56 +01:00
Kherel 3c683bef63 fix 2021-03-25 09:32:00 +01:00
Kherel bb6de7ff67 update 2021-03-23 20:50:11 +01:00
Kherel 481a6e3d47 update 2021-03-23 20:21:42 +01:00
Kherel 10fdb019ff update 2021-03-18 13:24:30 +01:00
Kherel 0ec549042c update 2021-03-15 16:39:44 +01:00
Kherel 0f35400eaa update 2021-02-17 15:30:02 +01:00
Illia Chub b469fdeda7 Added database password reference 2021-02-17 13:36:20 +02:00
Kherel 20166647ea update 2021-02-15 19:58:29 +01:00
Kherel a07a7247f5 update 2021-02-03 21:26:38 +01:00
Kherel 25a386d511 update 2021-02-03 20:51:07 +01:00
Kherel 3de01fe12b push 2021-02-02 19:24:56 +01:00
Kherel 9fe307b7e7 update 2021-01-27 19:33:00 +01:00
Kherel 0a99be6103 add vpn 2021-01-27 09:33:26 +01:00
Kherel 80213abf9b update 2021-01-21 22:01:42 +01:00
Kherel 7de50dd237 update 2021-01-21 08:35:38 +01:00
Kherel 21215685dd update 2021-01-19 13:05:40 +01:00
Kherel 4bfc3058a5 update 2021-01-19 09:38:02 +01:00
Kherel c7d45fbf76 update 2021-01-18 11:21:55 +01:00
Kherel 78e5e11f0d fix 2021-01-18 10:40:52 +01:00
Kherel a77c11f06c fix 2021-01-18 10:40:14 +01:00
Kherel 0c9dabc5cb Add response data in logger message 2021-01-18 10:38:21 +01:00
Kherel 08df778346 update 2021-01-15 13:24:09 +01:00
Kherel 5e13112486 update 2021-01-14 22:48:05 +01:00
Kherel cf6e0b3495 add error observer 2021-01-13 17:45:46 +01:00
Kherel a8262229c0 update 2021-01-08 13:37:28 +01:00
Kherel 0ed5fbdd2e update 2021-01-06 20:25:53 +01:00
Kherel 9a749cf006 update 2021-01-06 18:35:57 +01:00