62 lines
1011 B
Protocol Buffer
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;
|
|
}
|