@escapenavigator/types 2.0.10 → 2.0.12
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/agregator/agregator-outdoor.ro.d.ts +111 -0
- package/dist/agregator/agregator-outdoor.ro.js +11 -0
- package/dist/agregator/agregator-questroom.ro.d.ts +8 -0
- package/dist/agregator/agregator-questroom.ro.js +4 -0
- package/dist/location/transfer-location-for-admin.dto.d.ts +5 -0
- package/dist/location/transfer-location-for-admin.dto.js +25 -0
- package/dist/partners-portal/admin/admin-moderate-portal-story.dto.d.ts +8 -0
- package/dist/partners-portal/admin/admin-moderate-portal-story.dto.js +35 -0
- package/dist/partners-portal/admin/admin-portal-partner.ro.d.ts +10 -0
- package/dist/partners-portal/admin/admin-portal-partner.ro.js +2 -0
- package/dist/partners-portal/admin/admin-update-portal-material-order.dto.d.ts +5 -0
- package/dist/partners-portal/admin/admin-update-portal-material-order.dto.js +29 -0
- package/dist/partners-portal/admin/admin-update-portal-partner.dto.d.ts +6 -0
- package/dist/partners-portal/admin/admin-update-portal-partner.dto.js +37 -0
- package/dist/partners-portal/create-portal-material-order.dto.d.ts +7 -0
- package/dist/partners-portal/create-portal-material-order.dto.js +36 -0
- package/dist/partners-portal/create-portal-story.dto.d.ts +18 -0
- package/dist/partners-portal/create-portal-story.dto.js +86 -0
- package/dist/partners-portal/enum/portal-material-order-status.enum.d.ts +7 -0
- package/dist/partners-portal/enum/portal-material-order-status.enum.js +11 -0
- package/dist/partners-portal/enum/portal-partner-type.enum.d.ts +6 -0
- package/dist/partners-portal/enum/portal-partner-type.enum.js +10 -0
- package/dist/partners-portal/enum/portal-story-status.enum.d.ts +12 -0
- package/dist/partners-portal/enum/portal-story-status.enum.js +16 -0
- package/dist/partners-portal/login-portal-partner.dto.d.ts +4 -0
- package/dist/partners-portal/login-portal-partner.dto.js +28 -0
- package/dist/partners-portal/portal-city-option.ro.d.ts +7 -0
- package/dist/partners-portal/portal-city-option.ro.js +2 -0
- package/dist/partners-portal/portal-material-order.ro.d.ts +13 -0
- package/dist/partners-portal/portal-material-order.ro.js +2 -0
- package/dist/partners-portal/portal-partner-email.dto.d.ts +4 -0
- package/dist/partners-portal/portal-partner-email.dto.js +24 -0
- package/dist/partners-portal/portal-partner.ro.d.ts +25 -0
- package/dist/partners-portal/portal-partner.ro.js +2 -0
- package/dist/partners-portal/portal-stats.ro.d.ts +38 -0
- package/dist/partners-portal/portal-stats.ro.js +2 -0
- package/dist/partners-portal/portal-story-step.d.ts +19 -0
- package/dist/partners-portal/portal-story-step.js +2 -0
- package/dist/partners-portal/portal-story.ro.d.ts +19 -0
- package/dist/partners-portal/portal-story.ro.js +2 -0
- package/dist/partners-portal/register-portal-partner.dto.d.ts +12 -0
- package/dist/partners-portal/register-portal-partner.dto.js +52 -0
- package/dist/partners-portal/reset-portal-partner-password.dto.d.ts +6 -0
- package/dist/partners-portal/reset-portal-partner-password.dto.js +34 -0
- package/dist/partners-portal/update-portal-partner.dto.d.ts +6 -0
- package/dist/partners-portal/update-portal-partner.dto.js +36 -0
- package/dist/partners-portal/update-portal-story.dto.d.ts +9 -0
- package/dist/partners-portal/update-portal-story.dto.js +51 -0
- package/dist/partners-portal/verify-portal-partner.dto.d.ts +5 -0
- package/dist/partners-portal/verify-portal-partner.dto.js +29 -0
- package/dist/profile/admin-profile.ro.d.ts +8 -0
- package/dist/profile/admin-profile.ro.js +26 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RO витрины сети городских квестов (network-страницы агрегатора).
|
|
3
|
+
*
|
|
4
|
+
* Источник данных — jsonb-контент опубликованной версии city-quest
|
|
5
|
+
* (`city-quest-versions.content`), поэтому здесь plain-типы без
|
|
6
|
+
* class-transformer: ответы собираются на беке вручную, поле за полем
|
|
7
|
+
* (спойлер-фильтр обязателен — наружу уходят только маршрутные данные,
|
|
8
|
+
* никаких заданий/ответов).
|
|
9
|
+
*/
|
|
10
|
+
/** Публичная остановка маршрута в порядке прохождения (без текстов загадок). */
|
|
11
|
+
export type AgregatorOutdoorRouteStopPreviewRO = {
|
|
12
|
+
order: number;
|
|
13
|
+
lat: number;
|
|
14
|
+
lng: number;
|
|
15
|
+
name?: string;
|
|
16
|
+
address?: string;
|
|
17
|
+
kind?: 'start' | 'finish' | 'landmark';
|
|
18
|
+
};
|
|
19
|
+
/** Именованная точка маршрута без спойлеров (старт или landmark). */
|
|
20
|
+
export type AgregatorOutdoorLandmarkRO = {
|
|
21
|
+
name: string;
|
|
22
|
+
lat: number;
|
|
23
|
+
lng: number;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Маркетинговый тип игры (категории Questo): маппится из
|
|
27
|
+
* `content.display_type`, с фолбэком на эвристику по `content.genre`.
|
|
28
|
+
*/
|
|
29
|
+
export type AgregatorOutdoorDisplayType = 'scavenger_hunt' | 'walking_tour' | 'ghost_tour';
|
|
30
|
+
/** Разбивка принятых отзывов по звёздам: `{ 5: n, …, 1: n }`. */
|
|
31
|
+
export type AgregatorRatingBreakdownRO = Record<number, number>;
|
|
32
|
+
/**
|
|
33
|
+
* Маршрутные данные нашего аутдор-квеста для страницы квеста
|
|
34
|
+
* (`questroom.outdoorRoute`). Присутствует только у questroom с
|
|
35
|
+
* биндингом на опубликованную city-quest игру.
|
|
36
|
+
*/
|
|
37
|
+
export type AgregatorOutdoorRouteRO = {
|
|
38
|
+
distanceKm?: number;
|
|
39
|
+
stopsCount: number;
|
|
40
|
+
durationMinutes?: number;
|
|
41
|
+
durationRange?: [number, number];
|
|
42
|
+
start?: AgregatorOutdoorLandmarkRO & {
|
|
43
|
+
address?: string;
|
|
44
|
+
recommendedHours?: string;
|
|
45
|
+
};
|
|
46
|
+
finish?: AgregatorOutdoorLandmarkRO & {
|
|
47
|
+
address?: string;
|
|
48
|
+
};
|
|
49
|
+
/** Все остановки по порядку прохождения — для карты маршрута. */
|
|
50
|
+
stopsPreview?: AgregatorOutdoorRouteStopPreviewRO[];
|
|
51
|
+
/** 2–3 именованные точки маршрута — «что увидите», без спойлеров. */
|
|
52
|
+
landmarks: AgregatorOutdoorLandmarkRO[];
|
|
53
|
+
/** product_copy.highlights на языке запроса. */
|
|
54
|
+
highlights: string[];
|
|
55
|
+
/** product_copy.short на языке запроса. */
|
|
56
|
+
shortDescription?: string;
|
|
57
|
+
tagline?: string;
|
|
58
|
+
/** Языки, на которых можно играть (supported_answer_languages). */
|
|
59
|
+
languages: string[];
|
|
60
|
+
difficulty?: {
|
|
61
|
+
overall: number;
|
|
62
|
+
scaleMax: number;
|
|
63
|
+
observation?: number;
|
|
64
|
+
logic?: number;
|
|
65
|
+
navigation?: number;
|
|
66
|
+
};
|
|
67
|
+
leaderboard: boolean;
|
|
68
|
+
displayType: AgregatorOutdoorDisplayType;
|
|
69
|
+
genres: string[];
|
|
70
|
+
ratingBreakdown: AgregatorRatingBreakdownRO;
|
|
71
|
+
};
|
|
72
|
+
/** Карточка нашей игры на network-витрине `/tags/outdoor`. */
|
|
73
|
+
export type AgregatorNetworkQuestRO = {
|
|
74
|
+
questroomId: number;
|
|
75
|
+
slug: string;
|
|
76
|
+
title: string;
|
|
77
|
+
tagline?: string;
|
|
78
|
+
photo: string;
|
|
79
|
+
minPrice: number;
|
|
80
|
+
maxPrice: number;
|
|
81
|
+
currency?: string;
|
|
82
|
+
distanceKm?: number;
|
|
83
|
+
durationMinutes?: number;
|
|
84
|
+
durationRange?: [number, number];
|
|
85
|
+
stopsCount: number;
|
|
86
|
+
/** difficulty.overall из контента (шкала scale_max, обычно 1–5). */
|
|
87
|
+
difficulty?: number;
|
|
88
|
+
displayType: AgregatorOutdoorDisplayType;
|
|
89
|
+
rate: number;
|
|
90
|
+
reviewsCount: number;
|
|
91
|
+
start?: {
|
|
92
|
+
lat: number;
|
|
93
|
+
lng: number;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Ответ `GET agregator/questrooms/city/outdoor-network`: наши игры города
|
|
98
|
+
* + агрегаты для hero-блока витрины. Пустой `quests` = в городе нет
|
|
99
|
+
* сети, агрегатор показывает обычную tag-страницу.
|
|
100
|
+
*/
|
|
101
|
+
export type AgregatorOutdoorNetworkRO = {
|
|
102
|
+
quests: AgregatorNetworkQuestRO[];
|
|
103
|
+
stats: {
|
|
104
|
+
questCount: number;
|
|
105
|
+
avgRate: number;
|
|
106
|
+
totalReviews: number;
|
|
107
|
+
};
|
|
108
|
+
/** Выборочные точки всех игр города — блок «что увидите» и карта. */
|
|
109
|
+
landmarks: AgregatorOutdoorLandmarkRO[];
|
|
110
|
+
ratingBreakdown: AgregatorRatingBreakdownRO;
|
|
111
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* RO витрины сети городских квестов (network-страницы агрегатора).
|
|
4
|
+
*
|
|
5
|
+
* Источник данных — jsonb-контент опубликованной версии city-quest
|
|
6
|
+
* (`city-quest-versions.content`), поэтому здесь plain-типы без
|
|
7
|
+
* class-transformer: ответы собираются на беке вручную, поле за полем
|
|
8
|
+
* (спойлер-фильтр обязателен — наружу уходят только маршрутные данные,
|
|
9
|
+
* никаких заданий/ответов).
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -7,6 +7,7 @@ import { ExpertReviewRO } from '../review/expert-review.ro';
|
|
|
7
7
|
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
8
8
|
import { Languages } from '../shared/enum/languages.enum';
|
|
9
9
|
import { TagsEnum } from '../shared/enum/tags.enum';
|
|
10
|
+
import { AgregatorOutdoorRouteRO } from './agregator-outdoor.ro';
|
|
10
11
|
import { AgregatorQuestroomCardRO } from './agregator-questroom-card.ro';
|
|
11
12
|
export declare const getRightLocale: ({ value, key, techLocales, locales, language, }: {
|
|
12
13
|
value: string;
|
|
@@ -86,5 +87,12 @@ export declare class AgregatorQuestroomRO {
|
|
|
86
87
|
hasSchedule?: boolean;
|
|
87
88
|
top: boolean;
|
|
88
89
|
navigatorReview?: ExpertReviewRO;
|
|
90
|
+
/**
|
|
91
|
+
* Маршрутные данные нашей city-quest игры (только у questroom с
|
|
92
|
+
* биндингом на опубликованную версию). Триггер network-варианта
|
|
93
|
+
* страницы квеста на агрегаторе. Plain-объект: собирается на беке
|
|
94
|
+
* вручную со спойлер-фильтром, class-transformer его не трогает.
|
|
95
|
+
*/
|
|
96
|
+
outdoorRoute?: AgregatorOutdoorRouteRO | null;
|
|
89
97
|
}
|
|
90
98
|
export {};
|
|
@@ -340,3 +340,7 @@ __decorate([
|
|
|
340
340
|
(0, class_transformer_1.Type)(() => expert_review_ro_1.ExpertReviewRO),
|
|
341
341
|
__metadata("design:type", expert_review_ro_1.ExpertReviewRO)
|
|
342
342
|
], AgregatorQuestroomRO.prototype, "navigatorReview", void 0);
|
|
343
|
+
__decorate([
|
|
344
|
+
(0, class_transformer_1.Expose)(),
|
|
345
|
+
__metadata("design:type", Object)
|
|
346
|
+
], AgregatorQuestroomRO.prototype, "outdoorRoute", void 0);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TransferLocationForAdminDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/** Перенос локации (со всеми её квестами) в другую компанию. Admin-only. */
|
|
16
|
+
class TransferLocationForAdminDto {
|
|
17
|
+
}
|
|
18
|
+
exports.TransferLocationForAdminDto = TransferLocationForAdminDto;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_transformer_1.Expose)(),
|
|
21
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
22
|
+
(0, class_validator_1.IsInt)(),
|
|
23
|
+
(0, class_validator_1.IsPositive)(),
|
|
24
|
+
__metadata("design:type", Number)
|
|
25
|
+
], TransferLocationForAdminDto.prototype, "profileId", void 0);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PortalStoryStatusEnum } from '../enum/portal-story-status.enum';
|
|
2
|
+
export declare class AdminModeratePortalStoryDto {
|
|
3
|
+
status: PortalStoryStatusEnum;
|
|
4
|
+
/** Required when rejecting. */
|
|
5
|
+
rejectionReason?: string;
|
|
6
|
+
/** Link to the produced city quest (status PRODUCED). */
|
|
7
|
+
cityQuestId?: number;
|
|
8
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AdminModeratePortalStoryDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const portal_story_status_enum_1 = require("../enum/portal-story-status.enum");
|
|
16
|
+
class AdminModeratePortalStoryDto {
|
|
17
|
+
}
|
|
18
|
+
exports.AdminModeratePortalStoryDto = AdminModeratePortalStoryDto;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_validator_1.IsEnum)(portal_story_status_enum_1.PortalStoryStatusEnum),
|
|
21
|
+
(0, class_transformer_1.Expose)(),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], AdminModeratePortalStoryDto.prototype, "status", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsOptional)(),
|
|
26
|
+
(0, class_validator_1.IsString)(),
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], AdminModeratePortalStoryDto.prototype, "rejectionReason", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_validator_1.IsOptional)(),
|
|
32
|
+
(0, class_validator_1.IsInt)(),
|
|
33
|
+
(0, class_transformer_1.Expose)(),
|
|
34
|
+
__metadata("design:type", Number)
|
|
35
|
+
], AdminModeratePortalStoryDto.prototype, "cityQuestId", void 0);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PortalPartnerRO } from '../portal-partner.ro';
|
|
2
|
+
/** Partner row in the admin panel, with aggregates. */
|
|
3
|
+
export type AdminPortalPartnerRO = PortalPartnerRO & {
|
|
4
|
+
/** Authors: stories count by status. */
|
|
5
|
+
storiesCount?: number;
|
|
6
|
+
storiesInReviewCount?: number;
|
|
7
|
+
/** Venues: pending material orders. */
|
|
8
|
+
pendingMaterialOrdersCount?: number;
|
|
9
|
+
qrScansCount?: number;
|
|
10
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AdminUpdatePortalMaterialOrderDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const portal_material_order_status_enum_1 = require("../enum/portal-material-order-status.enum");
|
|
16
|
+
class AdminUpdatePortalMaterialOrderDto {
|
|
17
|
+
}
|
|
18
|
+
exports.AdminUpdatePortalMaterialOrderDto = AdminUpdatePortalMaterialOrderDto;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_validator_1.IsEnum)(portal_material_order_status_enum_1.PortalMaterialOrderStatusEnum),
|
|
21
|
+
(0, class_transformer_1.Expose)(),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], AdminUpdatePortalMaterialOrderDto.prototype, "status", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsOptional)(),
|
|
26
|
+
(0, class_validator_1.IsString)(),
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], AdminUpdatePortalMaterialOrderDto.prototype, "trackingInfo", void 0);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AdminUpdatePortalPartnerDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
class AdminUpdatePortalPartnerDto {
|
|
16
|
+
}
|
|
17
|
+
exports.AdminUpdatePortalPartnerDto = AdminUpdatePortalPartnerDto;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, class_validator_1.IsOptional)(),
|
|
20
|
+
(0, class_validator_1.IsNumber)(),
|
|
21
|
+
(0, class_validator_1.Min)(0),
|
|
22
|
+
(0, class_validator_1.Max)(100),
|
|
23
|
+
(0, class_transformer_1.Expose)(),
|
|
24
|
+
__metadata("design:type", Number)
|
|
25
|
+
], AdminUpdatePortalPartnerDto.prototype, "commissionPercent", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_validator_1.IsOptional)(),
|
|
28
|
+
(0, class_validator_1.IsBoolean)(),
|
|
29
|
+
(0, class_transformer_1.Expose)(),
|
|
30
|
+
__metadata("design:type", Boolean)
|
|
31
|
+
], AdminUpdatePortalPartnerDto.prototype, "blocked", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, class_validator_1.IsOptional)(),
|
|
34
|
+
(0, class_validator_1.IsString)(),
|
|
35
|
+
(0, class_transformer_1.Expose)(),
|
|
36
|
+
__metadata("design:type", String)
|
|
37
|
+
], AdminUpdatePortalPartnerDto.prototype, "promocode", void 0);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CreatePortalMaterialOrderDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const is_not_blank_1 = require("../shared/is-not-blank");
|
|
16
|
+
class CreatePortalMaterialOrderDto {
|
|
17
|
+
}
|
|
18
|
+
exports.CreatePortalMaterialOrderDto = CreatePortalMaterialOrderDto;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_validator_1.IsInt)(),
|
|
21
|
+
(0, class_validator_1.Min)(50),
|
|
22
|
+
(0, class_validator_1.Max)(5000),
|
|
23
|
+
(0, class_transformer_1.Expose)(),
|
|
24
|
+
__metadata("design:type", Number)
|
|
25
|
+
], CreatePortalMaterialOrderDto.prototype, "quantity", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, is_not_blank_1.IsNotBlank)(),
|
|
28
|
+
(0, class_transformer_1.Expose)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], CreatePortalMaterialOrderDto.prototype, "address", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_validator_1.IsOptional)(),
|
|
33
|
+
(0, class_validator_1.IsString)(),
|
|
34
|
+
(0, class_transformer_1.Expose)(),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], CreatePortalMaterialOrderDto.prototype, "comment", void 0);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Languages } from '../shared/enum/languages.enum';
|
|
2
|
+
export declare class PortalStoryStepDto {
|
|
3
|
+
title: string;
|
|
4
|
+
location?: string;
|
|
5
|
+
narrative?: string;
|
|
6
|
+
riddle?: string;
|
|
7
|
+
answer?: string;
|
|
8
|
+
hint?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class CreatePortalStoryDto {
|
|
11
|
+
title: string;
|
|
12
|
+
/** Pitch / synopsis of the story. */
|
|
13
|
+
description?: string;
|
|
14
|
+
/** Free-text city name the story is written for. */
|
|
15
|
+
cityName?: string;
|
|
16
|
+
language: Languages;
|
|
17
|
+
steps: PortalStoryStepDto[];
|
|
18
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CreatePortalStoryDto = exports.PortalStoryStepDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const languages_enum_1 = require("../shared/enum/languages.enum");
|
|
16
|
+
const is_not_blank_1 = require("../shared/is-not-blank");
|
|
17
|
+
class PortalStoryStepDto {
|
|
18
|
+
}
|
|
19
|
+
exports.PortalStoryStepDto = PortalStoryStepDto;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, is_not_blank_1.IsNotBlank)(),
|
|
22
|
+
(0, class_transformer_1.Expose)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], PortalStoryStepDto.prototype, "title", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_validator_1.IsOptional)(),
|
|
27
|
+
(0, class_validator_1.IsString)(),
|
|
28
|
+
(0, class_transformer_1.Expose)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], PortalStoryStepDto.prototype, "location", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_validator_1.IsOptional)(),
|
|
33
|
+
(0, class_validator_1.IsString)(),
|
|
34
|
+
(0, class_transformer_1.Expose)(),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], PortalStoryStepDto.prototype, "narrative", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, class_validator_1.IsOptional)(),
|
|
39
|
+
(0, class_validator_1.IsString)(),
|
|
40
|
+
(0, class_transformer_1.Expose)(),
|
|
41
|
+
__metadata("design:type", String)
|
|
42
|
+
], PortalStoryStepDto.prototype, "riddle", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, class_validator_1.IsOptional)(),
|
|
45
|
+
(0, class_validator_1.IsString)(),
|
|
46
|
+
(0, class_transformer_1.Expose)(),
|
|
47
|
+
__metadata("design:type", String)
|
|
48
|
+
], PortalStoryStepDto.prototype, "answer", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, class_validator_1.IsOptional)(),
|
|
51
|
+
(0, class_validator_1.IsString)(),
|
|
52
|
+
(0, class_transformer_1.Expose)(),
|
|
53
|
+
__metadata("design:type", String)
|
|
54
|
+
], PortalStoryStepDto.prototype, "hint", void 0);
|
|
55
|
+
class CreatePortalStoryDto {
|
|
56
|
+
}
|
|
57
|
+
exports.CreatePortalStoryDto = CreatePortalStoryDto;
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, is_not_blank_1.IsNotBlank)(),
|
|
60
|
+
(0, class_transformer_1.Expose)(),
|
|
61
|
+
__metadata("design:type", String)
|
|
62
|
+
], CreatePortalStoryDto.prototype, "title", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, class_validator_1.IsOptional)(),
|
|
65
|
+
(0, class_validator_1.IsString)(),
|
|
66
|
+
(0, class_transformer_1.Expose)(),
|
|
67
|
+
__metadata("design:type", String)
|
|
68
|
+
], CreatePortalStoryDto.prototype, "description", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, class_validator_1.IsOptional)(),
|
|
71
|
+
(0, class_validator_1.IsString)(),
|
|
72
|
+
(0, class_transformer_1.Expose)(),
|
|
73
|
+
__metadata("design:type", String)
|
|
74
|
+
], CreatePortalStoryDto.prototype, "cityName", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, class_validator_1.IsEnum)(languages_enum_1.Languages),
|
|
77
|
+
(0, class_transformer_1.Expose)(),
|
|
78
|
+
__metadata("design:type", String)
|
|
79
|
+
], CreatePortalStoryDto.prototype, "language", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
(0, class_validator_1.IsArray)(),
|
|
82
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
83
|
+
(0, class_transformer_1.Type)(() => PortalStoryStepDto),
|
|
84
|
+
(0, class_transformer_1.Expose)(),
|
|
85
|
+
__metadata("design:type", Array)
|
|
86
|
+
], CreatePortalStoryDto.prototype, "steps", void 0);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PortalMaterialOrderStatusEnum = void 0;
|
|
4
|
+
var PortalMaterialOrderStatusEnum;
|
|
5
|
+
(function (PortalMaterialOrderStatusEnum) {
|
|
6
|
+
PortalMaterialOrderStatusEnum["NEW"] = "new";
|
|
7
|
+
PortalMaterialOrderStatusEnum["PROCESSING"] = "processing";
|
|
8
|
+
PortalMaterialOrderStatusEnum["SHIPPED"] = "shipped";
|
|
9
|
+
PortalMaterialOrderStatusEnum["DONE"] = "done";
|
|
10
|
+
PortalMaterialOrderStatusEnum["CANCELED"] = "canceled";
|
|
11
|
+
})(PortalMaterialOrderStatusEnum || (exports.PortalMaterialOrderStatusEnum = PortalMaterialOrderStatusEnum = {}));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PortalPartnerTypeEnum = void 0;
|
|
4
|
+
var PortalPartnerTypeEnum;
|
|
5
|
+
(function (PortalPartnerTypeEnum) {
|
|
6
|
+
/** Scenario author — writes stories, earns % of sales of produced games. */
|
|
7
|
+
PortalPartnerTypeEnum["AUTHOR"] = "author";
|
|
8
|
+
/** Venue (hostel / hotel / cafe) — distributes QR materials, earns % of attributed sales. */
|
|
9
|
+
PortalPartnerTypeEnum["VENUE"] = "venue";
|
|
10
|
+
})(PortalPartnerTypeEnum || (exports.PortalPartnerTypeEnum = PortalPartnerTypeEnum = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare enum PortalStoryStatusEnum {
|
|
2
|
+
/** Author is still writing, visible only to them. */
|
|
3
|
+
DRAFT = "draft",
|
|
4
|
+
/** Submitted, waits for admin moderation. */
|
|
5
|
+
REVIEW = "review",
|
|
6
|
+
/** Approved by admin, production not started/finished yet. */
|
|
7
|
+
APPROVED = "approved",
|
|
8
|
+
/** Rejected by admin (see rejectionReason). */
|
|
9
|
+
REJECTED = "rejected",
|
|
10
|
+
/** A real city quest was produced from this story and linked (cityQuestId). */
|
|
11
|
+
PRODUCED = "produced"
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PortalStoryStatusEnum = void 0;
|
|
4
|
+
var PortalStoryStatusEnum;
|
|
5
|
+
(function (PortalStoryStatusEnum) {
|
|
6
|
+
/** Author is still writing, visible only to them. */
|
|
7
|
+
PortalStoryStatusEnum["DRAFT"] = "draft";
|
|
8
|
+
/** Submitted, waits for admin moderation. */
|
|
9
|
+
PortalStoryStatusEnum["REVIEW"] = "review";
|
|
10
|
+
/** Approved by admin, production not started/finished yet. */
|
|
11
|
+
PortalStoryStatusEnum["APPROVED"] = "approved";
|
|
12
|
+
/** Rejected by admin (see rejectionReason). */
|
|
13
|
+
PortalStoryStatusEnum["REJECTED"] = "rejected";
|
|
14
|
+
/** A real city quest was produced from this story and linked (cityQuestId). */
|
|
15
|
+
PortalStoryStatusEnum["PRODUCED"] = "produced";
|
|
16
|
+
})(PortalStoryStatusEnum || (exports.PortalStoryStatusEnum = PortalStoryStatusEnum = {}));
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.LoginPortalPartnerDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
class LoginPortalPartnerDto {
|
|
16
|
+
}
|
|
17
|
+
exports.LoginPortalPartnerDto = LoginPortalPartnerDto;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, class_validator_1.IsEmail)(),
|
|
20
|
+
(0, class_transformer_1.Expose)(),
|
|
21
|
+
(0, class_transformer_1.Transform)(({ value }) => value === null || value === void 0 ? void 0 : value.trim().toLowerCase()),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], LoginPortalPartnerDto.prototype, "email", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], LoginPortalPartnerDto.prototype, "password", void 0);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PortalMaterialOrderStatusEnum } from './enum/portal-material-order-status.enum';
|
|
2
|
+
export type PortalMaterialOrderRO = {
|
|
3
|
+
id: number;
|
|
4
|
+
createdAt: Date;
|
|
5
|
+
updatedAt: Date;
|
|
6
|
+
partnerId: number;
|
|
7
|
+
quantity: number;
|
|
8
|
+
address: string;
|
|
9
|
+
comment?: string;
|
|
10
|
+
status: PortalMaterialOrderStatusEnum;
|
|
11
|
+
/** Carrier / tracking number, filled by admin on shipping. */
|
|
12
|
+
trackingInfo?: string;
|
|
13
|
+
};
|