diff --git a/DysonNetwork.Shared/Protos/account.proto b/DysonNetwork.Shared/Protos/account.proto index 7cb6696..d06d957 100644 --- a/DysonNetwork.Shared/Protos/account.proto +++ b/DysonNetwork.Shared/Protos/account.proto @@ -3,26 +3,49 @@ syntax = "proto3"; package dyson_network.sphere.account; import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; option csharp_namespace = "DysonNetwork.Sphere.Account.Proto"; service AccountService { - // Retrieves the current user's account information rpc GetAccount(google.protobuf.Empty) returns (AccountResponse); - - // Updates the current user's account information rpc UpdateAccount(UpdateAccountRequest) returns (AccountResponse); } message AccountResponse { string id = 1; - string username = 2; - string email = 3; - string display_name = 4; + string name = 2; + string nick = 3; + string language = 4; + google.protobuf.Timestamp activated_at = 5; + bool is_superuser = 6; + Profile profile = 7; +} + +message Profile { + string first_name = 1; + string last_name = 2; + string bio = 3; + string gender = 4; + string pronouns = 5; + string time_zone = 6; + string location = 7; + google.protobuf.Timestamp birthday = 8; + google.protobuf.Timestamp last_seen_at = 9; + int32 experience = 10; + int32 level = 11; + double leveling_progress = 12; } message UpdateAccountRequest { - // Fields to update - optional string email = 1; - optional string display_name = 2; + optional string nick = 1; + optional string language = 2; + optional string first_name = 3; + optional string last_name = 4; + optional string bio = 5; + optional string gender = 6; + optional string pronouns = 7; + optional string time_zone = 8; + optional string location = 9; + optional google.protobuf.Timestamp birthday = 10; } diff --git a/DysonNetwork.Shared/Protos/auth.proto b/DysonNetwork.Shared/Protos/auth.proto index a119e41..c81050a 100644 --- a/DysonNetwork.Shared/Protos/auth.proto +++ b/DysonNetwork.Shared/Protos/auth.proto @@ -8,21 +8,15 @@ import "google/protobuf/timestamp.proto"; option csharp_namespace = "DysonNetwork.Sphere.Auth.Proto"; service AuthService { - // Standard username/password login rpc Login(LoginRequest) returns (LoginResponse); - - // Introspects an OAuth 2.0 access token. rpc IntrospectToken(IntrospectTokenRequest) returns (IntrospectionResponse); - - // Logs out the current session rpc Logout(google.protobuf.Empty) returns (google.protobuf.Empty); } message LoginRequest { string username = 1; string password = 2; - // Optional: for 2FA - string two_factor_code = 3; + optional string two_factor_code = 3; } message LoginResponse { @@ -33,23 +27,43 @@ message LoginResponse { message IntrospectTokenRequest { string token = 1; - // Optional: token_type_hint can be "access_token" or "refresh_token" - string token_type_hint = 2; + optional string token_type_hint = 2; } message IntrospectionResponse { - // Indicates whether or not the token is currently active. bool active = 1; - // A JSON string containing the claims of the token. string claims = 2; - // The client identifier for the OAuth 2.0 client that requested the token. string client_id = 3; - // The username of the resource owner who authorized the token. string username = 4; - // The scope of the access token. string scope = 5; - // The time at which the token was issued. google.protobuf.Timestamp iat = 6; - // The time at which the token expires. google.protobuf.Timestamp exp = 7; } + +message Session { + string id = 1; + string label = 2; + google.protobuf.Timestamp last_granted_at = 3; + google.protobuf.Timestamp expired_at = 4; + string account_id = 5; + string challenge_id = 6; + optional string app_id = 7; +} + +message Challenge { + string id = 1; + google.protobuf.Timestamp expired_at = 2; + int32 step_remain = 3; + int32 step_total = 4; + int32 failed_attempts = 5; + string platform = 6; + string type = 7; + repeated string blacklist_factors = 8; + repeated string audiences = 9; + repeated string scopes = 10; + string ip_address = 11; + string user_agent = 12; + optional string device_id = 13; + optional string nonce = 14; + string account_id = 15; +}