GODT-2003: introduces 3 phases user state (SignedOut/Locked/Connected)

WIP: introduced UserState enum in GUI and implemented logic.
This commit is contained in:
Xavier Michelon
2022-11-15 17:24:54 +01:00
parent 49b3c18903
commit e087a7972e
27 changed files with 1516 additions and 1276 deletions

File diff suppressed because it is too large Load Diff

View File

@ -173,13 +173,19 @@ message AvailableKeychainsResponse {
}
//**********************************************************
// Cache on disk related messages
// user related messages
//**********************************************************
enum UserState {
SIGNED_OUT = 0;
LOCKED = 1;
CONNECTED = 2;
}
message User {
string id = 1;
string username = 2;
string avatarText = 3;
bool loggedIn = 4;
UserState state = 4;
bool splitMode = 5;
bool setupGuideSeen = 6;
int64 usedBytes = 7;

View File

@ -8,7 +8,6 @@ package grpc
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"

View File

@ -64,7 +64,7 @@ func grpcUserFromInfo(user bridge.UserInfo) *User {
Id: user.UserID,
Username: user.Username,
AvatarText: getInitials(user.Username),
LoggedIn: user.Connected,
State: userStateToGrpc(user.State),
SplitMode: user.AddressMode == vault.SplitMode,
SetupGuideSeen: true, // users listed have already seen the setup guide.
UsedBytes: int64(user.UsedSpace),
@ -74,6 +74,19 @@ func grpcUserFromInfo(user bridge.UserInfo) *User {
}
}
func userStateToGrpc(state bridge.UserState) UserState {
switch state {
case bridge.SignedOut:
return UserState_SIGNED_OUT
case bridge.Locked:
return UserState_LOCKED
case bridge.Connected:
return UserState_CONNECTED
default:
panic("Unknown user state")
}
}
// logrusLevelFromGrpcLevel converts a gRPC log level to a logrus log level.
func logrusLevelFromGrpcLevel(level LogLevel) logrus.Level {
switch level {