syntax = "proto3"; package user; option go_package = "./proto;userpb"; message LoginRequest { string username = 1; string password = 2; } message LoginResponse { string token = 1; UserInfo user_info = 2; } message RegisterRequest { string username = 1; string password = 2; string email = 3; } message RegisterResponse { bool success = 1; string message = 2; UserInfo user_info = 3; } message UserInfo { string id = 1; string username = 2; string email = 3; } message TokenRequest { string token = 1; } message ValidateResponse { bool valid = 1; UserInfo user_info = 2; } service UserService { rpc Login(LoginRequest) returns (LoginResponse); rpc Register(RegisterRequest) returns (RegisterResponse); rpc ValidateToken(TokenRequest) returns (ValidateResponse); }