bx-rest 0.6.4 → 0.6.6

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.
Files changed (146) hide show
  1. package/README.md +7 -7
  2. package/consts/part-name-methods.d.ts +18 -0
  3. package/esm2022/consts/part-name-methods.mjs +19 -1
  4. package/esm2022/map/channel/public.mjs +12 -0
  5. package/esm2022/map/disk/file.mjs +20 -7
  6. package/esm2022/map/disk/storage.mjs +1 -5
  7. package/esm2022/map/im/dialog.mjs +16 -0
  8. package/esm2022/map/im/gialog/messages.mjs +29 -0
  9. package/esm2022/map/im/gialog/users.mjs +15 -0
  10. package/esm2022/map/im/recent.mjs +62 -0
  11. package/esm2022/map/im/user/list.mjs +10 -0
  12. package/esm2022/map/im/user.mjs +16 -0
  13. package/esm2022/map/pull/application/config.mjs +34 -0
  14. package/esm2022/map/pull.mjs +17 -0
  15. package/esm2022/request/pull/application/config.mjs +11 -0
  16. package/esm2022/request/pull/channel/public.mjs +18 -0
  17. package/esm2022/request/pull/config.mjs +13 -0
  18. package/esm2022/request/pull.mjs +11 -0
  19. package/esm2022/request-navvy/disk/file.mjs +3 -4
  20. package/esm2022/request-navvy/disk/storage.mjs +3 -2
  21. package/esm2022/request-navvy/im/chat/user.mjs +25 -0
  22. package/esm2022/request-navvy/im/chat.mjs +72 -11
  23. package/esm2022/request-navvy/im/counters.mjs +11 -0
  24. package/esm2022/request-navvy/im/dialog/messages.mjs +12 -0
  25. package/esm2022/request-navvy/im/dialog/read.mjs +19 -0
  26. package/esm2022/request-navvy/im/dialog/users.mjs +12 -0
  27. package/esm2022/request-navvy/im/dialog.mjs +39 -0
  28. package/esm2022/request-navvy/im/recent.mjs +46 -0
  29. package/esm2022/request-navvy/im/user/list.mjs +13 -0
  30. package/esm2022/request-navvy/im/user/status/idle.mjs +14 -0
  31. package/esm2022/request-navvy/im/user/status.mjs +22 -0
  32. package/esm2022/request-navvy/im/user.mjs +21 -0
  33. package/esm2022/request-navvy/im.mjs +9 -1
  34. package/esm2022/request-navvy/pull/application/config.mjs +12 -0
  35. package/esm2022/request-navvy/pull/channel/public.mjs +15 -0
  36. package/esm2022/request-navvy/pull/config.mjs +20 -0
  37. package/esm2022/request-navvy/pull.mjs +15 -0
  38. package/esm2022/rest/base.mjs +3 -3
  39. package/esm2022/rest/navvy.mjs +3 -1
  40. package/esm2022/typification/rest/disk/file.mjs +1 -1
  41. package/esm2022/typification/rest/im/chat/add.mjs +1 -1
  42. package/esm2022/typification/rest/im/chat/get.mjs +2 -0
  43. package/esm2022/typification/rest/im/chat/leave.mjs +2 -0
  44. package/esm2022/typification/rest/im/chat/mute.mjs +2 -0
  45. package/esm2022/typification/rest/im/chat/setOwner.mjs +2 -0
  46. package/esm2022/typification/rest/im/chat/updateAvatar.mjs +2 -0
  47. package/esm2022/typification/rest/im/chat/updateColor.mjs +2 -0
  48. package/esm2022/typification/rest/im/chat/updateTitle.mjs +2 -0
  49. package/esm2022/typification/rest/im/chat/user/add.mjs +2 -0
  50. package/esm2022/typification/rest/im/chat/user/delete.mjs +2 -0
  51. package/esm2022/typification/rest/im/chat/user/list.mjs +2 -0
  52. package/esm2022/typification/rest/im/counters/get.mjs +2 -0
  53. package/esm2022/typification/rest/im/dialog/get.mjs +2 -0
  54. package/esm2022/typification/rest/im/dialog/messages/get.mjs +2 -0
  55. package/esm2022/typification/rest/im/dialog/read.mjs +2 -0
  56. package/esm2022/typification/rest/im/dialog/recent/get.mjs +2 -0
  57. package/esm2022/typification/rest/im/dialog/recent/list.mjs +2 -0
  58. package/esm2022/typification/rest/im/dialog/recent/unread.mjs +2 -0
  59. package/esm2022/typification/rest/im/dialog/unread.mjs +2 -0
  60. package/esm2022/typification/rest/im/dialog/user/get.mjs +2 -0
  61. package/esm2022/typification/rest/im/dialog/writing.mjs +2 -0
  62. package/esm2022/typification/rest/im/user/get.mjs +2 -0
  63. package/esm2022/typification/rest/im/user/list/get.mjs +2 -0
  64. package/esm2022/typification/rest/im/user/status/get.mjs +2 -0
  65. package/esm2022/typification/rest/im/user/status/idle.mjs +2 -0
  66. package/esm2022/typification/rest/im/user/status/set.mjs +2 -0
  67. package/esm2022/typification/rest/pull/application/config/get.mjs +2 -0
  68. package/esm2022/typification/rest/pull/channel/get.mjs +2 -0
  69. package/esm2022/typification/rest/pull/config/get.mjs +2 -0
  70. package/esm2022/typification/rest/pull.mjs +2 -0
  71. package/esm2022/typification/rest/user/get.mjs +1 -1
  72. package/fesm2022/bx-rest.mjs +628 -39
  73. package/fesm2022/bx-rest.mjs.map +1 -1
  74. package/map/channel/public.d.ts +4 -0
  75. package/map/disk/file.d.ts +1 -2
  76. package/map/disk/storage.d.ts +1 -2
  77. package/map/im/dialog.d.ts +4 -0
  78. package/map/im/gialog/messages.d.ts +4 -0
  79. package/map/im/gialog/users.d.ts +4 -0
  80. package/map/im/recent.d.ts +6 -0
  81. package/map/im/user/list.d.ts +5 -0
  82. package/map/im/user.d.ts +4 -0
  83. package/map/pull/application/config.d.ts +4 -0
  84. package/map/pull.d.ts +4 -0
  85. package/package.json +1 -1
  86. package/request/pull/application/config.d.ts +5 -0
  87. package/request/pull/channel/public.d.ts +5 -0
  88. package/request/pull/config.d.ts +7 -0
  89. package/request/pull.d.ts +8 -0
  90. package/request-navvy/disk/file.d.ts +2 -3
  91. package/request-navvy/disk/folder.d.ts +2 -2
  92. package/request-navvy/im/chat/user.d.ts +17 -0
  93. package/request-navvy/im/chat.d.ts +65 -2
  94. package/request-navvy/im/counters.d.ts +5 -0
  95. package/request-navvy/im/dialog/messages.d.ts +5 -0
  96. package/request-navvy/im/dialog/read.d.ts +9 -0
  97. package/request-navvy/im/dialog/users.d.ts +5 -0
  98. package/request-navvy/im/dialog.d.ts +32 -0
  99. package/request-navvy/im/recent.d.ts +33 -0
  100. package/request-navvy/im/user/list.d.ts +7 -0
  101. package/request-navvy/im/user/status/idle.d.ts +6 -0
  102. package/request-navvy/im/user/status.d.ts +15 -0
  103. package/request-navvy/im/user.d.ts +14 -0
  104. package/request-navvy/im.d.ts +8 -0
  105. package/request-navvy/pull/application/config.d.ts +5 -0
  106. package/request-navvy/pull/channel/public.d.ts +8 -0
  107. package/request-navvy/pull/config.d.ts +13 -0
  108. package/request-navvy/pull.d.ts +12 -0
  109. package/rest/base.d.ts +2 -2
  110. package/rest/navvy.d.ts +4 -1
  111. package/typification/rest/disk/file.d.ts +4 -5
  112. package/typification/rest/im/chat/add.d.ts +1 -1
  113. package/typification/rest/im/chat/get.d.ts +18 -0
  114. package/typification/rest/im/chat/leave.d.ts +4 -0
  115. package/typification/rest/im/chat/mute.d.ts +10 -0
  116. package/typification/rest/im/chat/setOwner.d.ts +6 -0
  117. package/typification/rest/im/chat/updateAvatar.d.ts +6 -0
  118. package/typification/rest/im/chat/updateColor.d.ts +9 -0
  119. package/typification/rest/im/chat/updateTitle.d.ts +8 -0
  120. package/typification/rest/im/chat/user/add.d.ts +12 -0
  121. package/typification/rest/im/chat/user/delete.d.ts +6 -0
  122. package/typification/rest/im/chat/user/list.d.ts +4 -0
  123. package/typification/rest/im/counters/get.d.ts +13 -0
  124. package/typification/rest/im/dialog/get.d.ts +83 -0
  125. package/typification/rest/im/dialog/messages/get.d.ts +180 -0
  126. package/typification/rest/im/dialog/read.d.ts +25 -0
  127. package/typification/rest/im/dialog/recent/get.d.ts +172 -0
  128. package/typification/rest/im/dialog/recent/list.d.ts +186 -0
  129. package/typification/rest/im/dialog/recent/unread.d.ts +12 -0
  130. package/typification/rest/im/dialog/unread.d.ts +3 -0
  131. package/typification/rest/im/dialog/user/get.d.ts +71 -0
  132. package/typification/rest/im/dialog/writing.d.ts +2 -0
  133. package/typification/rest/im/user/get.d.ts +73 -0
  134. package/typification/rest/im/user/list/get.d.ts +5 -0
  135. package/typification/rest/im/user/status/get.d.ts +7 -0
  136. package/typification/rest/im/user/status/idle.d.ts +4 -0
  137. package/typification/rest/im/user/status/set.d.ts +4 -0
  138. package/typification/rest/pull/application/config/get.d.ts +3 -0
  139. package/typification/rest/pull/channel/get.d.ts +13 -0
  140. package/typification/rest/pull/config/get.d.ts +70 -0
  141. package/typification/rest/pull.d.ts +1 -0
  142. package/typification/rest/user/get.d.ts +3 -3
  143. package/esm2022/request/im/chat.mjs +0 -12
  144. package/esm2022/request/im.mjs +0 -7
  145. package/request/im/chat.d.ts +0 -6
  146. package/request/im.d.ts +0 -4
