syntax = "proto3"; package user; option go_package = "./user"; message User { string id = 1; string name = 2; string email = 3; string password = 4; } message CreateUserRequest { string name = 1; string email = 2; string password = 3; } message CreateUserResponse { User user = 1; } message GetUserRequest { string id = 1; } message GetUserResponse { User user = 1; } message ListUsersRequest { } message ListUsersResponse { repeated User users = 1; } message UpdateUserRequest { string id = 1; string name = 2; string email = 3; string password = 4; } message UpdateUserResponse { User user = 1; } message DeleteUserRequest { string id = 1; } message DeleteUserResponse { bool success = 1; } service UserService { rpc CreateUser(CreateUserRequest) returns (CreateUserResponse); rpc GetUser(GetUserRequest) returns (GetUserResponse); rpc ListUsers(ListUsersRequest) returns (ListUsersResponse); rpc UpdateUser(UpdateUserRequest) returns (UpdateUserResponse); rpc DeleteUser(DeleteUserRequest) returns (DeleteUserResponse); }