@escapenavigator/types 2.1.18 → 2.1.20
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/dist/integrations/admin-integration.ro.d.ts +14 -0
- package/dist/integrations/crm-integration-status.ro.d.ts +12 -0
- package/dist/integrations/partner-wire.d.ts +4 -4
- package/dist/integrations/partner-wire.js +4 -4
- package/dist/openapi/order-groups/openapi-batch-create-preorder.dto.d.ts +1 -1
- package/dist/openapi/order-groups/openapi-batch-create-preorder.dto.js +1 -1
- package/dist/openapi/orders/openapi-create-preorder.dto.d.ts +1 -1
- package/dist/questroom/create-questroom.dto.js +2 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/bookeo/bookeo-info.ro.d.ts +0 -11
- package/dist/bookeo/bookeo-info.ro.js +0 -2
- package/dist/bookeo/bookeo-order.ro.d.ts +0 -15
- package/dist/bookeo/bookeo-order.ro.js +0 -2
- package/dist/bookeo/bookeo-weekly-slot.ro.d.ts +0 -9
- package/dist/bookeo/bookeo-weekly-slot.ro.js +0 -2
- package/dist/bookeo/bookeo-weekly-slots.dto.d.ts +0 -4
- package/dist/bookeo/bookeo-weekly-slots.dto.js +0 -27
|
@@ -82,15 +82,29 @@ export type AdminIntegrationResourceRow = {
|
|
|
82
82
|
matchConfidence: number | null;
|
|
83
83
|
lastSeenAt: string | null;
|
|
84
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Поле доступа в карточке: значение целиком не отдаём.
|
|
87
|
+
* Для URL — хост и путь без query (там часто лежит ключ), для секрета — хвост.
|
|
88
|
+
*/
|
|
89
|
+
export type AdminCredentialPreview = {
|
|
90
|
+
key: string;
|
|
91
|
+
kind: 'url' | 'secret' | 'text';
|
|
92
|
+
preview: string;
|
|
93
|
+
};
|
|
85
94
|
/** Карточка подключения: всё, что нужно для разговора с квестом. */
|
|
86
95
|
export type AdminIntegrationConnection = AdminIntegrationConnectionRow & {
|
|
87
96
|
/** Какие поля доступа заполнены. Значения не отдаются никогда. */
|
|
88
97
|
credentialsFilled: string[];
|
|
98
|
+
/** Ссылки и прочие доступы в безопасном виде — чтобы видеть, что именно подключено. */
|
|
99
|
+
credentialPreviews: AdminCredentialPreview[];
|
|
89
100
|
settings: Record<string, unknown>;
|
|
90
101
|
createdAt: string;
|
|
91
102
|
lastSuccessAt: string | null;
|
|
92
103
|
lastVerifiedAt: string | null;
|
|
93
104
|
breakerOpenUntil: string | null;
|
|
105
|
+
verifyError: string | null;
|
|
106
|
+
adminComment: string | null;
|
|
107
|
+
selfServed: boolean;
|
|
94
108
|
resourceRows: AdminIntegrationResourceRow[];
|
|
95
109
|
incidents: AdminIntegrationIncidentRow[];
|
|
96
110
|
runs: AdminIntegrationRunRow[];
|
|
@@ -81,3 +81,15 @@ export type CrmIntegrationStatus = {
|
|
|
81
81
|
/** С какого момента проблема, если она есть. */
|
|
82
82
|
problemSince: string | null;
|
|
83
83
|
};
|
|
84
|
+
/**
|
|
85
|
+
* Данные для формы редактирования. Владелец видит свои же ссылки — иначе
|
|
86
|
+
* мастер открывается пустым, и кажется, что подключение стёрлось.
|
|
87
|
+
*/
|
|
88
|
+
export type CrmIntegrationConnectionEdit = {
|
|
89
|
+
connectionId: number;
|
|
90
|
+
providerCode: IntegrationProviderCodeEnum;
|
|
91
|
+
title: string;
|
|
92
|
+
questroomId: number | null;
|
|
93
|
+
credentials: Record<string, string>;
|
|
94
|
+
settings: Record<string, unknown>;
|
|
95
|
+
};
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
* - **наружу** — `/morty/*` и любой партнёр, который читает наше расписание;
|
|
6
6
|
* сериализуется классами `MortyTimeslotRO`, `MortyAttractionRO`,
|
|
7
7
|
* `MortyBookingRO`;
|
|
8
|
-
* - **внутрь** — Partner Booking API: мы читаем внешнюю систему
|
|
9
|
-
* `
|
|
8
|
+
* - **внутрь** — Partner Booking API: мы читаем внешнюю систему транспортом
|
|
9
|
+
* `PartnerApiTransport`.
|
|
10
10
|
*
|
|
11
11
|
* Документ для партнёров обещает побайтовое зеркало: *«If you already expose an
|
|
12
12
|
* API for Morty, you can reuse it as is — just issue us a separate token»*.
|
|
13
13
|
* Пока схема была объявлена дважды (декорированные RO для исходящего и
|
|
14
|
-
* локальные типы
|
|
15
|
-
*
|
|
14
|
+
* локальные типы на входящем клиенте), это обещание держалось на честном
|
|
15
|
+
* слове: правка одной копии не ломала ничего в другой.
|
|
16
16
|
* Здесь — единственное объявление; RO-классы проверяются на совместимость с
|
|
17
17
|
* ним на этапе компиляции (см. `morty-timeslot.ro.ts`).
|
|
18
18
|
*
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
* - **наружу** — `/morty/*` и любой партнёр, который читает наше расписание;
|
|
7
7
|
* сериализуется классами `MortyTimeslotRO`, `MortyAttractionRO`,
|
|
8
8
|
* `MortyBookingRO`;
|
|
9
|
-
* - **внутрь** — Partner Booking API: мы читаем внешнюю систему
|
|
10
|
-
* `
|
|
9
|
+
* - **внутрь** — Partner Booking API: мы читаем внешнюю систему транспортом
|
|
10
|
+
* `PartnerApiTransport`.
|
|
11
11
|
*
|
|
12
12
|
* Документ для партнёров обещает побайтовое зеркало: *«If you already expose an
|
|
13
13
|
* API for Morty, you can reuse it as is — just issue us a separate token»*.
|
|
14
14
|
* Пока схема была объявлена дважды (декорированные RO для исходящего и
|
|
15
|
-
* локальные типы
|
|
16
|
-
*
|
|
15
|
+
* локальные типы на входящем клиенте), это обещание держалось на честном
|
|
16
|
+
* слове: правка одной копии не ломала ничего в другой.
|
|
17
17
|
* Здесь — единственное объявление; RO-классы проверяются на совместимость с
|
|
18
18
|
* ним на этапе компиляции (см. `morty-timeslot.ro.ts`).
|
|
19
19
|
*
|
|
@@ -14,7 +14,7 @@ import { OpenapiCreatePreorderDto } from '../orders/openapi-create-preorder.dto'
|
|
|
14
14
|
* ни одного ордера не осталось.
|
|
15
15
|
*
|
|
16
16
|
* Ограничения:
|
|
17
|
-
* • `items.length` в [2,
|
|
17
|
+
* • `items.length` в [2, ORDER_GROUP_SIZE_LIMIT] — одиночный preorder идёт через
|
|
18
18
|
* POST /openapi/orders/preorder (там нет смысла создавать группу);
|
|
19
19
|
* верхний лимит — `OrderGroupService.ORDER_GROUP_SIZE_LIMIT`.
|
|
20
20
|
* • Все items должны иметь идентичные client-fields (name/phone/email/...).
|
|
@@ -28,7 +28,7 @@ const openapi_create_preorder_dto_1 = require("../orders/openapi-create-preorder
|
|
|
28
28
|
* ни одного ордера не осталось.
|
|
29
29
|
*
|
|
30
30
|
* Ограничения:
|
|
31
|
-
* • `items.length` в [2,
|
|
31
|
+
* • `items.length` в [2, ORDER_GROUP_SIZE_LIMIT] — одиночный preorder идёт через
|
|
32
32
|
* POST /openapi/orders/preorder (там нет смысла создавать группу);
|
|
33
33
|
* верхний лимит — `OrderGroupService.ORDER_GROUP_SIZE_LIMIT`.
|
|
34
34
|
* • Все items должны иметь идентичные client-fields (name/phone/email/...).
|
|
@@ -19,7 +19,7 @@ export declare class OpenapiCreatePreorderDto extends ClientFormDto {
|
|
|
19
19
|
* непустой массив, бэкенд создаёт OrderGroupEntity (если её ещё нет)
|
|
20
20
|
* и привязывает все указанные ордеры + только что созданный к группе.
|
|
21
21
|
* Используется для оплаты нескольких игр одной транзакцией. Лимит
|
|
22
|
-
* группы —
|
|
22
|
+
* группы — `OrderGroupService.ORDER_GROUP_SIZE_LIMIT`.
|
|
23
23
|
*/
|
|
24
24
|
attachToOrderTokens?: string[];
|
|
25
25
|
players: number;
|
|
@@ -45,7 +45,7 @@ __decorate([
|
|
|
45
45
|
__decorate([
|
|
46
46
|
(0, class_validator_1.IsOptional)(),
|
|
47
47
|
(0, class_transformer_1.Expose)(),
|
|
48
|
-
(0, class_validator_1.MaxLength)(
|
|
48
|
+
(0, class_validator_1.MaxLength)(3000),
|
|
49
49
|
__metadata("design:type", String)
|
|
50
50
|
], Locale.prototype, "importantInfo", void 0);
|
|
51
51
|
__decorate([
|
|
@@ -294,7 +294,7 @@ __decorate([
|
|
|
294
294
|
__decorate([
|
|
295
295
|
(0, class_validator_1.IsOptional)(),
|
|
296
296
|
(0, class_transformer_1.Expose)(),
|
|
297
|
-
(0, class_validator_1.MaxLength)(
|
|
297
|
+
(0, class_validator_1.MaxLength)(3000),
|
|
298
298
|
__metadata("design:type", String)
|
|
299
299
|
], CreateQuestroomDto.prototype, "importantInfo", void 0);
|
|
300
300
|
__decorate([
|