jr-common-micro 1.1.103 → 1.1.105

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -349,6 +349,7 @@ export interface AdminUserItem {
349
349
  referred_by: string;
350
350
  risk_score: number;
351
351
  referred_by_username: string;
352
+ status_at: string;
352
353
  }
353
354
  export interface AdminUsersResponse {
354
355
  status: ResponseStatus | undefined;
@@ -377,6 +378,16 @@ export interface AdminUserResponse {
377
378
  pending_total: string;
378
379
  total_received_gifts: string;
379
380
  risk?: AdminRiskFlag | undefined;
381
+ state?: MiningState | undefined;
382
+ tasks: TaskInfo[];
383
+ sessions: SessionInfo[];
384
+ team_seats: AdminTeamSeat[];
385
+ }
386
+ export interface AdminTeamSeat {
387
+ owner_id: string;
388
+ owner_username: string;
389
+ active_from: string;
390
+ active_until: string;
380
391
  }
381
392
  export interface AdminRiskSignal {
382
393
  key: string;
@@ -415,13 +426,24 @@ export interface AdminModerateRequest {
415
426
  note: string;
416
427
  cascade_invitees: boolean;
417
428
  }
429
+ export interface AdminDeviceClustersRequest {
430
+ state: string;
431
+ page: number;
432
+ per_page: number;
433
+ }
418
434
  export interface AdminDeviceCluster {
419
435
  device: string;
420
436
  users: AdminUserItem[];
437
+ accounts: number;
438
+ undecided: number;
439
+ last_decided_at: string;
421
440
  }
422
441
  export interface AdminDeviceClustersResponse {
423
442
  status: ResponseStatus | undefined;
424
443
  data: AdminDeviceCluster[];
444
+ total: number;
445
+ open_total: number;
446
+ reviewed_total: number;
425
447
  }
426
448
  export interface AdminSetTaskRequest {
427
449
  id: string;
@@ -702,6 +702,7 @@ export declare class AdminUserItem extends Message<AdminUserItem> {
702
702
  referredBy: string;
703
703
  riskScore: number;
704
704
  referredByUsername: string;
705
+ statusAt: string;
705
706
  constructor(data?: PartialMessage<AdminUserItem>);
706
707
  static readonly runtime: typeof proto3;
707
708
  static readonly typeName = "micro.v1.mining.AdminUserItem";
@@ -754,6 +755,10 @@ export declare class AdminUserResponse extends Message<AdminUserResponse> {
754
755
  pendingTotal: string;
755
756
  totalReceivedGifts: string;
756
757
  risk?: AdminRiskFlag;
758
+ state?: MiningState;
759
+ tasks: TaskInfo[];
760
+ sessions: SessionInfo[];
761
+ teamSeats: AdminTeamSeat[];
757
762
  constructor(data?: PartialMessage<AdminUserResponse>);
758
763
  static readonly runtime: typeof proto3;
759
764
  static readonly typeName = "micro.v1.mining.AdminUserResponse";
@@ -763,6 +768,20 @@ export declare class AdminUserResponse extends Message<AdminUserResponse> {
763
768
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AdminUserResponse;
764
769
  static equals(a: AdminUserResponse | PlainMessage<AdminUserResponse> | undefined, b: AdminUserResponse | PlainMessage<AdminUserResponse> | undefined): boolean;
765
770
  }
771
+ export declare class AdminTeamSeat extends Message<AdminTeamSeat> {
772
+ ownerId: string;
773
+ ownerUsername: string;
774
+ activeFrom: string;
775
+ activeUntil: string;
776
+ constructor(data?: PartialMessage<AdminTeamSeat>);
777
+ static readonly runtime: typeof proto3;
778
+ static readonly typeName = "micro.v1.mining.AdminTeamSeat";
779
+ static readonly fields: FieldList;
780
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AdminTeamSeat;
781
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AdminTeamSeat;
782
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AdminTeamSeat;
783
+ static equals(a: AdminTeamSeat | PlainMessage<AdminTeamSeat> | undefined, b: AdminTeamSeat | PlainMessage<AdminTeamSeat> | undefined): boolean;
784
+ }
766
785
  export declare class AdminRiskSignal extends Message<AdminRiskSignal> {
767
786
  key: string;
768
787
  count: number;
@@ -848,9 +867,25 @@ export declare class AdminModerateRequest extends Message<AdminModerateRequest>
848
867
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AdminModerateRequest;
849
868
  static equals(a: AdminModerateRequest | PlainMessage<AdminModerateRequest> | undefined, b: AdminModerateRequest | PlainMessage<AdminModerateRequest> | undefined): boolean;
850
869
  }
870
+ export declare class AdminDeviceClustersRequest extends Message<AdminDeviceClustersRequest> {
871
+ state: string;
872
+ page: number;
873
+ perPage: number;
874
+ constructor(data?: PartialMessage<AdminDeviceClustersRequest>);
875
+ static readonly runtime: typeof proto3;
876
+ static readonly typeName = "micro.v1.mining.AdminDeviceClustersRequest";
877
+ static readonly fields: FieldList;
878
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AdminDeviceClustersRequest;
879
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AdminDeviceClustersRequest;
880
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AdminDeviceClustersRequest;
881
+ static equals(a: AdminDeviceClustersRequest | PlainMessage<AdminDeviceClustersRequest> | undefined, b: AdminDeviceClustersRequest | PlainMessage<AdminDeviceClustersRequest> | undefined): boolean;
882
+ }
851
883
  export declare class AdminDeviceCluster extends Message<AdminDeviceCluster> {
852
884
  device: string;
853
885
  users: AdminUserItem[];
886
+ accounts: number;
887
+ undecided: number;
888
+ lastDecidedAt: string;
854
889
  constructor(data?: PartialMessage<AdminDeviceCluster>);
855
890
  static readonly runtime: typeof proto3;
856
891
  static readonly typeName = "micro.v1.mining.AdminDeviceCluster";
@@ -863,6 +898,9 @@ export declare class AdminDeviceCluster extends Message<AdminDeviceCluster> {
863
898
  export declare class AdminDeviceClustersResponse extends Message<AdminDeviceClustersResponse> {
864
899
  status?: ResponseStatus;
865
900
  data: AdminDeviceCluster[];
901
+ total: number;
902
+ openTotal: number;
903
+ reviewedTotal: number;
866
904
  constructor(data?: PartialMessage<AdminDeviceClustersResponse>);
867
905
  static readonly runtime: typeof proto3;
868
906
  static readonly typeName = "micro.v1.mining.AdminDeviceClustersResponse";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AdminRiskFlag = exports.AdminRiskSignal = exports.AdminUserResponse = exports.AdminActionItem = exports.AdminUsersResponse = exports.AdminUserItem = exports.AdminUsersRequest = exports.AdminTasksResponse = exports.AdminTaskItem = exports.SetParameterRequest = exports.ParametersResponse = exports.ParameterItem = exports.AdminOverviewResponse = exports.AdminTopReferrer = exports.AdminTaskStat = exports.AdminSeries = exports.AdminSeriesPoint = exports.AdminMetric = exports.AdminOverviewRequest = exports.ConfigResponse = exports.ResolveCodeResponse = exports.ResolveCodeRequest = exports.EnrollResponse = exports.EnrollRequest = exports.UpdateSettingsRequest = exports.HistoryResponse = exports.HistoryDay = exports.HistoryItem = exports.HistoryRequest = exports.TeamResponse = exports.SetTeamRequest = exports.ClaimResponse = exports.ReferralListResponse = exports.ReferralListRequest = exports.ReferralItem = exports.TaskEventResponse = exports.TaskEventRequest = exports.TasksResponse = exports.MiningMeResponse = exports.MiningState = exports.MiningSettings = exports.TasksSummary = exports.TaskInfo = exports.TeamInfo = exports.TeamWeek = exports.TeamMember = exports.ReferralInfo = exports.HalvingInfo = exports.RateInfo = exports.SessionInfo = void 0;
4
- exports.AdminSetTaskRequest = exports.AdminDeviceClustersResponse = exports.AdminDeviceCluster = exports.AdminModerateRequest = exports.AdminCreditSource = exports.AdminRiskQueueResponse = exports.AdminRiskQueueRequest = void 0;
3
+ exports.AdminRiskSignal = exports.AdminTeamSeat = exports.AdminUserResponse = exports.AdminActionItem = exports.AdminUsersResponse = exports.AdminUserItem = exports.AdminUsersRequest = exports.AdminTasksResponse = exports.AdminTaskItem = exports.SetParameterRequest = exports.ParametersResponse = exports.ParameterItem = exports.AdminOverviewResponse = exports.AdminTopReferrer = exports.AdminTaskStat = exports.AdminSeries = exports.AdminSeriesPoint = exports.AdminMetric = exports.AdminOverviewRequest = exports.ConfigResponse = exports.ResolveCodeResponse = exports.ResolveCodeRequest = exports.EnrollResponse = exports.EnrollRequest = exports.UpdateSettingsRequest = exports.HistoryResponse = exports.HistoryDay = exports.HistoryItem = exports.HistoryRequest = exports.TeamResponse = exports.SetTeamRequest = exports.ClaimResponse = exports.ReferralListResponse = exports.ReferralListRequest = exports.ReferralItem = exports.TaskEventResponse = exports.TaskEventRequest = exports.TasksResponse = exports.MiningMeResponse = exports.MiningState = exports.MiningSettings = exports.TasksSummary = exports.TaskInfo = exports.TeamInfo = exports.TeamWeek = exports.TeamMember = exports.ReferralInfo = exports.HalvingInfo = exports.RateInfo = exports.SessionInfo = void 0;
4
+ exports.AdminSetTaskRequest = exports.AdminDeviceClustersResponse = exports.AdminDeviceCluster = exports.AdminDeviceClustersRequest = exports.AdminModerateRequest = exports.AdminCreditSource = exports.AdminRiskQueueResponse = exports.AdminRiskQueueRequest = exports.AdminRiskFlag = void 0;
5
5
  const protobuf_1 = require("@bufbuild/protobuf");
6
6
  const general_pb_js_1 = require("../general_pb.js");
7
7
  class SessionInfo extends protobuf_1.Message {
@@ -1517,6 +1517,7 @@ class AdminUserItem extends protobuf_1.Message {
1517
1517
  referredBy = "";
1518
1518
  riskScore = 0;
1519
1519
  referredByUsername = "";
1520
+ statusAt = "";
1520
1521
  constructor(data) {
1521
1522
  super();
1522
1523
  protobuf_1.proto3.util.initPartial(data, this);
@@ -1544,6 +1545,7 @@ class AdminUserItem extends protobuf_1.Message {
1544
1545
  { no: 18, name: "referred_by", kind: "scalar", T: 9 },
1545
1546
  { no: 20, name: "risk_score", kind: "scalar", T: 5 },
1546
1547
  { no: 19, name: "referred_by_username", kind: "scalar", T: 9 },
1548
+ { no: 21, name: "status_at", kind: "scalar", T: 9 },
1547
1549
  ]);
1548
1550
  static fromBinary(bytes, options) {
1549
1551
  return new AdminUserItem().fromBinary(bytes, options);
@@ -1640,6 +1642,10 @@ class AdminUserResponse extends protobuf_1.Message {
1640
1642
  pendingTotal = "";
1641
1643
  totalReceivedGifts = "";
1642
1644
  risk;
1645
+ state;
1646
+ tasks = [];
1647
+ sessions = [];
1648
+ teamSeats = [];
1643
1649
  constructor(data) {
1644
1650
  super();
1645
1651
  protobuf_1.proto3.util.initPartial(data, this);
@@ -1657,6 +1663,10 @@ class AdminUserResponse extends protobuf_1.Message {
1657
1663
  { no: 8, name: "pending_total", kind: "scalar", T: 9 },
1658
1664
  { no: 9, name: "total_received_gifts", kind: "scalar", T: 9 },
1659
1665
  { no: 10, name: "risk", kind: "message", T: AdminRiskFlag, opt: true },
1666
+ { no: 11, name: "state", kind: "message", T: MiningState, opt: true },
1667
+ { no: 12, name: "tasks", kind: "message", T: TaskInfo, repeated: true },
1668
+ { no: 13, name: "sessions", kind: "message", T: SessionInfo, repeated: true },
1669
+ { no: 14, name: "team_seats", kind: "message", T: AdminTeamSeat, repeated: true },
1660
1670
  ]);
1661
1671
  static fromBinary(bytes, options) {
1662
1672
  return new AdminUserResponse().fromBinary(bytes, options);
@@ -1672,6 +1682,37 @@ class AdminUserResponse extends protobuf_1.Message {
1672
1682
  }
1673
1683
  }
1674
1684
  exports.AdminUserResponse = AdminUserResponse;
1685
+ class AdminTeamSeat extends protobuf_1.Message {
1686
+ ownerId = "";
1687
+ ownerUsername = "";
1688
+ activeFrom = "";
1689
+ activeUntil = "";
1690
+ constructor(data) {
1691
+ super();
1692
+ protobuf_1.proto3.util.initPartial(data, this);
1693
+ }
1694
+ static runtime = protobuf_1.proto3;
1695
+ static typeName = "micro.v1.mining.AdminTeamSeat";
1696
+ static fields = protobuf_1.proto3.util.newFieldList(() => [
1697
+ { no: 1, name: "owner_id", kind: "scalar", T: 9 },
1698
+ { no: 2, name: "owner_username", kind: "scalar", T: 9 },
1699
+ { no: 3, name: "active_from", kind: "scalar", T: 9 },
1700
+ { no: 4, name: "active_until", kind: "scalar", T: 9 },
1701
+ ]);
1702
+ static fromBinary(bytes, options) {
1703
+ return new AdminTeamSeat().fromBinary(bytes, options);
1704
+ }
1705
+ static fromJson(jsonValue, options) {
1706
+ return new AdminTeamSeat().fromJson(jsonValue, options);
1707
+ }
1708
+ static fromJsonString(jsonString, options) {
1709
+ return new AdminTeamSeat().fromJsonString(jsonString, options);
1710
+ }
1711
+ static equals(a, b) {
1712
+ return protobuf_1.proto3.util.equals(AdminTeamSeat, a, b);
1713
+ }
1714
+ }
1715
+ exports.AdminTeamSeat = AdminTeamSeat;
1675
1716
  class AdminRiskSignal extends protobuf_1.Message {
1676
1717
  key = "";
1677
1718
  count = 0;
@@ -1860,9 +1901,41 @@ class AdminModerateRequest extends protobuf_1.Message {
1860
1901
  }
1861
1902
  }
1862
1903
  exports.AdminModerateRequest = AdminModerateRequest;
1904
+ class AdminDeviceClustersRequest extends protobuf_1.Message {
1905
+ state = "";
1906
+ page = 0;
1907
+ perPage = 0;
1908
+ constructor(data) {
1909
+ super();
1910
+ protobuf_1.proto3.util.initPartial(data, this);
1911
+ }
1912
+ static runtime = protobuf_1.proto3;
1913
+ static typeName = "micro.v1.mining.AdminDeviceClustersRequest";
1914
+ static fields = protobuf_1.proto3.util.newFieldList(() => [
1915
+ { no: 1, name: "state", kind: "scalar", T: 9 },
1916
+ { no: 2, name: "page", kind: "scalar", T: 5 },
1917
+ { no: 3, name: "per_page", kind: "scalar", T: 5 },
1918
+ ]);
1919
+ static fromBinary(bytes, options) {
1920
+ return new AdminDeviceClustersRequest().fromBinary(bytes, options);
1921
+ }
1922
+ static fromJson(jsonValue, options) {
1923
+ return new AdminDeviceClustersRequest().fromJson(jsonValue, options);
1924
+ }
1925
+ static fromJsonString(jsonString, options) {
1926
+ return new AdminDeviceClustersRequest().fromJsonString(jsonString, options);
1927
+ }
1928
+ static equals(a, b) {
1929
+ return protobuf_1.proto3.util.equals(AdminDeviceClustersRequest, a, b);
1930
+ }
1931
+ }
1932
+ exports.AdminDeviceClustersRequest = AdminDeviceClustersRequest;
1863
1933
  class AdminDeviceCluster extends protobuf_1.Message {
1864
1934
  device = "";
1865
1935
  users = [];
1936
+ accounts = 0;
1937
+ undecided = 0;
1938
+ lastDecidedAt = "";
1866
1939
  constructor(data) {
1867
1940
  super();
1868
1941
  protobuf_1.proto3.util.initPartial(data, this);
@@ -1872,6 +1945,9 @@ class AdminDeviceCluster extends protobuf_1.Message {
1872
1945
  static fields = protobuf_1.proto3.util.newFieldList(() => [
1873
1946
  { no: 1, name: "device", kind: "scalar", T: 9 },
1874
1947
  { no: 2, name: "users", kind: "message", T: AdminUserItem, repeated: true },
1948
+ { no: 3, name: "accounts", kind: "scalar", T: 5 },
1949
+ { no: 4, name: "undecided", kind: "scalar", T: 5 },
1950
+ { no: 5, name: "last_decided_at", kind: "scalar", T: 9 },
1875
1951
  ]);
1876
1952
  static fromBinary(bytes, options) {
1877
1953
  return new AdminDeviceCluster().fromBinary(bytes, options);
@@ -1890,6 +1966,9 @@ exports.AdminDeviceCluster = AdminDeviceCluster;
1890
1966
  class AdminDeviceClustersResponse extends protobuf_1.Message {
1891
1967
  status;
1892
1968
  data = [];
1969
+ total = 0;
1970
+ openTotal = 0;
1971
+ reviewedTotal = 0;
1893
1972
  constructor(data) {
1894
1973
  super();
1895
1974
  protobuf_1.proto3.util.initPartial(data, this);
@@ -1899,6 +1978,9 @@ class AdminDeviceClustersResponse extends protobuf_1.Message {
1899
1978
  static fields = protobuf_1.proto3.util.newFieldList(() => [
1900
1979
  { no: 1, name: "status", kind: "message", T: general_pb_js_1.ResponseStatus },
1901
1980
  { no: 2, name: "data", kind: "message", T: AdminDeviceCluster, repeated: true },
1981
+ { no: 3, name: "total", kind: "scalar", T: 5 },
1982
+ { no: 4, name: "open_total", kind: "scalar", T: 5 },
1983
+ { no: 5, name: "reviewed_total", kind: "scalar", T: 5 },
1902
1984
  ]);
1903
1985
  static fromBinary(bytes, options) {
1904
1986
  return new AdminDeviceClustersResponse().fromBinary(bytes, options);
@@ -1,5 +1,5 @@
1
1
  import { ByIdRequest, EmptyRequest, EmptyResponse } from "../general_pb.js";
2
- import { AdminDeviceClustersResponse, AdminModerateRequest, AdminOverviewRequest, AdminOverviewResponse, AdminRiskQueueRequest, AdminRiskQueueResponse, AdminSetTaskRequest, AdminTasksResponse, AdminUserResponse, AdminUsersRequest, AdminUsersResponse, ClaimResponse, ConfigResponse, EnrollRequest, EnrollResponse, HistoryRequest, HistoryResponse, MiningMeResponse, ParametersResponse, ReferralListRequest, ReferralListResponse, ResolveCodeRequest, ResolveCodeResponse, SetParameterRequest, SetTeamRequest, TaskEventRequest, TaskEventResponse, TasksResponse, TeamResponse, UpdateSettingsRequest } from "./mining_messages_pb.js";
2
+ import { AdminDeviceClustersRequest, AdminDeviceClustersResponse, AdminModerateRequest, AdminOverviewRequest, AdminOverviewResponse, AdminRiskQueueRequest, AdminRiskQueueResponse, AdminSetTaskRequest, AdminTasksResponse, AdminUserResponse, AdminUsersRequest, AdminUsersResponse, ClaimResponse, ConfigResponse, EnrollRequest, EnrollResponse, HistoryRequest, HistoryResponse, MiningMeResponse, ParametersResponse, ReferralListRequest, ReferralListResponse, ResolveCodeRequest, ResolveCodeResponse, SetParameterRequest, SetTeamRequest, TaskEventRequest, TaskEventResponse, TasksResponse, TeamResponse, UpdateSettingsRequest } from "./mining_messages_pb.js";
3
3
  import { MethodKind } from "@bufbuild/protobuf";
4
4
  export declare const PMiningService: {
5
5
  readonly typeName: "micro.v1.mining.PMiningService";
@@ -144,7 +144,7 @@ export declare const PMiningService: {
144
144
  };
145
145
  readonly adminDeviceClusters: {
146
146
  readonly name: "AdminDeviceClusters";
147
- readonly I: typeof EmptyRequest;
147
+ readonly I: typeof AdminDeviceClustersRequest;
148
148
  readonly O: typeof AdminDeviceClustersResponse;
149
149
  readonly kind: MethodKind.ServerStreaming;
150
150
  };
@@ -147,7 +147,7 @@ exports.PMiningService = {
147
147
  },
148
148
  adminDeviceClusters: {
149
149
  name: "AdminDeviceClusters",
150
- I: general_pb_js_1.EmptyRequest,
150
+ I: mining_messages_pb_js_1.AdminDeviceClustersRequest,
151
151
  O: mining_messages_pb_js_1.AdminDeviceClustersResponse,
152
152
  kind: protobuf_1.MethodKind.ServerStreaming,
153
153
  },
@@ -1,7 +1,7 @@
1
1
  import type { Metadata } from "@grpc/grpc-js";
2
2
  import { Observable } from "rxjs";
3
3
  import { ByIdRequest, EmptyRequest, EmptyResponse } from "../general_nest";
4
- import { AdminDeviceClustersResponse, AdminModerateRequest, AdminOverviewRequest, AdminOverviewResponse, AdminRiskQueueRequest, AdminRiskQueueResponse, AdminSetTaskRequest, AdminTasksResponse, AdminUserResponse, AdminUsersRequest, AdminUsersResponse, ClaimResponse, ConfigResponse, EnrollRequest, EnrollResponse, HistoryRequest, HistoryResponse, MiningMeResponse, ParametersResponse, ReferralListRequest, ReferralListResponse, ResolveCodeRequest, ResolveCodeResponse, SetParameterRequest, SetTeamRequest, TaskEventRequest, TaskEventResponse, TasksResponse, TeamResponse, UpdateSettingsRequest } from "./mining_messages_nest";
4
+ import { AdminDeviceClustersRequest, AdminDeviceClustersResponse, AdminModerateRequest, AdminOverviewRequest, AdminOverviewResponse, AdminRiskQueueRequest, AdminRiskQueueResponse, AdminSetTaskRequest, AdminTasksResponse, AdminUserResponse, AdminUsersRequest, AdminUsersResponse, ClaimResponse, ConfigResponse, EnrollRequest, EnrollResponse, HistoryRequest, HistoryResponse, MiningMeResponse, ParametersResponse, ReferralListRequest, ReferralListResponse, ResolveCodeRequest, ResolveCodeResponse, SetParameterRequest, SetTeamRequest, TaskEventRequest, TaskEventResponse, TasksResponse, TeamResponse, UpdateSettingsRequest } from "./mining_messages_nest";
5
5
  export declare const protobufPackage = "micro.v1.mining";
6
6
  export declare const MICRO_V1_MINING_PACKAGE_NAME = "micro.v1.mining";
7
7
  export interface PMiningServiceClient {
@@ -28,7 +28,7 @@ export interface PMiningServiceClient {
28
28
  adminUsers(request: AdminUsersRequest, metadata?: Metadata): Observable<AdminUsersResponse>;
29
29
  adminUser(request: ByIdRequest, metadata?: Metadata): Observable<AdminUserResponse>;
30
30
  adminModerate(request: AdminModerateRequest, metadata?: Metadata): Observable<AdminUserResponse>;
31
- adminDeviceClusters(request: EmptyRequest, metadata?: Metadata): Observable<AdminDeviceClustersResponse>;
31
+ adminDeviceClusters(request: AdminDeviceClustersRequest, metadata?: Metadata): Observable<AdminDeviceClustersResponse>;
32
32
  adminRiskQueue(request: AdminRiskQueueRequest, metadata?: Metadata): Observable<AdminRiskQueueResponse>;
33
33
  removeUserData(request: ByIdRequest, metadata?: Metadata): Observable<EmptyResponse>;
34
34
  }
@@ -56,7 +56,7 @@ export interface PMiningServiceController {
56
56
  adminUsers(request: AdminUsersRequest, metadata?: Metadata): Observable<AdminUsersResponse>;
57
57
  adminUser(request: ByIdRequest, metadata?: Metadata): Observable<AdminUserResponse>;
58
58
  adminModerate(request: AdminModerateRequest, metadata?: Metadata): Observable<AdminUserResponse>;
59
- adminDeviceClusters(request: EmptyRequest, metadata?: Metadata): Observable<AdminDeviceClustersResponse>;
59
+ adminDeviceClusters(request: AdminDeviceClustersRequest, metadata?: Metadata): Observable<AdminDeviceClustersResponse>;
60
60
  adminRiskQueue(request: AdminRiskQueueRequest, metadata?: Metadata): Observable<AdminRiskQueueResponse>;
61
61
  removeUserData(request: ByIdRequest, metadata?: Metadata): Observable<EmptyResponse>;
62
62
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jr-common-micro",
3
- "version": "1.1.103",
3
+ "version": "1.1.105",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "private": false,
@@ -498,6 +498,10 @@ message AdminUserItem {
498
498
  // The nightly scorer's score (0 = no flag).
499
499
  int32 risk_score = 20;
500
500
  string referred_by_username = 19;
501
+ // When the last review decision on this account was made (clear,
502
+ // restrict, ban, unban); empty = nobody has decided on it yet. Tells a
503
+ // "normal" that was checked and cleared from one never looked at.
504
+ string status_at = 21;
501
505
  }
502
506
 
503
507
  message AdminUsersResponse {
@@ -535,6 +539,24 @@ message AdminUserResponse {
535
539
  string pending_total = 8;
536
540
  string total_received_gifts = 9;
537
541
  optional AdminRiskFlag risk = 10;
542
+ // The person's mining as the app shows it, read without side effects
543
+ // (no row is created, nothing is verified with an exchange). Unset when
544
+ // the person has no mining account.
545
+ optional MiningState state = 11;
546
+ // Every active task with this person's completion state.
547
+ repeated TaskInfo tasks = 12;
548
+ // The last 30 sessions, newest first.
549
+ repeated SessionInfo sessions = 13;
550
+ // Teams this person sits or sat in (by owner), newest first.
551
+ repeated AdminTeamSeat team_seats = 14;
552
+ }
553
+
554
+ message AdminTeamSeat {
555
+ string owner_id = 1;
556
+ string owner_username = 2;
557
+ string active_from = 3;
558
+ // '' while the seat is still taken.
559
+ string active_until = 4;
538
560
  }
539
561
 
540
562
  // One signal of the nightly scorer, with its evidence.
@@ -591,14 +613,38 @@ message AdminModerateRequest {
591
613
  bool cascade_invitees = 5;
592
614
  }
593
615
 
616
+ // Devices with more than one mining account, a page at a time.
617
+ message AdminDeviceClustersRequest {
618
+ // open (default): at least one account on the device has no review
619
+ // decision yet | reviewed: every account on it has one | all
620
+ string state = 1;
621
+ // 0-based.
622
+ int32 page = 2;
623
+ // Default 20, at most 50.
624
+ int32 per_page = 3;
625
+ }
626
+
594
627
  message AdminDeviceCluster {
595
628
  string device = 1;
629
+ // The oldest accounts on the device, at most 20 (the device search shows
630
+ // the rest).
596
631
  repeated AdminUserItem users = 2;
632
+ // Every mining account on the device.
633
+ int32 accounts = 3;
634
+ // Of those, how many have no review decision yet.
635
+ int32 undecided = 4;
636
+ // The latest review decision on any of them (empty: none yet).
637
+ string last_decided_at = 5;
597
638
  }
598
639
 
599
640
  message AdminDeviceClustersResponse {
600
641
  ResponseStatus status = 1;
601
642
  repeated AdminDeviceCluster data = 2;
643
+ // Devices in the requested state.
644
+ int32 total = 3;
645
+ // Both tabs' counts, whatever state was asked for.
646
+ int32 open_total = 4;
647
+ int32 reviewed_total = 5;
602
648
  }
603
649
 
604
650
  // Only the editable fields; empty strings / unset leave a field as it is.
@@ -50,7 +50,7 @@ service PMiningService {
50
50
  rpc AdminUser(ByIdRequest) returns(stream AdminUserResponse) {}
51
51
  rpc AdminModerate(AdminModerateRequest) returns(stream AdminUserResponse) {}
52
52
  // Accounts that share an install (the first review signal).
53
- rpc AdminDeviceClusters(EmptyRequest) returns(stream AdminDeviceClustersResponse) {}
53
+ rpc AdminDeviceClusters(AdminDeviceClustersRequest) returns(stream AdminDeviceClustersResponse) {}
54
54
  // Flags the nightly scorer raised (same device, synchronous sessions,
55
55
  // gift-and-gone invitees, no tasks, invite bursts), by score. A flag is
56
56
  // only ever a reason to look; the decision stays with AdminModerate.