@skravets/eapi 0.0.1 → 0.0.2

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-11T22:51:35.630Z
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,142 @@ 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
+ ISendMessage: {
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 Message to send
89
+ * @example Hello, world!
91
90
  */
92
- data: components["schemas"]["ChatDataDto"];
93
- };
94
- SubscriptionMessageDataDto: {
91
+ message: string;
95
92
  /**
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
- * }
93
+ * @description Message id to reply to
94
+ * @example 123
112
95
  */
113
- data: Record<string, never>;
114
- /** @description Messages limit per request */
115
- limit?: number;
96
+ replyToId: string;
97
+ };
98
+ /** @description Which fields of chat to return */
99
+ ChatData: {
100
+ /** @default false */
101
+ about: boolean;
102
+ /** @default false */
103
+ avatar_id: boolean;
104
+ /** @default false */
105
+ id: boolean;
106
+ /** @default false */
107
+ participants_count: boolean;
108
+ /** @default false */
109
+ title: boolean;
110
+ /** @default false */
111
+ type: boolean;
112
+ /** @default false */
113
+ username: boolean;
114
+ };
115
+ StringFilter: {
116
+ endsWith?: string;
117
+ equals?: string;
118
+ includes?: string;
119
+ in?: string[];
120
+ not?: components["schemas"]["StringFilter"];
121
+ options?: string;
122
+ regex?: string;
123
+ startsWith?: string;
116
124
  };
117
- SubscriptionDataDto: {
125
+ /** @description Number filter */
126
+ NumberFilter: {
118
127
  /**
119
- * @description Chat meta data
120
- * @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
- * }
133
- * }
128
+ * @description Equals number
129
+ * @example 123
134
130
  */
135
- chat?: components["schemas"]["SubscriptionChatDataDto"];
131
+ equals?: number;
136
132
  /**
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
- * }
133
+ * @description Greater than number
134
+ * @example 123
156
135
  */
157
- messages?: components["schemas"]["SubscriptionMessageDataDto"];
158
- };
159
- SubscribeDto: {
136
+ gt?: number;
160
137
  /**
161
- * @description Chat Id to subscribe
162
- * @example 1234567890
138
+ * @description Greater than or equal number
139
+ * @example 123
163
140
  */
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"];
141
+ gte?: number;
142
+ /** @description In numbers array */
143
+ in?: number[];
200
144
  /**
201
- * @description Webhook url
202
- * @example https://example.com/webhook
145
+ * @description Less than number
146
+ * @example 123
203
147
  */
204
- webhookUrl: string;
148
+ lt?: number;
205
149
  /**
206
- * @description Short description
207
- * @example to get messages from chat 123
150
+ * @description Less than or equal number
151
+ * @example 123
208
152
  */
209
- description?: string;
153
+ lte?: number;
154
+ /** @description Not number filter */
155
+ not?: components["schemas"]["NumberFilter"];
210
156
  };
211
- UpdateSubscribeDto: {
212
- /**
213
- * @description Scopes to subscribe
214
- * @example {
215
- * "chat": {
216
- * "data": {
217
- * "username": true
218
- * }
219
- * }
220
- * }
221
- */
222
- data?: components["schemas"]["SubscriptionDataDto"];
157
+ /** @description Restrictions query for chat */
158
+ ChatWhere: {
159
+ about?: components["schemas"]["StringFilter"];
160
+ avatar_id?: components["schemas"]["NumberFilter"];
161
+ id?: components["schemas"]["NumberFilter"];
162
+ participants_count?: components["schemas"]["NumberFilter"];
163
+ title?: components["schemas"]["StringFilter"];
164
+ type?: components["schemas"]["StringFilter"];
165
+ username?: components["schemas"]["StringFilter"];
166
+ };
167
+ QueryChat: {
168
+ data?: components["schemas"]["ChatData"];
169
+ where: components["schemas"]["ChatWhere"];
170
+ };
171
+ /** @description Which fields of chat to return */
172
+ MessageData: {
173
+ /** @default false */
174
+ channel_id: boolean;
175
+ /** @default false */
176
+ message_created_at: boolean;
177
+ /** @default false */
178
+ message_id: boolean;
179
+ /** @default false */
180
+ text: boolean;
181
+ /** @default false */
182
+ user_id: boolean;
183
+ /** @default false */
184
+ username: boolean;
185
+ };
186
+ DateTimeFilter: {
187
+ equals?: string | Record<string, never>;
188
+ gt?: string | Record<string, never>;
189
+ gte?: string | Record<string, never>;
190
+ in?: (string | Record<string, never>)[];
191
+ lt?: string | Record<string, never>;
192
+ lte?: string | Record<string, never>;
193
+ not?: string | Record<string, never>;
194
+ };
195
+ /** @description Restrictions query for message */
196
+ MessageWhere: {
197
+ channel_id?: components["schemas"]["NumberFilter"];
198
+ message_created_at?: components["schemas"]["DateTimeFilter"];
199
+ message_id?: components["schemas"]["NumberFilter"];
200
+ text?: components["schemas"]["StringFilter"];
201
+ user_id?: components["schemas"]["NumberFilter"];
202
+ username?: components["schemas"]["StringFilter"];
203
+ };
204
+ /** @description Message filters dto */
205
+ QueryMessage: {
206
+ data?: components["schemas"]["MessageData"];
207
+ where?: components["schemas"]["MessageWhere"];
208
+ limit?: number;
209
+ };
210
+ SubscriptionQuery: {
211
+ chat?: components["schemas"]["QueryChat"];
212
+ messages?: components["schemas"]["QueryMessage"];
213
+ };
214
+ /** @description Create subscription dto */
215
+ CreateSubscription: {
223
216
  /**
224
- * @description Webhook url
217
+ * Format: uri
225
218
  * @example https://example.com/webhook
226
219
  */
227
- webhookUrl?: string;
220
+ webhookUrl: string;
221
+ query: components["schemas"]["SubscriptionQuery"];
228
222
  };
229
223
  };
230
224
  }
