NaiJi
ef04b5bf57
chore: Implement server installation on businness logic layer for hetzner
2023-02-22 21:03:58 +04:00
NaiJi
8da7341ccb
chore: Implement basics of hetzner installation logic
2023-02-21 13:11:04 +04:00
NaiJi
bad6926567
chore: Continue refactoring
...
- Rename APIGenericResult to GenericResult
- Wrap all provider functions results with GenericResult
- Move basic server commands and getters to business logic layer from API on Hetzner
2023-02-13 18:13:32 +04:00
NaiJi
efe4f620ee
chore: Transfer some methords from api to provider
2023-02-07 20:51:15 +04:00
NaiJi
a270f3dfbb
feat: Implement general server provider and its factory
2023-01-30 19:44:52 +04:00
NaiJi
14263083a5
feat: Implement server recovery for different dns providers
2023-01-17 18:33:25 +04:00
NaiJi
08cd59a709
feat: Implement DNS_PROVIDER_TYPE variable for infecting server
2023-01-17 17:29:15 +04:00
NaiJi
3b962c5f5a
feat: Adapt Desired DNS Records checking for Digital Ocean
2023-01-11 22:01:46 +04:00
NaiJi
9184a9db5d
feat: Implement DnsProvider loaging
2023-01-05 14:12:59 +04:00
NaiJi
2980887333
feat: Add DNS provider selection page
...
Upload cloudflare svg
2023-01-04 14:42:22 +04:00
NaiJi
6767b679a0
chore: Merge master into digital-ocean-dns
2023-01-03 13:00:01 +04:00
Inex Code
b007fec75b
refactor(initializing): Refresh the server istallation UI
2022-12-31 07:16:10 +03:00
NaiJi
e560de58e7
feat: Implement DNS provider picker page
2022-12-30 07:25:18 +04:00
NaiJi
41dc77103f
feat: Implement error handling on server deletion
...
Notify users when errors occured and handle application state accordingly
2022-12-22 22:56:58 +04:00
NaiJi
8922551239
Merge branch 'master' into digital-ocean-dns
2022-12-21 13:47:25 +04:00
NaiJi
18d3039dc4
chore: Create infrastructure for Digital Ocean DNS provider
...
Also rename hardcoded cloudflare names from backend
2022-12-17 14:26:19 +04:00
NaiJi
7847839ea6
feat: Enable server provider logging
2022-12-15 15:42:21 +04:00
NaiJi
d7318ed2e4
fix: Make recovery by API token endpoint expect GraphQL token
...
We pass GraphQL token, but at the same time we did not use it and tried to authorize without token...
2022-12-13 08:15:32 +04:00
NaiJi
b5133aa2a6
fix: Remove breaking installation changes
2022-12-02 23:06:57 +04:00
NaiJi
e0b32404be
refactor: Implement better error handling on create server stage
...
Replace try-catch hell with APIGenericResult chain
2022-12-02 22:40:08 +04:00
NaiJi
29b0bf2397
fix: Fix some initializing errors
...
Correct progress index calculation and hardcore cloudflare loading until new providers for DNS are supported
2022-11-30 19:05:21 +04:00
NaiJi
65f5d987e2
feat: Implement error handling for server installation
...
Now user gets notified when connection error occurs
2022-11-29 19:21:36 +04:00
NaiJi
1dfd2180d2
feat: Implement distinction for connection errors on storage page
...
Now user gets notified when connection error occurs
2022-11-29 15:28:09 +04:00
NaiJi
e62e8bf916
feat: Implement distinction for connection errors on dns provider page
...
Now user gets notified when connection error occurs
2022-11-28 23:55:37 +04:00
NaiJi
1df5f6594d
feat: Implement distinction for connection errors on server type page
...
Now user gets notified when connection error occurs
2022-11-28 23:11:08 +04:00
NaiJi
bd33b8d679
feat: Implement distinction for connection errors on initialing page
...
Now it's 'false' when api token is invalid and null response if couldn't connect at all, to show different kinds of errors to the user
2022-11-28 22:51:37 +04:00
NaiJi
58c9e00ce0
fix(recovery): Add reverse dns validation for digital ocean
...
In Digital Ocean reverse dns is not domain name but just name, like mydomainname instead of mydomainname.xyz, so we need additional condition
2022-11-20 18:31:31 +04:00
NaiJi
b53bb6d4dd
refactor: Remove 'unused' warnings
2022-11-18 11:33:28 +04:00
NaiJi
b26e22cd4e
fix: Check on null for server type identifier
...
It is not needed to finish installation so it's okat if it's empty
2022-11-18 11:30:50 +04:00
NaiJi
0c4da8eb9f
refactor: Move all API factories into encapsulated static class
...
Because it's very hard to track all different provider factories created in different cubits, if users reset application config the previous factories stayed unchanged which would lead to unexpected behavior
2022-11-18 09:49:04 +04:00
NaiJi
268816385f
fix(recovery): Fix custom api token on recovering provider type
2022-11-18 05:19:54 +04:00
NaiJi
51dc4c67b2
feat(recovery): Implement access recovery routing for server providers
2022-11-17 11:14:34 +04:00
NaiJi
0234278c2c
refactor: Rename server.dart to server_api.dart
...
Because the class is called ServerApi, not just Server, it's totally not consistent with all other apis
2022-11-16 04:24:40 +04:00
NaiJi
a7cbde663e
refactor(server-api): Generalize and encapsulate server metrics endpoints
2022-11-12 22:11:14 +04:00
NaiJi
10bdd4c800
refactor(server-api): Make general server info polymorphic
...
Removing Hetzner type hardcode from server page and replacing it with generic String-based metadata container
2022-11-11 07:32:01 +04:00
NaiJi
cdc47ecdb3
refactor(ui): Move all pop up dialogs into general utils function
...
To not import get_it everywhere and encapsulate all the related dirt into utils.
2022-11-09 22:43:05 +04:00
NaiJi
59d186a8af
fix(volume): Change raw int to DiskSize object in volume endpoints
...
We already have an abstraction for size, there is no need to pass size value as raw numeric variables
2022-11-04 16:19:39 +04:00
NaiJi
8c053f50b0
chore: Merge master into digital-ocean
2022-11-02 18:45:36 +04:00
NaiJi
86b80156fd
refactor: Generalize DKIM usage into DnsRecords
...
- Replace raw DKIM String object with a general DnsRecord structure
- Implement network utils for common operations with networking concepts and structures
- Implement initializing page pop up to re-try server deployment in case of a random networking error
2022-10-30 18:23:47 +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
ed37775510
chore: Merge master into digital-ocean
2022-10-26 21:27:22 +04: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
5ddbfcb342
chore: Merge master into digital-ocean
2022-10-25 12:22:34 +04:00
NaiJi
c487f16194
chore: Merge master into graphql
2022-10-25 12:17:33 +04:00
NaiJi
20e4d9565b
fix(assets): Fix broken strings for network domain elements
2022-10-24 16:19:39 +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
b574659dc3
fix(initializing): Implement store and load of server provider from BNames
2022-10-21 08:34:36 +04:00
NaiJi
7223b0e614
fix(initialization): Add missing setup progress step
2022-10-21 06:38:49 +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
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
72760e7980
feat(initializing): Implement server type selection for initialization page
2022-10-15 21:51:37 +00:00
NaiJi
fe820ef5be
feat(initializing): Implement location selection step for initializing page
2022-10-15 19:49:31 +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
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
465af52350
Merge branch 'master' into validations
2022-10-08 19:18:33 +00:00
NaiJi
c4f3b76414
fix(validations): Make validations and errors text more specific
2022-10-08 16:41:19 +00:00
NaiJi
7bad11967a
refactor(job): Implement polymorphic predicate for job accessibility
...
Now every job type can impement canAddTo function to make JobsCubit know whether it can be applied or not
2022-10-07 17:50:18 +00:00
NaiJi
db2f5c1342
fix(job): Fix server settings toogles not creating upgrade server job
2022-10-07 16:36:17 +00:00
NaiJi
26466bb8d5
refactor(job): Force services to always reload after jobs execution
2022-10-06 19:45:25 +00:00
NaiJi
d0be867aa6
refactor(job): Make jobs execution polymorphic instead of relied on plain switch
2022-10-06 19:16:07 +00:00
NaiJi
699e2f676f
refactor(service): Get rid of legacy common enums
2022-10-05 01:41:48 +03:00
NaiJi
d36c8e987d
Completely refactor language asset files
2022-10-04 02:32:35 +03:00
Inex Code
ad55b204cf
Fix jobs screen failing to draw when no jobs
2022-09-20 12:42:20 +03:00
Inex Code
0425ea8ab8
Add a button to remove all removable server jobs
2022-09-19 03:42:00 +03:00
Inex Code
10891881ae
Service migrations
2022-09-19 03:21:08 +03:00
NaiJi
d6d7a0dcb6
Implement rebuild server job for settings page
2022-09-19 03:00:40 +03:00
NaiJi
fe95f5e5d3
Add props into provider job state
2022-09-19 02:13:25 +03:00
Inex Code
2a4c691f1e
Pre-release testing bug fixes
2022-09-19 01:11:26 +03:00
Inex Code
900e07f364
Implement user password reset
2022-09-18 23:25:26 +03:00
Inex Code
e330878e6d
Allow removing completed and failed server jobs
2022-09-18 23:12:09 +03:00
NaiJi
34d635c2c5
Add delay between provider and server storage resizing calls
2022-09-18 19:35:16 +03:00
NaiJi
d9b82b1250
Implement volume extending button
2022-09-18 19:26:55 +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
Inex Code
c84d16d8b7
Move files related to storage
2022-09-16 16:49:53 +03:00
Inex Code
ae0295d959
Add storage usage to service screen, formatting
2022-09-16 16:36:51 +03:00
Inex Code
641e329725
Move DiskStatus to the server volume cubit
2022-09-16 14:28:17 +03:00
NaiJi
4a4fa35de3
Remove setTimezone from ServerDetailedInfo cubit
2022-09-16 11:11:03 +03:00
Inex Code
d75c2837ca
Catch error on metrics loading from Hetzner
2022-09-16 11:08:45 +03:00
NaiJi
e3d7f2b3d7
Fix ServerDetailsCubit exception
2022-09-16 11:06:27 +03:00
Inex Code
a7248a9b30
Remove unnecessary logging
2022-09-16 10:50:21 +03:00
Inex Code
36cbc8e89b
Catch StateError on server_detailed_info_cubit.dart
2022-09-16 10:50:05 +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
ef7d906504
Catch Hetzner metrics trying to emit when closed and disable logging.
2022-09-09 17:58:01 +03:00
NaiJi
e4bb35d5d8
Catch cloudflare exceptions
2022-09-09 12:14:37 +03:00
inexcode
981b9865cd
Fix users not changing SSH keys and remove SSH keys screen
2022-09-08 18:13:18 +03:00
Inex Code
6f5ffa0f80
Make DiskSize a constant constructor and fix slider on Volume resize screen
2022-09-06 13:27:27 +03:00
NaiJi
8d2fbb5100
Implement service page enabling/disabling and service restart
2022-09-06 13:25:28 +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
NaiJi
88a1393a1d
Move disk status converting to disk status constructor
2022-09-02 09:06:10 +03:00
NaiJi
a693f694ac
Add endpoints for migration checking
2022-09-02 08:59:46 +03:00
NaiJi
503c8d37ea
Implement server jobs cubit
2022-08-30 06:09:09 +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
NaiJi
b48017508a
Fix ProviderVolume cubit exception
2022-08-29 19:37:31 +03:00
NaiJi
d934a6a9cb
Refactor graphql api, separate by logic
2022-08-26 22:28:01 +03:00
NaiJi
6014e385bc
Implement ServerJobCard
2022-08-26 05:34:25 +03:00
NaiJi
37d5ee9913
Implement ServerJob cubit
2022-08-25 02:45:02 +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
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
Inex Code
4afd40f5da
Merge branch 'develop' into naiji-dev
2022-06-23 12:11:59 +03:00
NaiJi
7e2319bf21
Force domain to lowercase on recovery pages
2022-06-22 22:42:38 +03:00
NaiJi
0feb9bc299
Return to main page on backbutton press for some recovery pages
2022-06-15 07:58:02 +03:00
NaiJi
6a22e2db6f
Fix revert routing errors
2022-06-15 06:23:54 +03:00
NaiJi
313cfc7187
Bug fix error processing for installation cubits
2022-06-15 04:55:45 +03:00
Inex Code
18d0c2c40f
Bug fixes and linting
2022-06-10 00:13:06 +03:00
Inex Code
3c3cb376e2
Fix null check on DNS check
2022-06-09 19:15:53 +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
7810c2a279
Fix recovery flow
2022-05-31 17:30:35 +03:00
Inex Code
8ec3b8c3e3
Finish recovery key screen
2022-05-31 02:06:08 +03:00
NaiJi
ead19d2210
Finish recovery key workflow and pages
...
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-30 16:55:52 +03:00
NaiJi
72ef16c6f6
Implement recovery key pages and device cubit
...
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-26 04:02:06 +03:00
NaiJi
5dcaa060a1
Linting
...
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-25 15:21:56 +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
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
NaiJi
6fd7f9400d
Implement recovery by old token pages with mock .md
...
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
2022-05-19 17:26:57 +03:00
NaiJi
d8568fc82f
Merge branch 'flutter-3' into naiji-dev
2022-05-19 12:09:31 +03:00