@skravets/eapi 0.0.1 → 0.0.3

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.
@@ -11,19 +11,33 @@ interface paths {
11
11
  /** Get Hello World! */
12
12
  get: operations["app.getHello"];
13
13
  };
14
- "/channels": {
14
+ "/chats": {
15
15
  /** Get Hello World! */
16
16
  get: operations["channels.getHello"];
17
17
  };
18
- "/channels/{channelId}/last-message": {
18
+ "/chats/{chat}/last-message": {
19
19
  /** Get last channel message */
20
20
  get: operations["channels.getLastMessage"];
21
21
  };
22
- "/channels/{channelId}/new-messages": {
23
- /** Get channel messages */
24
- post: operations["channels.getMessages"];
22
+ "/chats/{chat}/new-messages": {
23
+ /** Get chat messages */
24
+ post: operations["chats.getMessages"];
25
+ };
26
+ "/chats/{chat}/queue/{externalId}": {
27
+ /** Queue chat */
28
+ post: operations["chats.queue"];
29
+ };
30
+ "/chats/{chat}/join/{externalId}": {
31
+ /** Add task to join chat */
32
+ post: operations["chats.join"];
33
+ };
34
+ "/chats/{chat}/send/{externalId}": {
35
+ /** Add task to send message */
36
+ post: operations["chats.send"];
25
37
  };
26
38
  "/subscriptions": {
39
+ /** Upsert subscription */
40
+ put: operations["subscriptions.upsert"];
27
41
  /** Create subscription */
28
42
  post: operations["subscriptions.create"];
29
43
  };
@@ -41,6 +55,24 @@ interface paths {
41
55
  */
42
56
  interface components {
43
57
  schemas: {
58
+ /** @description Message schema */
59
+ Message: {
60
+ /** @example 123 */
61
+ channel_id: number;
62
+ /**
63
+ * Format: date-time
64
+ * @example 2025-08-11T23:03:13.539Z
65
+ */
66
+ message_created_at: string;
67
+ /** @example 123 */
68
+ message_id: number;
69
+ /** @example Кац не при чем */
70
+ text: string;
71
+ /** @example 123 */
72
+ user_id: number;
73
+ /** @example testUsername */
74
+ username: string;
75
+ };
44
76
  IGetChannelMessages: {
45
77
  /**
46
78
  * @description Cursor to get messages from id to id
@@ -51,180 +83,164 @@ interface components {
51
83
  */
52
84
  cursor: Record<string, never>;
53
85
  };
54
- ChatDataDto: {
55
- /** @example true */
56
- id?: boolean;
57
- /** @example true */
58
- username?: boolean;
59
- /** @example true */
60
- title?: boolean;
61
- /** @example true */
62
- type?: boolean;
63
- /** @example true */
64
- participants_count?: boolean;
65
- /** @example true */
66
- last_offset_id?: boolean;
67
- /** @example true */
68
- last_parsed_date?: boolean;
69
- /** @example true */
70
- is_locked?: boolean;
71
- /** @example true */
72
- about?: boolean;
73
- /** @example true */
74
- avatar_id?: boolean;
75
- };
76
- SubscriptionChatDataDto: {
86
+ IJoin: {
77
87
  /**
78
- * @description Chat schema
79
- * @example {
80
- * "id": true,
81
- * "username": true,
82
- * "title": true,
83
- * "type": true,
84
- * "participants_count": true,
85
- * "last_offset_id": true,
86
- * "last_parsed_date": true,
87
- * "is_locked": true,
88
- * "about": true,
89
- * "avatar_id": true
90
- * }
88
+ * @description Account id
89
+ * @example 1
91
90
  */
92
- data: components["schemas"]["ChatDataDto"];
91
+ accountId: number;
93
92
  };
94
- SubscriptionMessageDataDto: {
93
+ ISendMessageMessage: {
95
94
  /**
96
- * @description Messages schema
97
- * @example {
98
- * "channel_id": true,
99
- * "created_at": true,
100
- * "first_name": true,
101
- * "has_comments": true,
102
- * "has_reactions": true,
103
- * "last_name": true,
104
- * "message_created_at": true,
105
- * "message_id": true,
106
- * "reply_message_id": true,
107
- * "search_text": true,
108
- * "text": true,
109
- * "user_id": true,
110
- * "username": true
111
- * }
95
+ * @description Message to send
96
+ * @example Hello, world!
112
97
  */
113
- data: Record<string, never>;
114
- /** @description Messages limit per request */
115
- limit?: number;
98
+ text: string;
99
+ /**
100
+ * @description Message id to reply to
101
+ * @example 123
102
+ */
103
+ replyToId: number;
116
104
  };
117
- SubscriptionDataDto: {
105
+ ISendMessage: {
118
106
  /**
119
- * @description Chat meta data
107
+ * @description Message to send
120
108
  * @example {
121
- * "data": {
122
- * "id": true,
123
- * "username": true,
124
- * "title": true,
125
- * "type": true,
126
- * "participants_count": true,
127
- * "last_offset_id": true,
128
- * "last_parsed_date": true,
129
- * "is_locked": true,
130
- * "about": true,
131
- * "avatar_id": true
132
- * }
109
+ * "text": "Hello, world!",
110
+ * "replyToId": 123
133
111
  * }
134
112
  */
135
- chat?: components["schemas"]["SubscriptionChatDataDto"];
113
+ message: components["schemas"]["ISendMessageMessage"];
136
114
  /**
137
- * @description Messages data
138
- * @example {
139
- * "data": {
140
- * "channel_id": true,
141
- * "created_at": true,
142
- * "first_name": true,
143
- * "has_comments": true,
144
- * "has_reactions": true,
145
- * "last_name": true,
146
- * "message_created_at": true,
147
- * "message_id": true,
148
- * "reply_message_id": true,
149
- * "search_text": true,
150
- * "text": true,
151
- * "user_id": true,
152
- * "username": true
153
- * },
154
- * "limit": 100
155
- * }
115
+ * @description Account id
116
+ * @example 1
156
117
  */
157
- messages?: components["schemas"]["SubscriptionMessageDataDto"];
118
+ accountId: number;
158
119
  };
159
- SubscribeDto: {
120
+ /** @description Which fields of chat to return */
121
+ ChatData: {
122
+ /** @default false */
123
+ about: boolean;
124
+ /** @default false */
125
+ avatar_id: boolean;
126
+ /** @default false */
127
+ id: boolean;
128
+ /** @default false */
129
+ participants_count: boolean;
130
+ /** @default false */
131
+ title: boolean;
132
+ /** @default false */
133
+ type: boolean;
134
+ /** @default false */
135
+ username: boolean;
136
+ };
137
+ StringFilter: {
138
+ endsWith?: string;
139
+ equals?: string;
140
+ includes?: string;
141
+ in?: string[];
142
+ not?: components["schemas"]["StringFilter"];
143
+ options?: string;
144
+ regex?: string;
145
+ startsWith?: string;
146
+ };
147
+ /** @description Number filter */
148
+ NumberFilter: {
160
149
  /**
161
- * @description Chat Id to subscribe
162
- * @example 1234567890
150
+ * @description Equals number
151
+ * @example 123
163
152
  */
164
- chatId: number;
165
- /** @example {
166
- * "chat": {
167
- * "data": {
168
- * "id": true,
169
- * "username": true,
170
- * "title": true,
171
- * "type": true,
172
- * "participants_count": true,
173
- * "last_offset_id": true,
174
- * "last_parsed_date": true,
175
- * "is_locked": true,
176
- * "about": true,
177
- * "avatar_id": true
178
- * }
179
- * },
180
- * "messages": {
181
- * "data": {
182
- * "channel_id": true,
183
- * "created_at": true,
184
- * "first_name": true,
185
- * "has_comments": true,
186
- * "has_reactions": true,
187
- * "last_name": true,
188
- * "message_created_at": true,
189
- * "message_id": true,
190
- * "reply_message_id": true,
191
- * "search_text": true,
192
- * "text": true,
193
- * "user_id": true,
194
- * "username": true
195
- * },
196
- * "limit": 100
197
- * }
198
- * } */
199
- data: components["schemas"]["SubscriptionDataDto"];
153
+ equals?: number;
200
154
  /**
201
- * @description Webhook url
202
- * @example https://example.com/webhook
155
+ * @description Greater than number
156
+ * @example 123
203
157
  */
204
- webhookUrl: string;
158
+ gt?: number;
205
159
  /**
206
- * @description Short description
207
- * @example to get messages from chat 123
160
+ * @description Greater than or equal number
161
+ * @example 123
208
162
  */
209
- description?: string;
210
- };
211
- UpdateSubscribeDto: {
163
+ gte?: number;
164
+ /** @description In numbers array */
165
+ in?: number[];
212
166
  /**
213
- * @description Scopes to subscribe
214
- * @example {
215
- * "chat": {
216
- * "data": {
217
- * "username": true
218
- * }
219
- * }
220
- * }
167
+ * @description Less than number
168
+ * @example 123
169
+ */
170
+ lt?: number;
171
+ /**
172
+ * @description Less than or equal number
173
+ * @example 123
221
174
  */
222
- data?: components["schemas"]["SubscriptionDataDto"];
175
+ lte?: number;
176
+ /** @description Not number filter */
177
+ not?: components["schemas"]["NumberFilter"];
178
+ };
179
+ /** @description Restrictions query for chat */
180
+ ChatWhere: {
181
+ about?: components["schemas"]["StringFilter"];
182
+ avatar_id?: components["schemas"]["NumberFilter"];
183
+ id?: components["schemas"]["NumberFilter"];
184
+ participants_count?: components["schemas"]["NumberFilter"];
185
+ title?: components["schemas"]["StringFilter"];
186
+ type?: components["schemas"]["StringFilter"];
187
+ username?: components["schemas"]["StringFilter"];
188
+ };
189
+ QueryChat: {
190
+ data?: components["schemas"]["ChatData"];
191
+ where: components["schemas"]["ChatWhere"];
192
+ };
193
+ /** @description Which fields of chat to return */
194
+ MessageData: {
195
+ /** @default false */
196
+ channel_id: boolean;
197
+ /** @default false */
198
+ message_created_at: boolean;
199
+ /** @default false */
200
+ message_id: boolean;
201
+ /** @default false */
202
+ text: boolean;
203
+ /** @default false */
204
+ user_id: boolean;
205
+ /** @default false */
206
+ username: boolean;
207
+ };
208
+ DateTimeFilter: {
209
+ equals?: string | Record<string, never>;
210
+ gt?: string | Record<string, never>;
211
+ gte?: string | Record<string, never>;
212
+ in?: (string | Record<string, never>)[];
213
+ lt?: string | Record<string, never>;
214
+ lte?: string | Record<string, never>;
215
+ not?: string | Record<string, never>;
216
+ };
217
+ /** @description Restrictions query for message */
218
+ MessageWhere: {
219
+ channel_id?: components["schemas"]["NumberFilter"];
220
+ message_created_at?: components["schemas"]["DateTimeFilter"];
221
+ message_id?: components["schemas"]["NumberFilter"];
222
+ text?: components["schemas"]["StringFilter"];
223
+ user_id?: components["schemas"]["NumberFilter"];
224
+ username?: components["schemas"]["StringFilter"];
225
+ };
226
+ /** @description Message filters dto */
227
+ QueryMessage: {
228
+ data?: components["schemas"]["MessageData"];
229
+ where?: components["schemas"]["MessageWhere"];
230
+ limit?: number;
231
+ };
232
+ SubscriptionQuery: {
233
+ chat?: components["schemas"]["QueryChat"];
234
+ messages?: components["schemas"]["QueryMessage"];
235
+ };
236
+ /** @description Create subscription dto */
237
+ CreateSubscription: {
223
238
  /**
224
- * @description Webhook url
239
+ * Format: uri
225
240
  * @example https://example.com/webhook
226
241
  */
227
- webhookUrl?: string;
242
+ webhookUrl: string;
243
+ query: components["schemas"]["SubscriptionQuery"];
228
244
  };
229
245
  };
230
246
  }
@@ -284,7 +300,8 @@ interface operations {
284
300
  Authorization: string;
285
301
  };
286
302
  path: {
287
- channelId: number;
303
+ /** @description `Chat id` or `username` */
304
+ chat: number | string;
288
305
  };
289
306
  };
290
307
  responses: {
@@ -294,7 +311,7 @@ interface operations {
294
311
  [name: string]: unknown;
295
312
  };
296
313
  content: {
297
- "application/json": unknown;
314
+ "application/json": components["schemas"]["Message"][];
298
315
  };
299
316
  };
300
317
  /** @description Unauthorized */
@@ -305,14 +322,15 @@ interface operations {
305
322
  };
306
323
  };
307
324
  };
308
- "channels.getMessages": {
325
+ "chats.getMessages": {
309
326
  parameters: {
310
327
  header: {
311
328
  /** @description `Basic token`, where token is `id:secret` base64 encoded */
312
329
  Authorization: string;
313
330
  };
314
331
  path: {
315
- channelId: number;
332
+ /** @description `Chat id` or `username` */
333
+ chat: number | string;
316
334
  };
317
335
  };
318
336
  requestBody: {
@@ -321,13 +339,13 @@ interface operations {
321
339
  };
322
340
  };
323
341
  responses: {
324
- /** @description Returns array of messages by channel id and cursors */
342
+ /** @description Returns array of messages by chat id and cursors */
325
343
  200: {
326
344
  headers: {
327
345
  [name: string]: unknown;
328
346
  };
329
347
  content: {
330
- "application/json": unknown;
348
+ "application/json": components["schemas"]["Message"][];
331
349
  };
332
350
  };
333
351
  /** @description Unauthorized */
@@ -338,6 +356,138 @@ interface operations {
338
356
  };
339
357
  };
340
358
  };
359
+ "chats.queue": {
360
+ parameters: {
361
+ header: {
362
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
363
+ Authorization: string;
364
+ };
365
+ path: {
366
+ /** @description External id of the task */
367
+ externalId: string;
368
+ /** @description `Chat id` or `username` */
369
+ chat: number | string;
370
+ };
371
+ };
372
+ responses: {
373
+ 201: {
374
+ headers: {
375
+ [name: string]: unknown;
376
+ };
377
+ };
378
+ /** @description Unauthorized */
379
+ 401: {
380
+ headers: {
381
+ [name: string]: unknown;
382
+ };
383
+ };
384
+ };
385
+ };
386
+ "chats.join": {
387
+ parameters: {
388
+ header: {
389
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
390
+ Authorization: string;
391
+ };
392
+ path: {
393
+ /** @description External id of the task */
394
+ externalId: string;
395
+ /** @description `Chat id` or `username` */
396
+ chat: number | string;
397
+ };
398
+ };
399
+ requestBody: {
400
+ content: {
401
+ "application/json": components["schemas"]["IJoin"];
402
+ };
403
+ };
404
+ responses: {
405
+ 200: {
406
+ headers: {
407
+ [name: string]: unknown;
408
+ };
409
+ };
410
+ /** @description Unauthorized */
411
+ 401: {
412
+ headers: {
413
+ [name: string]: unknown;
414
+ };
415
+ };
416
+ };
417
+ };
418
+ "chats.send": {
419
+ parameters: {
420
+ header: {
421
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
422
+ Authorization: string;
423
+ };
424
+ path: {
425
+ /** @description External id of the task */
426
+ externalId: string;
427
+ /** @description `Chat id` or `username` */
428
+ chat: number | string;
429
+ };
430
+ };
431
+ requestBody: {
432
+ content: {
433
+ "application/json": components["schemas"]["ISendMessage"];
434
+ };
435
+ };
436
+ responses: {
437
+ 200: {
438
+ headers: {
439
+ [name: string]: unknown;
440
+ };
441
+ };
442
+ /** @description Unauthorized */
443
+ 401: {
444
+ headers: {
445
+ [name: string]: unknown;
446
+ };
447
+ };
448
+ };
449
+ };
450
+ "subscriptions.upsert": {
451
+ parameters: {
452
+ header: {
453
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
454
+ Authorization: string;
455
+ };
456
+ };
457
+ requestBody: {
458
+ content: {
459
+ "application/json": components["schemas"]["CreateSubscription"];
460
+ };
461
+ };
462
+ responses: {
463
+ 200: {
464
+ headers: {
465
+ [name: string]: unknown;
466
+ };
467
+ };
468
+ /** @description Subscription created or updated, returns subscription */
469
+ 201: {
470
+ headers: {
471
+ [name: string]: unknown;
472
+ };
473
+ content: {
474
+ "application/json": components["schemas"]["CreateSubscription"];
475
+ };
476
+ };
477
+ /** @description Unauthorized */
478
+ 401: {
479
+ headers: {
480
+ [name: string]: unknown;
481
+ };
482
+ };
483
+ /** @description More than one subscription already exists */
484
+ 409: {
485
+ headers: {
486
+ [name: string]: unknown;
487
+ };
488
+ };
489
+ };
490
+ };
341
491
  "subscriptions.create": {
342
492
  parameters: {
343
493
  header: {
@@ -347,7 +497,7 @@ interface operations {
347
497
  };
348
498
  requestBody: {
349
499
  content: {
350
- "application/json": components["schemas"]["SubscribeDto"];
500
+ "application/json": components["schemas"]["CreateSubscription"];
351
501
  };
352
502
  };
353
503
  responses: {
@@ -357,7 +507,7 @@ interface operations {
357
507
  [name: string]: unknown;
358
508
  };
359
509
  content: {
360
- "application/json": components["schemas"]["SubscribeDto"];
510
+ "application/json": components["schemas"]["CreateSubscription"];
361
511
  };
362
512
  };
363
513
  /** @description Unauthorized */
@@ -385,7 +535,7 @@ interface operations {
385
535
  [name: string]: unknown;
386
536
  };
387
537
  content: {
388
- "application/json": components["schemas"]["SubscribeDto"];
538
+ "application/json": components["schemas"]["CreateSubscription"];
389
539
  };
390
540
  };
391
541
  /** @description Invalid subscription id */
@@ -420,7 +570,7 @@ interface operations {
420
570
  };
421
571
  requestBody: {
422
572
  content: {
423
- "application/json": components["schemas"]["UpdateSubscribeDto"];
573
+ "application/json": components["schemas"]["CreateSubscription"];
424
574
  };
425
575
  };
426
576
  responses: {
@@ -430,7 +580,7 @@ interface operations {
430
580
  [name: string]: unknown;
431
581
  };
432
582
  content: {
433
- "application/json": components["schemas"]["SubscribeDto"];
583
+ "application/json": components["schemas"]["CreateSubscription"];
434
584
  };
435
585
  };
436
586
  /** @description Invalid subscription id */
@@ -470,7 +620,7 @@ interface operations {
470
620
  [name: string]: unknown;
471
621
  };
472
622
  content: {
473
- "application/json": components["schemas"]["SubscribeDto"];
623
+ "application/json": components["schemas"]["CreateSubscription"];
474
624
  };
475
625
  };
476
626
  /** @description Invalid subscription id */