src.dualinventive.com/go/users-service/grpc/users_service.proto

62 lines
1011 B
Protocol Buffer

syntax = "proto3";
package usersservice;
option go_package = "grpc";
service UserService {
rpc GetUserByID (GetUserByIDRequest) returns (GetUserByIDResponse);
rpc ListUsers (ListUsersRequest) returns (ListUsersResponse);
}
message GetUserByIDRequest {
uint64 userID = 1;
}
message GetUserByIDResponse {
User user = 1;
}
message ListUsersRequest {
UsersFilter filter = 1;
uint64 page = 2;
uint64 per_page = 3;
enum SortCol {
ID_ASC = 0;
ID_DESC = 1;
NAME_ASC = 2;
NAME_DESC = 3;
}
SortCol sort = 4;
}
message ListUsersResponse {
repeated User users = 1;
uint64 count = 2;
}
message Empty {}
message User {
uint64 userID = 1;
string userName = 2;
string firstName = 3;
string lastName = 4;
Company company = 5;
repeated Role roles = 6;
string reference = 7;
}
message Company {
int64 id = 1;
string name = 2;
string code = 3;
}
message Role {
string name = 1;
repeated string rights = 2;
}
message UsersFilter {
string reference = 1;
}