syntax = "proto3";

package pagerino.user;
option go_package = "server/app_comm/api/user;api_user";

import "google/protobuf/timestamp.proto";
import "common.proto";


message Password {
  string password = 1;
}

message UserAllInfo { // Meta not included!
  string name = 1;
  string password = 2;

  int32 role_id = 3;
  google.protobuf.Timestamp last_online = 4;
}

message UserBaseInfo {
  string name = 1;
  int32 role_id = 2;
  google.protobuf.Timestamp last_online = 3;
}


service UserService {
  // === DB information
  rpc GetAll(common.StrIndex) returns (UserAllInfo);
  rpc GetInfo(common.StrIndex) returns (UserBaseInfo);
  rpc GetPassword(common.StrIndex) returns (Password);
  
  // References
  rpc GetRoleId(common.StrIndex) returns (common.Reference);
  rpc GetDeviceIds(common.StrIndex) returns (common.References);
  rpc GetLogs(common.StrIndex) returns (common.References);
  
  // Common
  rpc GetActivity(common.StrIndex) returns (common.Activity);
  rpc GetMeta(common.StrIndex) returns (common.Meta);
}
