syntax = "proto3"; package database; service DatabaseService { rpc GetUser(GetUserRequest) returns (GetUserResponse); rpc CreateUser(CreateUserRequest) returns (CreateUserResponse); rpc GetUserByUsername(GetUserByUsernameRequest) returns (GetUserResponse); rpc GetUserByEmail(GetUserByEmailRequest) returns (GetUserResponse); } message GetUserRequest { int32 user_id = 1; } message GetUserByUsernameRequest { string username = 1; } message GetUserByEmailRequest { string email = 1; } message GetUserResponse { int32 user_id = 1; string username = 2; string email = 3; string hashed_password = 4; repeated string roles = 5; } message CreateUserRequest { string username = 1; string email = 2; string hashed_password = 3; } message CreateUserResponse { int32 user_id = 1; }