NaiJi
57d82d0f7a
refactor(server-api): Move provider name from hardcode string to a polymorphic variable
...
- Rename 'digital-ocean' to 'digitalocean'
2022-10-29 12:03:43 +04:00
NaiJi
68811efc1e
refactor(server-api): Generalize and unify api response objects
...
- Separate response success from business logic operation success
- Remove ApiResponse, replace with GenericResult
- Make GenericMutationResult inherit GenericResult
- Add generic error message for when a response couldn't be sent or received
2022-10-28 12:20:09 +04:00
NaiJi
0dc0ba215a
fix(digital-ocean): Adjust droplet data preparations according to API notation
2022-10-27 20:01:22 +04:00
NaiJi
4aa6caed65
chore: Merge master into digital-ocean
2022-10-27 17:05:41 +04:00
NaiJi
7c61d9a787
chore: Generate build runner models
2022-10-27 16:15:35 +04:00
NaiJi
ed37775510
chore: Merge master into digital-ocean
2022-10-26 21:27:22 +04:00
inexcode
88bcdcff39
chore(server-api): Deprecate getDkim
...
Server API now aware of all required DNS records. More general approach to handle DNS records is required in the future.
2022-10-26 20:24:00 +03:00
inexcode
1845bea361
chore(server-api): Deprecate ApiResponse
...
ApiResponse is a wrapper for REST API responses, which is removed. Our code, however, depends on this interface. This dependency must be removed.
2022-10-26 19:53:25 +03:00
NaiJi
34b8bf5b07
chore: Merge master into graphql
2022-10-26 20:45:28 +04:00
NaiJi
93c58323b2
chore: Merge master into digital-ocean
2022-10-26 20:41:45 +04:00
NaiJi
aa3dee585b
chore(dart): Fix warnings that appeared at Dart 2.18 SDK
2022-10-26 20:26:09 +04:00
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