@@ -284,7 +278,8 @@ interface operations {
284
278
  Authorization: string;
285
279
  };
286
280
  path: {
287
- channelId: number;
281
+ /** @description `Chat id` or `username` */
282
+ chat: number | string;
288
283
  };
289
284
  };
290
285
  responses: {
@@ -294,7 +289,7 @@ interface operations {
294
289
  [name: string]: unknown;
295
290
  };
296
291
  content: {
297
- "application/json": unknown;
292
+ "application/json": components["schemas"]["Message"][];
298
293
  };
299
294
  };
300
295
  /** @description Unauthorized */
@@ -305,14 +300,15 @@ interface operations {
305
300
  };
306
301
  };
307
302
  };
308
- "channels.getMessages": {
303
+ "chats.getMessages": {
309
304
  parameters: {
310
305
  header: {
311
306
  /** @description `Basic token`, where token is `id:secret` base64 encoded */
312
307
  Authorization: string;
313
308
  };
314
309
  path: {
315
- channelId: number;
310
+ /** @description `Chat id` or `username` */
311
+ chat: number | string;
316
312
  };
317
313
  };
318
314
  requestBody: {
@@ -321,13 +317,13 @@ interface operations {
321
317
  };
322
318
  };
323
319
  responses: {
324
- /** @description Returns array of messages by channel id and cursors */
320
+ /** @description Returns array of messages by chat id and cursors */
325
321
  200: {
326
322
  headers: {
327
323
  [name: string]: unknown;
328
324
  };
329
325
  content: {
330
- "application/json": unknown;
326
+ "application/json": components["schemas"]["Message"][];
331
327
  };
332
328
  };
333
329
  /** @description Unauthorized */
@@ -338,6 +334,133 @@ interface operations {
338
334
  };
339
335
  };
340
336
  };
337
+ "chats.queue": {
338
+ parameters: {
339
+ header: {
340
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
341
+ Authorization: string;
342
+ };
343
+ path: {
344
+ /** @description External id of the task */
345
+ externalId: string;
346
+ /** @description `Chat id` or `username` */
347
+ chat: number | string;
348
+ };
349
+ };
350
+ responses: {
351
+ 201: {
352
+ headers: {
353
+ [name: string]: unknown;
354
+ };
355
+ };
356
+ /** @description Unauthorized */
357
+ 401: {
358
+ headers: {
359
+ [name: string]: unknown;
360
+ };
361
+ };
362
+ };
363
+ };
364
+ "chats.join": {
365
+ parameters: {
366
+ header: {
367
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
368
+ Authorization: string;
369
+ };
370
+ path: {
371
+ /** @description External id of the task */
372
+ externalId: string;
373
+ /** @description `Chat id` or `username` */
374
+ chat: number | string;
375
+ };
376
+ };
377
+ responses: {
378
+ 200: {
379
+ headers: {
380
+ [name: string]: unknown;
381
+ };
382
+ };
383
+ /** @description Unauthorized */
384
+ 401: {
385
+ headers: {
386
+ [name: string]: unknown;
387
+ };
388
+ };
389
+ };
390
+ };
391
+ "chats.send": {
392
+ parameters: {
393
+ header: {
394
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
395
+ Authorization: string;
396
+ };
397
+ path: {
398
+ /** @description External id of the task */
399
+ externalId: string;
400
+ /** @description `Chat id` or `username` */
401
+ chat: number | string;
402
+ };
403
+ };
404
+ requestBody: {
405
+ content: {
406
+ "application/json": components["schemas"]["ISendMessage"];
407
+ };
408
+ };
409
+ responses: {
410
+ 200: {
411
+ headers: {
412
+ [name: string]: unknown;
413
+ };
414
+ };
415
+ /** @description Unauthorized */
416
+ 401: {
417
+ headers: {
418
+ [name: string]: unknown;
419
+ };
420
+ };
421
+ };
422
+ };
423
+ "subscriptions.upsert": {
424
+ parameters: {
425
+ header: {
426
+ /** @description `Basic token`, where token is `id:secret` base64 encoded */
427
+ Authorization: string;
428
+ };
429
+ };
430
+ requestBody: {
431
+ content: {
432
+ "application/json": components["schemas"]["CreateSubscription"];
433
+ };
434
+ };
435
+ responses: {
436
+ 200: {
437
+ headers: {
438
+ [name: string]: unknown;
439
+ };
440
+ };
441
+ /** @description Subscription created or updated, returns subscription */
442
+ 201: {
443
+ headers: {
444
+ [name: string]: unknown;
445
+ };
446
+ content: {
447
+ "application/json": components["schemas"]["CreateSubscription"];
448
+ };
449
+ };
450
+ /** @description Unauthorized */
451
+ 401: {
452
+ headers: {
453
+ [name: string]: unknown;
454
+ };
455
+ };
456
+ /** @description More than one subscription already exists */
457
+ 409: {
458
+ headers: {
459
+ [name: string]: unknown;
460
+ };
461
+ };
462
+ };
463
+ };
341
464
  "subscriptions.create": {
342
465
  parameters: {
343
466
  header: {
@@ -347,7 +470,7 @@ interface operations {
347
470
  };
348
471
  requestBody: {
349
472
  content: {
350
- "application/json": components["schemas"]["SubscribeDto"];
473
+ "application/json": components["schemas"]["CreateSubscription"];
351
474
  };
352
475
  };
353
476
  responses: {
@@ -357,7 +480,7 @@ interface operations {
357
480
  [name: string]: unknown;
358
481
  };
359
482
  content: {
360
- "application/json": components["schemas"]["SubscribeDto"];
483
+ "application/json": components["schemas"]["CreateSubscription"];
361
484
  };
362
485
  };
363
486
  /** @description Unauthorized */
@@ -385,7 +508,7 @@ interface operations {
385
508
  [name: string]: unknown;
386
509
  };
387
510
  content: {
388
- "application/json": components["schemas"]["SubscribeDto"];
511
+ "application/json": components["schemas"]["CreateSubscription"];
389
512
  };
390
513
  };
391
514
  /** @description Invalid subscription id */
@@ -420,7 +543,7 @@ interface operations {
420
543
  };
421
544
  requestBody: {
422
545
  content: {
423
- "application/json": components["schemas"]["UpdateSubscribeDto"];
546
+ "application/json": components["schemas"]["CreateSubscription"];
424
547
  };
425
548
  };
426
549
  responses: {
@@ -430,7 +553,7 @@ interface operations {
430
553
  [name: string]: unknown;
431
554
  };
432
555
  content: {
433
- "application/json": components["schemas"]["SubscribeDto"];
556
+ "application/json": components["schemas"]["CreateSubscription"];
434
557
  };
435
558
  };
436
559
  /** @description Invalid subscription id */
@@ -470,7 +593,7 @@ interface operations {
470
593
  [name: string]: unknown;
471
594
  };
472
595
  content: {
473
- "application/json": components["schemas"]["SubscribeDto"];
596
+ "application/json": components["schemas"]["CreateSubscription"];
474
597
  };
475
598
  };
476
599
  /** @description Invalid subscription id */