@@ -0,0 +1,12 @@
1
+ import { iBXRestYesNo } from '../../../base/yes-no';
2
+ export interface iBXRestImChatUserAddParam {
3
+ /** Идентификатор чата */
4
+ CHAT_ID: number;
5
+ /** Идентификаторы новых пользователей*/
6
+ USERS: number[];
7
+ /**
8
+ * Отображение истории переписки для пользователя, которого добавляют в чат этим методом.
9
+ * Y/N - по умолчанию N. Если передать Y, то новый пользователь не будет видеть историю.
10
+ */
11
+ HIDE_HISTORY: iBXRestYesNo;
12
+ }
@@ -0,0 +1,6 @@
1
+ export interface iBXRestImChatUserDeleteParam {
2
+ /** Идентификатор чата */
3
+ CHAT_ID: number;
4
+ /** Идентификатор исключаемого пользователя */
5
+ USER_ID: number;
6
+ }
@@ -0,0 +1,4 @@
1
+ export interface iBXRestImChatUserListParam {
2
+ /** Идентификатор чата */
3
+ CHAT_ID: number;
4
+ }
@@ -0,0 +1,13 @@
1
+ export interface iBXRestImCountersType {
2
+ ALL: number;
3
+ CHAT: number;
4
+ DIALOG: number;
5
+ LINES: number;
6
+ NOTIFY: number;
7
+ }
8
+ export interface iBXRestImCounters {
9
+ CHAT: Record<string, number>;
10
+ DIALOG: Record<string, number>;
11
+ LINES: Record<string, number>;
12
+ TYPE: iBXRestImCountersType;
13
+ }
@@ -0,0 +1,83 @@
1
+ export interface iBXRestImDialogGetParam {
2
+ /**
3
+ * Идентификатор диалога. Формат:
4
+ *
5
+ * chatXXX – чат получателя, если сообщение для чата
6
+ * XXX – идентификатор получателя, если сообщение для приватного диалога
7
+ */
8
+ DIALOG_ID: string | number;
9
+ }
10
+ export interface iBXRestImDialogGet extends iBXRestImDialogGetBase {
11
+ /**
12
+ * идентификатор чата
13
+ */
14
+ id: number;
15
+ /**
16
+ * идентификатор пользователя владельца чата
17
+ */
18
+ owner: number;
19
+ /**
20
+ * дата создания чата
21
+ */
22
+ date_create: Date;
23
+ }
24
+ export interface iBXRestImDialogGetHttp extends iBXRestImDialogGetBase {
25
+ /**
26
+ * идентификатор чата
27
+ */
28
+ id: string;
29
+ /**
30
+ * идентификатор пользователя владельца чата
31
+ */
32
+ owner: string;
33
+ /**
34
+ * дата создания чата в формате АТОМ
35
+ */
36
+ date_create: string;
37
+ }
38
+ export interface iBXRestImDialogGetBase {
39
+ /**
40
+ * название чата
41
+ */
42
+ title: string;
43
+ /**
44
+ * признак участия в чате внешнего экстранет-пользователя (true/false)
45
+ */
46
+ extranet: boolean;
47
+ /**
48
+ * ссылка на аватар (если пусто, значит аватар не задан)
49
+ */
50
+ avatar: string;
51
+ /**
52
+ * цвет чата в формате hex TODO: типизировать
53
+ */
54
+ color: string;
55
+ /**
56
+ * тип чата (групповой чат, чат для звонка, чат открытой линии и тд)
57
+ */
58
+ type: string;
59
+ /**
60
+ * внешний код для чата – тип
61
+ */
62
+ entity_type: string;
63
+ /**
64
+ * внешний код для чата – идентификатор
65
+ */
66
+ entity_id: string;
67
+ /**
68
+ * нешние данные для чата
69
+ */
70
+ entity_data_1: string;
71
+ /**
72
+ * нешние данные для чата
73
+ */
74
+ entity_data_2: string;
75
+ /**
76
+ * нешние данные для чата
77
+ */
78
+ entity_data_3: string;
79
+ /**
80
+ * тип сообщений чата
81
+ */
82
+ message_type: string;
83
+ }
@@ -0,0 +1,180 @@
1
+ import { iBXRestYesNo } from '../../../base/yes-no';
2
+ import { iBXRestImDialogGetParam } from '../get';
3
+ export interface iBXRestImDialogMessagesGetParam extends iBXRestImDialogGetParam {
4
+ /** Идентификатор последнего загруженного сообщения */
5
+ LAST_ID?: number;
6
+ /** Идентификатор первого загруженного сообщения */
7
+ FIRST_ID?: number;
8
+ /** Ограничение на выборку сообщений в диалоге */
9
+ LIMIT?: number;
10
+ }
11
+ export type iBXRestImDialogMessagesGet = iBXRestImDialogMessagesGetBase<iBXRestImDialogMessagesGetMessage>;
12
+ export type iBXRestImDialogMessagesGetHttp = iBXRestImDialogMessagesGetBase<iBXRestImDialogMessagesGetMessageHttp>;
13
+ export interface iBXRestImDialogMessagesGetBase<message = iBXRestImDialogMessagesGetMessageBase> {
14
+ /** массив сообщений */
15
+ messages: message[];
16
+ /** обьекты описания данных пользователя */
17
+ users: iBXRestImDialogMessagesGetUser[];
18
+ /** обьект, описывающий файлы в выбранных сообщениях */
19
+ files: iBXRestImDialogMessagesGetChatFile[];
20
+ /** идентификатор чата */
21
+ chat_id: number;
22
+ }
23
+ export interface iBXRestImDialogMessagesGetMessage extends iBXRestImDialogMessagesGetBase {
24
+ /** Дата сообщения */
25
+ date: Date;
26
+ /** Параметры сообщения (может быть null) */
27
+ params: iBXRestImDialogMessagesGetMessageParams | null;
28
+ }
29
+ export interface iBXRestImDialogMessagesGetMessageHttp extends iBXRestImDialogMessagesGetBase {
30
+ /** Дата сообщения в формате ATOM */
31
+ date: string;
32
+ /** Параметры сообщения (может быть null) */
33
+ params: iBXRestImDialogMessagesGetMessageParamsHttp | null;
34
+ }
35
+ export interface iBXRestImDialogMessagesGetMessageBase {
36
+ /** Идентификатор сообщения */
37
+ id: number;
38
+ /** Идентификатор чата */
39
+ chat_id: number;
40
+ /** Автор сообщения (0 — системное сообщение) */
41
+ author_id: number;
42
+ /** Текст сообщения */
43
+ text: string;
44
+ /** Параметры сообщения (может быть null) */
45
+ params: iBXRestImDialogMessagesGetBase | null;
46
+ }
47
+ export interface iBXRestImDialogMessagesGetMessageParams extends iBXRestImDialogMessagesGetMessageParamsBase {
48
+ /** Признак того, что сообщение содержит только ссылку */
49
+ URL_ONLY?: boolean;
50
+ /** Признак отредактированного сообщения */
51
+ IS_EDITED?: boolean;
52
+ /** Признак удаленного сообщения */
53
+ IS_DELETED?: boolean;
54
+ }
55
+ export interface iBXRestImDialogMessagesGetMessageParamsHttp extends iBXRestImDialogMessagesGetMessageParamsBase {
56
+ /** Признак того, что сообщение содержит только ссылку */
57
+ URL_ONLY?: iBXRestYesNo;
58
+ /** Признак отредактированного сообщения */
59
+ IS_EDITED?: iBXRestYesNo;
60
+ /** Признак удаленного сообщения */
61
+ IS_DELETED?: iBXRestYesNo;
62
+ }
63
+ export interface iBXRestImDialogMessagesGetMessageParamsBase {
64
+ /** Массив идентификаторов URL */
65
+ URL_ID?: number[];
66
+ /** Массив идентификаторов прикрепленных файлов */
67
+ FILE_ID?: number[];
68
+ /** Массив пользователей, поставивших "лайк" */
69
+ LIKE?: number[];
70
+ /** Массив блоков расширенного оформления */
71
+ ATTACH?: iBXRestImDialogMessagesGetMessageParamsAttachment[];
72
+ /** Объект клавиатуры (опционально) */
73
+ KEYBOARD?: any;
74
+ }
75
+ interface iBXRestImDialogMessagesGetMessageParamsAttachment {
76
+ ID: string;
77
+ COLOR: string;
78
+ BLOCKS: iBXRestImDialogMessagesGetMessageParamsAttachmentBlock[];
79
+ }
80
+ interface iBXRestImDialogMessagesGetMessageParamsAttachmentBlock {
81
+ RICH_LINK?: iBXRestImDialogMessagesGetMessageParamsAttachmentRichLink[];
82
+ }
83
+ interface iBXRestImDialogMessagesGetMessageParamsAttachmentRichLink {
84
+ /** Название ссылки */
85
+ NAME: string;
86
+ /** URL ссылки */
87
+ LINK: string;
88
+ /** Описание ссылки */
89
+ DESC: string;
90
+ /** URL изображения-превью */
91
+ PREVIEW: string;
92
+ }
93
+ interface iBXRestImDialogMessagesGetUser {
94
+ /** Идентификатор пользователя */
95
+ id: number;
96
+ /** Имя и фамилия */
97
+ name: string;
98
+ /** Имя */
99
+ first_name: string;
100
+ /** Фамилия */
101
+ last_name: string;
102
+ /** Должность */
103
+ work_position: string;
104
+ /** Цвет (в HEX) */
105
+ color: string;
106
+ /** Ссылка на аватар (может быть пустой строкой) */
107
+ avatar: string;
108
+ /** Пол: "M" или "F" */
109
+ gender: string;
110
+ /** День рождения в формате DD-MM или пустая строка */
111
+ birthday: string;
112
+ /** Признак экстранет-пользователя */
113
+ extranet: boolean;
114
+ /** Признак Bitrix24.Network-пользователя */
115
+ network: boolean;
116
+ /** Признак бота */
117
+ bot: boolean;
118
+ /** Признак открытых линий */
119
+ connector: boolean;
120
+ /** Код внешней авторизации */
121
+ external_auth_id: string;
122
+ /** Статус пользователя (например, "online") */
123
+ status: string;
124
+ /** Время ухода от компьютера или false */
125
+ idle: string | false;
126
+ /** Дата последней активности или false */
127
+ last_activity_date: string | false;
128
+ /** Дата активности в мобильном приложении или false */
129
+ mobile_last_date: string | false;
130
+ /** Дата окончания отпуска или false */
131
+ absent: string | false;
132
+ /** Подразделения */
133
+ departments: number[];
134
+ /** Телефоны или false */
135
+ phones: iBXRestImDialogMessagesGetUserPhones | false;
136
+ }
137
+ interface iBXRestImDialogMessagesGetUserPhones {
138
+ /** Рабочий телефон */
139
+ work_phone?: string;
140
+ /** Мобильный телефон */
141
+ personal_mobile?: string;
142
+ /** Домашний телефон */
143
+ personal_phone?: string;
144
+ }
145
+ interface iBXRestImDialogMessagesGetChatFile {
146
+ /** Идентификатор файла */
147
+ id: number;
148
+ /** Идентификатор чата */
149
+ chatId: number;
150
+ /** Дата добавления */
151
+ date: string;
152
+ /** Тип: "image" или "file" */
153
+ type: 'image' | 'file';
154
+ /** Имя файла */
155
+ name: string;
156
+ /** Размер файла в байтах */
157
+ size: number;
158
+ /** Превью (может быть пустым) */
159
+ preview: string;
160
+ /** Размер изображения, если применимо */
161
+ image?: {
162
+ width: number;
163
+ height: number;
164
+ };
165
+ /** Статус загрузки */
166
+ status: 'done' | 'upload';
167
+ /** Прогресс загрузки: 0–100, -1 если неизвестен */
168
+ progress: number;
169
+ /** Идентификатор автора */
170
+ authorId: number;
171
+ /** Имя автора */
172
+ authorName: string;
173
+ /** Ссылка на предпросмотр (только для изображений) */
174
+ urlPreview?: string;
175
+ /** Ссылка на просмотр */
176
+ urlShow: string;
177
+ /** Ссылка на скачивание */
178
+ urlDownload: string;
179
+ }
180
+ export {};
@@ -0,0 +1,25 @@
1
+ import { iBXRestImDialogGetParam } from './get';
2
+ export interface iBXRestImDialogReadParam extends iBXRestImDialogGetParam {
3
+ /**
4
+ * Идентификатор последнего прочитанного сообщения в диалоге
5
+ */
6
+ MESSAGE_ID: number;
7
+ }
8
+ export interface iBXRestImDialogRead {
9
+ /**
10
+ * идентификатор прочитанного диалога
11
+ */
12
+ dialogId: string;
13
+ /**
14
+ * идентификатор чата
15
+ */
16
+ chatId: number;
17
+ /**
18
+ * кол-во непрочитанных сообщений после выполнения метода
19
+ */
20
+ counter: number;
21
+ /**
22
+ * последнее прочитанное сообщение
23
+ */
24
+ lastId: number;
25
+ }
@@ -0,0 +1,172 @@
1
+ import { iBXRestYesNo } from '../../../base/yes-no';
2
+ export interface iBXRestImDialogRecentGetParam {
3
+ /**
4
+ * Пропускать чаты открытых линий
5
+ */
6
+ SKIP_OPENLINES?: iBXRestYesNo;
7
+ /** Пропускать чаты */
8
+ SKIP_CHAT?: iBXRestYesNo;
9
+ /** Пропускать диалоги один-на-один */
10
+ SKIP_DIALOG?: iBXRestYesNo;
11
+ /**
12
+ * Ограничение выборки для минимизации переданных данных.
13
+ */
14
+ LAST_UPDATE?: Date;
15
+ /**
16
+ * Выборка только чатов открытых линий
17
+ */
18
+ ONLY_OPENLINES?: iBXRestYesNo;
19
+ /**
20
+ * Дата предыдущей выборки для загрузки изменений, произошедших в списке с этого времени.
21
+ * Выборка возвращает данные не старше 7 дней.
22
+ */
23
+ LAST_SYNC_DATE?: Date;
24
+ }
25
+ export interface iBXRestImDialogRecentGetAvatar {
26
+ /** Ссылка на аватар (если пусто — аватар не задан) */
27
+ url: string;
28
+ /** Цвет диалога в формате hex */
29
+ color: string;
30
+ }
31
+ export interface iBXRestImDialogRecentGetMessage {
32
+ /** Идентификатор сообщения */
33
+ id: string;
34
+ /** Текст сообщения (без BB-кодов и переносов строк) */
35
+ text: string;
36
+ /** Признак наличия файлов */
37
+ file: boolean;
38
+ /** Признак наличия вложений */
39
+ attach: boolean;
40
+ /** Идентификатор автора сообщения */
41
+ author_id: string;
42
+ }
43
+ export interface iBXRestImDialogRecentGetUserData extends iBXRestImDialogRecentGetUserDataBase {
44
+ /** Идентификатор пользователя */
45
+ id: number;
46
+ /** Дата последнего действия пользователя */
47
+ last_activity_date: Date | false;
48
+ /** Дата последней активности в мобильном приложении или false */
49
+ mobile_last_date: Date | false;
50
+ /** Дата окончания отпуска или false */
51
+ absent: Date | false;
52
+ }
53
+ export interface iBXRestImDialogRecentGetUserDataHttp extends iBXRestImDialogRecentGetUserDataBase {
54
+ /** Идентификатор пользователя */
55
+ id: string;
56
+ /** Дата последнего действия пользователя */
57
+ last_activity_date: string;
58
+ /** Дата последней активности в мобильном приложении или false */
59
+ mobile_last_date: string | false;
60
+ /** Дата окончания отпуска или false */
61
+ absent: string | false;
62
+ }
63
+ export interface iBXRestImDialogRecentGetUserDataBase {
64
+ /** Полное имя (имя и фамилия) */
65
+ name: string;
66
+ /** Имя пользователя */
67
+ first_name: string;
68
+ /** Фамилия пользователя */
69
+ last_name: string;
70
+ /** Должность пользователя */
71
+ work_position: string;
72
+ /** Цвет в формате hex */
73
+ color: string;
74
+ /** Ссылка на аватар */
75
+ avatar: string;
76
+ /** Пол пользователя (M/F) */
77
+ gender: string;
78
+ /** День рождения в формате DD-MM или false */
79
+ birthday: string | false;
80
+ /** Внешний экстранет-пользователь */
81
+ extranet: boolean;
82
+ /** Пользователь Битрикс24.Network */
83
+ network: boolean;
84
+ /** Бот */
85
+ bot: boolean;
86
+ /** Пользователь открытых линий */
87
+ connector: boolean;
88
+ /** Код внешней авторизации */
89
+ external_auth_id: string;
90
+ /** Статус пользователя (например, online) */
91
+ status: string;
92
+ /** Дата, когда пользователь отошел от компьютера, или false */
93
+ idle: string | false;
94
+ }
95
+ export interface iBXRestImDialogRecentGetChatData extends iBXRestImDialogRecentGetChatDataBase {
96
+ /** Идентификатор чата */
97
+ id: number;
98
+ /** Дата создания чата */
99
+ date_create: Date;
100
+ }
101
+ export interface iBXRestImDialogRecentGetChatDataHttp extends iBXRestImDialogRecentGetChatDataBase {
102
+ /** Идентификатор чата */
103
+ id: string;
104
+ /** Дата создания чата */
105
+ date_create: string;
106
+ }
107
+ export interface iBXRestImDialogRecentGetChatDataBase {
108
+ /** Название чата */
109
+ title: string;
110
+ /** Идентификатор владельца чата */
111
+ owner: string;
112
+ /** Признак участия внешнего пользователя */
113
+ extranet: boolean;
114
+ /** Ссылка на аватар чата */
115
+ avatar: string;
116
+ /** Цвет чата */
117
+ color: string;
118
+ /** Тип чата (chat, openline и т.д.) */
119
+ type: string;
120
+ /** Внешний код чата — тип */
121
+ entity_type: string;
122
+ /** Внешний код чата — идентификатор (может отсутствовать) */
123
+ entity_id?: string;
124
+ /** Внешние данные для чата (1) */
125
+ entity_data_1: string;
126
+ /** Внешние данные для чата (2) */
127
+ entity_data_2: string;
128
+ /** Внешние данные для чата (3) */
129
+ entity_data_3: string;
130
+ /** Тип сообщений в чате (обычно "C") */
131
+ message_type: string;
132
+ }
133
+ export interface iBXRestImDialogRecentGet extends iBXRestImDialogRecentGetBase {
134
+ /** Дата последнего сообщения */
135
+ date_update: Date;
136
+ /** Объект пользователя, если type === 'user' */
137
+ user?: iBXRestImDialogRecentGetUserData;
138
+ /** Объект чата, если type === 'chat' */
139
+ chat?: iBXRestImDialogRecentGetChatData;
140
+ }
141
+ export interface iBXRestImDialogRecentGetHttp extends iBXRestImDialogRecentGetBase {
142
+ /** Дата последнего сообщения */
143
+ date_update: string;
144
+ /**
145
+ * Объект пользователя, если type === 'user'
146
+ * Посмотреть бы в глаза тому человеку что эту хуету сделала, ну тип {id: 0} это ахуй
147
+ *
148
+ */
149
+ user?: iBXRestImDialogRecentGetUserDataHttp | {
150
+ id: 0;
151
+ };
152
+ /** Объект чата, если type === 'chat' */
153
+ chat?: iBXRestImDialogRecentGetChatDataHttp;
154
+ }
155
+ export interface iBXRestImDialogRecentGetBase {
156
+ /** Идентификатор записи: число для пользователя, строка "chatXXX" для чата */
157
+ id: string | number;
158
+ /** Количество непрочитанных сообщений */
159
+ counter: number;
160
+ /** Тип записи: 'user' или 'chat' */
161
+ type: 'user' | 'chat';
162
+ /** Объект аватара */
163
+ avatar: iBXRestImDialogRecentGetAvatar;
164
+ /** Заголовок: имя пользователя или название чата */
165
+ title: string;
166
+ /** Последнее сообщение */
167
+ message: iBXRestImDialogRecentGetMessage;
168
+ /** Объект пользователя, если type === 'user' */
169
+ user?: iBXRestImDialogRecentGetUserDataBase | {
170
+ id: 0;
171
+ };
172
+ }