bx-rest 0.23.0 → 0.25.0
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/README.en.md +578 -0
- package/README.md +110 -84
- package/esm2022/map/calendar/event.mjs +29 -15
- package/esm2022/map/calendar/section.mjs +13 -6
- package/esm2022/map/crm/calllist.mjs +16 -9
- package/esm2022/request-navvy/calendar/event.mjs +20 -8
- package/esm2022/request-navvy/calendar/section.mjs +10 -4
- package/esm2022/request-navvy/crm/calllist/index.mjs +9 -5
- package/esm2022/services/base.mjs +163 -6
- package/esm2022/typification/rest/calendar/event/get.mjs +1 -1
- package/fesm2022/bx-rest.mjs +253 -45
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/map/calendar/event.d.ts +13 -3
- package/map/calendar/section.d.ts +9 -2
- package/map/crm/calllist.d.ts +11 -4
- package/package.json +6 -2
- package/request-navvy/calendar/event.d.ts +11 -5
- package/request-navvy/calendar/section.d.ts +8 -2
- package/request-navvy/crm/calllist/index.d.ts +6 -2
- package/services/base.d.ts +27 -3
- package/typification/rest/calendar/event/get.d.ts +2 -2
package/map/calendar/event.d.ts
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { iBXRestCalendarEventGetAnswer, iBXRestCalendarEventGetAnswerHttp } from '../../typification/rest/calendar/event/get';
|
|
2
2
|
export declare class BXRestMapCalendarEvent {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @param item
|
|
5
|
+
* @param dateTimeFormat Формат полей с датой и временем (`DATE_CREATE`, `DATE_FROM`, `DATE_TO`, `TIMESTAMP_X`
|
|
6
|
+
* и т.д.). По умолчанию — распространённый на многих порталах `'dd.MM.yyyy HH:mm:ss'`, но реальный формат
|
|
7
|
+
* зависит от настроек портала (Настройки → формат даты и времени) — если он известен, передавайте его явно.
|
|
8
|
+
* Формат для полей только с датой (`EXDATE`, `RRULE.UNTIL`) выводится из этого же значения
|
|
9
|
+
* (отбрасыванием `HH:mm:ss`) — передавать его отдельно не нужно.
|
|
10
|
+
*/
|
|
11
|
+
static getById(item: iBXRestCalendarEventGetAnswerHttp | undefined | null, dateTimeFormat?: string): iBXRestCalendarEventGetAnswer | undefined;
|
|
12
|
+
/** @see getById */
|
|
13
|
+
static get(item: iBXRestCalendarEventGetAnswerHttp[] | undefined, dateTimeFormat?: string): iBXRestCalendarEventGetAnswer[] | undefined;
|
|
14
|
+
/** @see getById */
|
|
15
|
+
static CalendarEventGetAnswerHttpToCalendarEventGetAnswer(item: iBXRestCalendarEventGetAnswerHttp, dateTimeFormat?: string): iBXRestCalendarEventGetAnswer;
|
|
6
16
|
}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { iBXRestCalendarSectionGet, iBXRestCalendarSectionGetHttp } from '../../typification/rest/calendar/section/get';
|
|
2
2
|
export declare class BXRestMapCalendarSection {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @param item
|
|
5
|
+
* @param dateTimeFormat Формат полей `DATE_CREATE`/`TIMESTAMP_X`. По умолчанию — распространённый на многих
|
|
6
|
+
* порталах `'dd.MM.yyyy HH:mm:ss'`, но реальный формат зависит от настроек портала (Настройки → формат
|
|
7
|
+
* даты и времени) — если он известен, передавайте его явно.
|
|
8
|
+
*/
|
|
9
|
+
static get(item: iBXRestCalendarSectionGetHttp[] | undefined, dateTimeFormat?: string): iBXRestCalendarSectionGet[] | undefined;
|
|
10
|
+
/** @see get */
|
|
11
|
+
static CalendarSectionGetHttpToCalendarSectionGetHttp(item: iBXRestCalendarSectionGetHttp, dateTimeFormat?: string): iBXRestCalendarSectionGet;
|
|
5
12
|
}
|
package/map/crm/calllist.d.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { iBXRestCrmCallList, iBXRestCrmCallListHttp, iBXRestCrmCallListListItem, iBXRestCrmCallListListItemHttp } from '../../typification/rest/crm';
|
|
2
2
|
export declare class BXRestMapCrmCallList {
|
|
3
|
-
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Преобразует данные списка обзвона из формата Bitrix24 в локальный формат.
|
|
5
|
+
*
|
|
6
|
+
* @param value
|
|
7
|
+
* @param dateTimeFormat Формат поля `DATE_CREATE`. По умолчанию — `'yyyy-MM-dd HH:mm:ss'`, но реальный
|
|
8
|
+
* формат зависит от настроек портала (Настройки → формат даты и времени) — если он известен,
|
|
9
|
+
* передавайте его явно.
|
|
10
|
+
*/
|
|
11
|
+
static get(value: iBXRestCrmCallListHttp | undefined, dateTimeFormat?: string): iBXRestCrmCallList | undefined;
|
|
12
|
+
/** Преобразует список обзвонов с учетом полей, выбранных через `SELECT`. @see get */
|
|
13
|
+
static list(value: iBXRestCrmCallListListItemHttp[] | undefined, dateTimeFormat?: string): iBXRestCrmCallListListItem[] | undefined;
|
|
7
14
|
private static mapItem;
|
|
8
15
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bx-rest",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.0",
|
|
4
4
|
"description": "Bitrix24 REST API client and TypeScript SDK for Angular, Vue and browser apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bitrix",
|
|
@@ -27,6 +27,10 @@
|
|
|
27
27
|
"url": "https://github.com/Aricatofuka/bx-rest/issues"
|
|
28
28
|
},
|
|
29
29
|
"homepage": "https://github.com/Aricatofuka/bx-rest#readme",
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "git+https://github.com/Aricatofuka/bx-rest.git"
|
|
33
|
+
},
|
|
30
34
|
"dependencies": {
|
|
31
35
|
"axios": "^1.19.0",
|
|
32
36
|
"countries-and-timezones": "^3.7.2",
|
|
@@ -34,7 +38,6 @@
|
|
|
34
38
|
"just-clone": "^6.2.0",
|
|
35
39
|
"just-flatten-it": "^5.2.0",
|
|
36
40
|
"just-values": "^2.2.0",
|
|
37
|
-
"luxon": "^3.4.4",
|
|
38
41
|
"qs-esm": "^8.0.1",
|
|
39
42
|
"rxjs": "^7.8.1",
|
|
40
43
|
"snake-camel-types": "^1.0.1",
|
|
@@ -43,6 +46,7 @@
|
|
|
43
46
|
},
|
|
44
47
|
"files": [
|
|
45
48
|
"README.md",
|
|
49
|
+
"README.en.md",
|
|
46
50
|
"LICENSE",
|
|
47
51
|
"*.d.ts",
|
|
48
52
|
"consts",
|
|
@@ -6,12 +6,18 @@ export declare class BXRestNavvyRestCalendarEvent {
|
|
|
6
6
|
add(param: iBXRestCalendarEventAddParam): import("../../services/navvy").NavvySimple<number, number, iBXRestCalendarEventAddParam | undefined>;
|
|
7
7
|
/** Добавляет событие в календарь */
|
|
8
8
|
delete(param: iBXRestCalendarEventDeleteParam): import("../../services/navvy").NavvySimple<boolean, boolean, iBXRestCalendarEventDeleteParam | undefined>;
|
|
9
|
-
get: ((param: iBXRestCalendarEventGetParam) => import("../../services/navvy").NavvySimple<import("../../typification/rest/calendar").iBXRestCalendarEventGetAnswerHttp[], import("../../typification/rest/calendar").iBXRestCalendarEventGetAnswer[], iBXRestCalendarEventGetParam | undefined>) & {
|
|
10
|
-
/** Метод получает список будущих
|
|
11
|
-
nearest: (param: iBXRestCalendarEventGetNearestParam) => import("../../services/navvy").NavvySimple<import("../../typification/rest/calendar").iBXRestCalendarEventGetAnswerHttp[], import("../../typification/rest/calendar").iBXRestCalendarEventGetAnswer[], iBXRestCalendarEventGetNearestParam | undefined>;
|
|
9
|
+
get: ((param: iBXRestCalendarEventGetParam, dateTimeFormat?: string) => import("../../services/navvy").NavvySimple<import("../../typification/rest/calendar").iBXRestCalendarEventGetAnswerHttp[], import("../../typification/rest/calendar").iBXRestCalendarEventGetAnswer[], iBXRestCalendarEventGetParam | undefined>) & {
|
|
10
|
+
/** Метод получает список будущих событий. @see get */
|
|
11
|
+
nearest: (param: iBXRestCalendarEventGetNearestParam, dateTimeFormat?: string) => import("../../services/navvy").NavvySimple<import("../../typification/rest/calendar").iBXRestCalendarEventGetAnswerHttp[], import("../../typification/rest/calendar").iBXRestCalendarEventGetAnswer[], iBXRestCalendarEventGetNearestParam | undefined>;
|
|
12
12
|
};
|
|
13
13
|
/** Обновление событие в календарь */
|
|
14
14
|
update(param: iBXRestCalendarEventUpdateParam): import("../../services/navvy").NavvySimple<number, number, iBXRestCalendarEventUpdateParam | undefined>;
|
|
15
|
-
/**
|
|
16
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Метод получает информацию о событии календаря по идентификатору.
|
|
17
|
+
*
|
|
18
|
+
* @param param
|
|
19
|
+
* @param dateTimeFormat Формат полей с датой и временем в ответе (см. {@link BXRestMapCalendarEvent.getById}).
|
|
20
|
+
* Передавайте явно, если формат дат на портале отличается от значения по умолчанию.
|
|
21
|
+
*/
|
|
22
|
+
getById(param: iBXRestCalendarEventGetByIdParam, dateTimeFormat?: string): import("../../services/navvy").NavvySimple<import("../../typification/rest/calendar").iBXRestCalendarEventGetAnswerHttp | null, import("../../typification/rest/calendar").iBXRestCalendarEventGetAnswer, iBXRestCalendarEventGetByIdParam | undefined>;
|
|
17
23
|
}
|
|
@@ -2,8 +2,14 @@ import { iBXRestCalendarSectionGetParam, iBXRestCalendarSectionAddParam, iBXRest
|
|
|
2
2
|
export declare class BXRestNavvyRestCalendarSection {
|
|
3
3
|
private url;
|
|
4
4
|
private readonly Navvy;
|
|
5
|
-
/**
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Возвращает описание разделов, всегда весь список, паганации в методе нет да и не нужна.
|
|
7
|
+
*
|
|
8
|
+
* @param param
|
|
9
|
+
* @param dateTimeFormat Формат полей `DATE_CREATE`/`TIMESTAMP_X` в ответе (см. {@link BXRestMapCalendarSection.get}).
|
|
10
|
+
* Передавайте явно, если формат дат на портале отличается от значения по умолчанию.
|
|
11
|
+
*/
|
|
12
|
+
get(param: iBXRestCalendarSectionGetParam, dateTimeFormat?: string): import("../../services/navvy").NavvySimple<import("../../typification/rest/calendar").iBXRestCalendarSectionGetHttp[], import("../../typification/rest/calendar").iBXRestCalendarSectionGet[], iBXRestCalendarSectionGetParam | undefined>;
|
|
7
13
|
/** Добавляет новый раздел */
|
|
8
14
|
add(param: iBXRestCalendarSectionAddParam): import("../../services/navvy").NavvySimple<number, number, iBXRestCalendarSectionAddParam | undefined>;
|
|
9
15
|
/** Удаляет раздел */
|
|
@@ -22,18 +22,22 @@ export declare class BXRestNavvyCrmCallList {
|
|
|
22
22
|
* Участников можно получить через `items.get()`.
|
|
23
23
|
*
|
|
24
24
|
* @param param Идентификатор списка обзвона.
|
|
25
|
+
* @param dateTimeFormat Формат поля `DATE_CREATE` в ответе (см. {@link BXRestMapCrmCallList.get}).
|
|
26
|
+
* Передавайте явно, если формат дат на портале отличается от значения по умолчанию.
|
|
25
27
|
* @see https://apidocs.bitrix24.ru/api-reference/crm/call-list/crm-calllist-get.html
|
|
26
28
|
*/
|
|
27
|
-
get(param: iBXRestParamCrmCallListGet): import("../../../services/navvy").NavvySimple<iBXRestCrmCallListHttp, iBXRestCrmCallList, iBXRestParamCrmCallListGet | undefined>;
|
|
29
|
+
get(param: iBXRestParamCrmCallListGet, dateTimeFormat?: string): import("../../../services/navvy").NavvySimple<iBXRestCrmCallListHttp, iBXRestCrmCallList, iBXRestParamCrmCallListGet | undefined>;
|
|
28
30
|
/**
|
|
29
31
|
* Возвращает списки обзвона с выборкой полей, фильтрацией и сортировкой.
|
|
30
32
|
*
|
|
31
33
|
* Набор полей каждого элемента результата зависит от `SELECT`.
|
|
32
34
|
*
|
|
33
35
|
* @param param Выбираемые поля, фильтр и порядок сортировки.
|
|
36
|
+
* @param dateTimeFormat Формат поля `DATE_CREATE` в ответе (см. {@link BXRestMapCrmCallList.list}).
|
|
37
|
+
* Передавайте явно, если формат дат на портале отличается от значения по умолчанию.
|
|
34
38
|
* @see https://apidocs.bitrix24.ru/api-reference/crm/call-list/crm-calllist-list.html
|
|
35
39
|
*/
|
|
36
|
-
list(param?: iBXRestParamCrmCallListList): import("../../../services/navvy").NavvySimple<Partial<iBXRestCrmCallListHttp>[], Partial<iBXRestCrmCallList>[], iBXRestParamCrmCallListList | undefined>;
|
|
40
|
+
list(param?: iBXRestParamCrmCallListList, dateTimeFormat?: string): import("../../../services/navvy").NavvySimple<Partial<iBXRestCrmCallListHttp>[], Partial<iBXRestCrmCallList>[], iBXRestParamCrmCallListList | undefined>;
|
|
37
41
|
/**
|
|
38
42
|
* Возвращает справочник статусов обзвона.
|
|
39
43
|
*
|
package/services/base.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { DateTimeOptions } from 'luxon';
|
|
2
1
|
/**
|
|
3
2
|
* Преобразует значение в строку
|
|
4
3
|
*
|
|
@@ -19,9 +18,34 @@ export declare class ToNumError extends Error {
|
|
|
19
18
|
toString(): string;
|
|
20
19
|
}
|
|
21
20
|
/**
|
|
22
|
-
*
|
|
21
|
+
* Опции для toDate(). Оставлены для обратной совместимости сигнатуры — ранее пробрасывались
|
|
22
|
+
* в luxon (зона/локаль). Разбор даты теперь не зависит от внешних библиотек и поддерживает
|
|
23
|
+
* только фиксированные числовые токены (см. parseDateWithFormat), поэтому опции сейчас не используются.
|
|
23
24
|
*/
|
|
24
|
-
export
|
|
25
|
+
export interface ToDateOptions {
|
|
26
|
+
zone?: string;
|
|
27
|
+
locale?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Выводит формат "только дата" из формата даты-и-времени — отрезает время и разделитель перед
|
|
31
|
+
* ним (например, `'dd.MM.yyyy HH:mm:ss'` → `'dd.MM.yyyy'`). Порядок день/месяц/год у полей
|
|
32
|
+
* "дата" и "дата-время" на одном портале Bitrix24 всегда согласован — различается только
|
|
33
|
+
* наличие `HH:mm:ss`, поэтому нет смысла заставлять вызывающего передавать оба формата и
|
|
34
|
+
* держать их в синхроне вручную.
|
|
35
|
+
*/
|
|
36
|
+
export declare function deriveDateOnlyFormat(dateTimeFormat: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Преобразует значение в дату.
|
|
39
|
+
*
|
|
40
|
+
* Если передан `format`, но значение ему не соответствует (см. FALLBACK_DATE_FORMATS —
|
|
41
|
+
* актуально для полей, где Bitrix24 отдаёт дату в формате, настроенном на портале, а не в
|
|
42
|
+
* том, что захардкожен в маппере), перед тем как считать значение невалидным, делаются ещё
|
|
43
|
+
* две попытки: другие распространённые форматы Bitrix24, а затем — позиционная эвристика
|
|
44
|
+
* (см. parseDateHeuristically), которая распознаёт практически любой чисто числовой формат
|
|
45
|
+
* даты независимо от разделителя. Если приложению точно известен формат конкретного портала,
|
|
46
|
+
* его стоит передавать явным `format` — это всегда приоритетнее угадывания.
|
|
47
|
+
*/
|
|
48
|
+
export declare function toDate(val: number | string | Date, format?: string, opt?: ToDateOptions, throwError?: boolean): Date;
|
|
25
49
|
/**
|
|
26
50
|
* Преобразует дату в строку с учетом временной зоны
|
|
27
51
|
*
|
|
@@ -113,8 +113,8 @@ interface iBXRestCalendarEventGetAnswerRuleHttp extends iBXRestCalendarEventGetA
|
|
|
113
113
|
'~UNTIL': string;
|
|
114
114
|
}
|
|
115
115
|
interface iBXRestCalendarEventGetAnswerRule extends iBXRestCalendarEventGetAnswerRuleBase {
|
|
116
|
-
UNTIL: Date;
|
|
117
|
-
'~UNTIL': Date;
|
|
116
|
+
UNTIL: Date | null;
|
|
117
|
+
'~UNTIL': Date | null;
|
|
118
118
|
}
|
|
119
119
|
interface iBXRestCalendarEventGetAnswerRuleBase {
|
|
120
120
|
FR?: 'FR';
|