syntax = "proto3";
package raidian;
// Authentication and user profile messages.
// Used by all clients: yuxu-cli, Zed (yuxu_panel), Logos (planned).
message RegisterRequest {
string username = 1;
string email = 2;
string password = 3;
string display_name = 4;
}
message LoginRequest {
string username_or_email = 1;
string password = 2;
}
message AuthResponse {
string token = 1;
UserProfile user = 2;
}
message UserProfile {
string id = 1;
string username = 2;
string email = 3;
string display_name = 4;
string avatar_url = 5;
string bio = 6;
bool is_admin = 7;
int64 created_at = 8;
int64 updated_at = 9;
}
message UpdateProfileRequest {
optional string display_name = 1;
optional string bio = 2;
optional string avatar_url = 3;
}