@barumetric/contracts 1.2.13 → 1.2.15

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.
package/gen/ts/auth.ts CHANGED
@@ -111,6 +111,34 @@ export interface DeviceInfo {
111
111
  type: string;
112
112
  }
113
113
 
114
+ export interface VkInitResponse {
115
+ url: string;
116
+ }
117
+
118
+ export interface VkVerifyRequest {
119
+ idToken: string;
120
+ accessToken: string;
121
+ metadata: SessionMetadata | undefined;
122
+ }
123
+
124
+ export interface VkVerifyResponse {
125
+ sessionId?: string | undefined;
126
+ accessToken?: string | undefined;
127
+ refreshToken?: string | undefined;
128
+ sessionToken?: string | undefined;
129
+ }
130
+
131
+ export interface VkConsumeRequest {
132
+ sessionId: string;
133
+ metadata: SessionMetadata | undefined;
134
+ }
135
+
136
+ export interface VkConsumeResponse {
137
+ accessToken: string;
138
+ refreshToken: string;
139
+ sessionToken: string;
140
+ }
141
+
114
142
  export const AUTH_V1_PACKAGE_NAME = "auth.v1";
115
143
 
116
144
  export interface AuthServiceClient {
@@ -129,6 +157,12 @@ export interface AuthServiceClient {
129
157
  telegramComplete(request: TelegramCompleteRequest): Observable<TelegramCompleteResponse>;
130
158
 
131
159
  telegramConsume(request: TelegramConsumeRequest): Observable<TelegramConsumeResponse>;
160
+
161
+ vkInit(request: Empty): Observable<VkInitResponse>;
162
+
163
+ vkVerify(request: VkVerifyRequest): Observable<VkVerifyResponse>;
164
+
165
+ vkConsume(request: VkConsumeRequest): Observable<VkConsumeResponse>;
132
166
  }
133
167
 
134
168
  export interface AuthServiceController {
@@ -153,6 +187,12 @@ export interface AuthServiceController {
153
187
  telegramConsume(
154
188
  request: TelegramConsumeRequest,
155
189
  ): Promise<TelegramConsumeResponse> | Observable<TelegramConsumeResponse> | TelegramConsumeResponse;
190
+
191
+ vkInit(request: Empty): Promise<VkInitResponse> | Observable<VkInitResponse> | VkInitResponse;
192
+
193
+ vkVerify(request: VkVerifyRequest): Promise<VkVerifyResponse> | Observable<VkVerifyResponse> | VkVerifyResponse;
194
+
195
+ vkConsume(request: VkConsumeRequest): Promise<VkConsumeResponse> | Observable<VkConsumeResponse> | VkConsumeResponse;
156
196
  }
157
197
 
158
198
  export function AuthServiceControllerMethods() {
@@ -166,6 +206,9 @@ export function AuthServiceControllerMethods() {
166
206
  "telegramVerify",
167
207
  "telegramComplete",
168
208
  "telegramConsume",
209
+ "vkInit",
210
+ "vkVerify",
211
+ "vkConsume",
169
212
  ];
170
213
  for (const method of grpcMethods) {
171
214
  const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
@@ -13,33 +13,15 @@ export const protobufPackage = "presence.v1";
13
13
 
14
14
  export interface GetUserStatusRequest {
15
15
  userId: string;
16
+ /** WebSocket connection ID */
17
+ connectionId?: string | undefined;
16
18
  }
17
19
 
18
20
  export interface GetUserStatusResponse {
19
21
  /** "online" | "away" | "offline" */
20
22
  status: string;
21
23
  /** timestamp */
22
- lastSeen: number;
23
- /** "web" | "mobile" */
24
- device: string;
25
- updatedAt: Timestamp | undefined;
26
- }
27
-
28
- export interface GetUsersStatusRequest {
29
- userIds: string[];
30
- }
31
-
32
- export interface GetUsersStatusResponse {
33
- statuses: UserStatus[];
34
- }
35
-
36
- export interface UserStatus {
37
- userId: string;
38
- /** "online" | "away" | "offline" */
39
- status: string;
40
- lastSeen: number;
41
- device: string;
42
- updatedAt: Timestamp | undefined;
24
+ lastSeen: Timestamp | undefined;
43
25
  }
44
26
 
45
27
  export interface UpdateStatusRequest {
@@ -67,30 +49,6 @@ export interface RemoveConnectionResponse {
67
49
  status: string;
68
50
  }
69
51
 
70
- export interface SubscribeToStatusRequest {
71
- /** кто подписывается */
72
- userId: string;
73
- /** за какими пользователями следить */
74
- contactIds: string[];
75
- }
76
-
77
- export interface StatusUpdate {
78
- userId: string;
79
- /** "online" | "away" | "offline" */
80
- status: string;
81
- lastSeen: number;
82
- device: string;
83
- updatedAt: Timestamp | undefined;
84
- }
85
-
86
- export interface UnsubscribeFromStatusRequest {
87
- userId: string;
88
- }
89
-
90
- export interface UnsubscribeFromStatusResponse {
91
- ok: boolean;
92
- }
93
-
94
52
  export const PRESENCE_V1_PACKAGE_NAME = "presence.v1";
95
53
 
96
54
  export interface PresenceServiceClient {
@@ -98,10 +56,6 @@ export interface PresenceServiceClient {
98
56
 
99
57
  getUserStatus(request: GetUserStatusRequest): Observable<GetUserStatusResponse>;
100
58
 
101
- /** Получить статусы нескольких пользователей */
102
-
103
- getUsersStatus(request: GetUsersStatusRequest): Observable<GetUsersStatusResponse>;
104
-
105
59
  /** Обновить статус пользователя (heartbeat) */
106
60
 
107
61
  updateStatus(request: UpdateStatusRequest): Observable<UpdateStatusResponse>;
@@ -109,14 +63,6 @@ export interface PresenceServiceClient {
109
63
  /** Удалить соединение пользователя (при отключении) */
110
64
 
111
65
  removeConnection(request: RemoveConnectionRequest): Observable<RemoveConnectionResponse>;
112
-
113
- /** Подписаться на изменения статуса (stream) */
114
-
115
- subscribeToStatus(request: SubscribeToStatusRequest): Observable<StatusUpdate>;
116
-
117
- /** Отписаться от изменений статуса */
118
-
119
- unsubscribeFromStatus(request: UnsubscribeFromStatusRequest): Observable<UnsubscribeFromStatusResponse>;
120
66
  }
121
67
 
122
68
  export interface PresenceServiceController {
@@ -126,12 +72,6 @@ export interface PresenceServiceController {
126
72
  request: GetUserStatusRequest,
127
73
  ): Promise<GetUserStatusResponse> | Observable<GetUserStatusResponse> | GetUserStatusResponse;
128
74
 
129
- /** Получить статусы нескольких пользователей */
130
-
131
- getUsersStatus(
132
- request: GetUsersStatusRequest,
133
- ): Promise<GetUsersStatusResponse> | Observable<GetUsersStatusResponse> | GetUsersStatusResponse;
134
-
135
75
  /** Обновить статус пользователя (heartbeat) */
136
76
 
137
77
  updateStatus(
@@ -143,28 +83,11 @@ export interface PresenceServiceController {
143
83
  removeConnection(
144
84
  request: RemoveConnectionRequest,
145
85
  ): Promise<RemoveConnectionResponse> | Observable<RemoveConnectionResponse> | RemoveConnectionResponse;
146
-
147
- /** Подписаться на изменения статуса (stream) */
148
-
149
- subscribeToStatus(request: SubscribeToStatusRequest): Observable<StatusUpdate>;
150
-
151
- /** Отписаться от изменений статуса */
152
-
153
- unsubscribeFromStatus(
154
- request: UnsubscribeFromStatusRequest,
155
- ): Promise<UnsubscribeFromStatusResponse> | Observable<UnsubscribeFromStatusResponse> | UnsubscribeFromStatusResponse;
156
86
  }
157
87
 
158
88
  export function PresenceServiceControllerMethods() {
159
89
  return function (constructor: Function) {
160
- const grpcMethods: string[] = [
161
- "getUserStatus",
162
- "getUsersStatus",
163
- "updateStatus",
164
- "removeConnection",
165
- "subscribeToStatus",
166
- "unsubscribeFromStatus",
167
- ];
90
+ const grpcMethods: string[] = ["getUserStatus", "updateStatus", "removeConnection"];
168
91
  for (const method of grpcMethods) {
169
92
  const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
170
93
  GrpcMethod("PresenceService", method)(constructor.prototype[method], method, descriptor);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@barumetric/contracts",
3
- "version": "1.2.13",
3
+ "version": "1.2.15",
4
4
  "description": "Protobuf definitions and generated TypeScript types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
package/proto/auth.proto CHANGED
@@ -14,6 +14,10 @@ service AuthService {
14
14
  rpc TelegramVerify (TelegramVerifyRequest) returns (TelegramVerifyResponse);
15
15
  rpc TelegramComplete (TelegramCompleteRequest) returns (TelegramCompleteResponse);
16
16
  rpc TelegramConsume (TelegramConsumeRequest) returns (TelegramConsumeResponse);
17
+
18
+ rpc VkInit (google.protobuf.Empty) returns (VkInitResponse);
19
+ rpc VkVerify (VkVerifyRequest) returns (VkVerifyResponse);
20
+ rpc VkConsume (VkConsumeRequest) returns (VkConsumeResponse);
17
21
  }
18
22
 
19
23
  message SendOtpRequest {
@@ -113,3 +117,33 @@ message DeviceInfo {
113
117
  string os = 2;
114
118
  string type = 3;
115
119
  }
120
+
121
+ message VkInitResponse {
122
+ string url = 1;
123
+ }
124
+
125
+ message VkVerifyRequest {
126
+ string id_token = 1;
127
+ string access_token = 2;
128
+ SessionMetadata metadata = 3;
129
+ }
130
+
131
+ message VkVerifyResponse {
132
+ oneof result {
133
+ string session_id = 1;
134
+ string access_token = 2;
135
+ string refresh_token = 3;
136
+ string session_token = 4;
137
+ }
138
+ }
139
+
140
+ message VkConsumeRequest {
141
+ string session_id = 1;
142
+ SessionMetadata metadata = 2;
143
+ }
144
+
145
+ message VkConsumeResponse {
146
+ string access_token = 1;
147
+ string refresh_token = 2;
148
+ string session_token = 3;
149
+ }
@@ -8,47 +8,22 @@ service PresenceService {
8
8
  // Получить статус пользователя
9
9
  rpc GetUserStatus (GetUserStatusRequest) returns (GetUserStatusResponse);
10
10
 
11
- // Получить статусы нескольких пользователей
12
- rpc GetUsersStatus (GetUsersStatusRequest) returns (GetUsersStatusResponse);
13
-
14
11
  // Обновить статус пользователя (heartbeat)
15
12
  rpc UpdateStatus (UpdateStatusRequest) returns (UpdateStatusResponse);
16
13
 
17
14
  // Удалить соединение пользователя (при отключении)
18
15
  rpc RemoveConnection (RemoveConnectionRequest) returns (RemoveConnectionResponse);
19
16
 
20
- // Подписаться на изменения статуса (stream)
21
- rpc SubscribeToStatus (SubscribeToStatusRequest) returns (stream StatusUpdate);
22
-
23
- // Отписаться от изменений статуса
24
- rpc UnsubscribeFromStatus (UnsubscribeFromStatusRequest) returns (UnsubscribeFromStatusResponse);
25
17
  }
26
18
 
27
19
  message GetUserStatusRequest {
28
20
  string user_id = 1;
21
+ optional string connection_id = 2; // WebSocket connection ID
29
22
  }
30
23
 
31
24
  message GetUserStatusResponse {
32
25
  string status = 1; // "online" | "away" | "offline"
33
- int64 last_seen = 2; // timestamp
34
- string device = 3; // "web" | "mobile"
35
- google.protobuf.Timestamp updated_at = 4;
36
- }
37
-
38
- message GetUsersStatusRequest {
39
- repeated string user_ids = 1;
40
- }
41
-
42
- message GetUsersStatusResponse {
43
- repeated UserStatus statuses = 1;
44
- }
45
-
46
- message UserStatus {
47
- string user_id = 1;
48
- string status = 2; // "online" | "away" | "offline"
49
- int64 last_seen = 3;
50
- string device = 4;
51
- google.protobuf.Timestamp updated_at = 5;
26
+ google.protobuf.Timestamp last_seen = 2; // timestamp
52
27
  }
53
28
 
54
29
  message UpdateStatusRequest {
@@ -71,25 +46,3 @@ message RemoveConnectionResponse {
71
46
  bool ok = 1;
72
47
  string status = 2; // текущий статус после удаления
73
48
  }
74
-
75
- message SubscribeToStatusRequest {
76
- string user_id = 1; // кто подписывается
77
- repeated string contact_ids = 2; // за какими пользователями следить
78
- }
79
-
80
- message StatusUpdate {
81
- string user_id = 1;
82
- string status = 2; // "online" | "away" | "offline"
83
- int64 last_seen = 3;
84
- string device = 4;
85
- google.protobuf.Timestamp updated_at = 5;
86
- }
87
-
88
- message UnsubscribeFromStatusRequest {
89
- string user_id = 1;
90
- }
91
-
92
- message UnsubscribeFromStatusResponse {
93
- bool ok = 1;
94
- }
95
-