@escapenavigator/types 2.0.16 → 2.0.19
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/city/city.ro.d.ts +2 -0
- package/dist/city/update-city.dto.d.ts +2 -0
- package/dist/city/update-city.dto.js +6 -0
- package/dist/city-attraction/attraction-content-languages.d.ts +2 -2
- package/dist/city-attraction/attraction-content-languages.js +3 -2
- package/dist/city-attraction/city-attraction-locale.ro.d.ts +3 -0
- package/dist/city-attraction/city-attraction.ro.d.ts +6 -0
- package/dist/city-attraction/enum/attraction-review-status.enum.d.ts +3 -1
- package/dist/city-attraction/enum/attraction-review-status.enum.js +2 -0
- package/dist/city-attraction/generate-attraction-audio.dto.d.ts +10 -0
- package/dist/city-attraction/generate-attraction-audio.dto.js +45 -0
- package/dist/city-attraction/generate-attraction-audio.ro.d.ts +3 -0
- package/dist/city-attraction/generate-attraction-audio.ro.js +2 -0
- package/dist/city-attraction/upsert-city-attraction-locale.dto.d.ts +2 -0
- package/dist/city-attraction/upsert-city-attraction-locale.dto.js +13 -0
- package/dist/city-person/city-person.ro.d.ts +15 -0
- package/dist/city-person/create-city-person.dto.d.ts +5 -0
- package/dist/city-person/create-city-person.dto.js +20 -0
- package/dist/city-person/enum/person-domain.enum.d.ts +11 -1
- package/dist/city-person/enum/person-domain.enum.js +10 -0
- package/dist/city-person/enum/person-occupation.enum.d.ts +7 -1
- package/dist/city-person/enum/person-occupation.enum.js +6 -0
- package/dist/city-person/enum/person-recognition.enum.d.ts +9 -0
- package/dist/city-person/enum/person-recognition.enum.js +13 -0
- package/dist/city-person/enum/person-review-status.enum.d.ts +11 -0
- package/dist/city-person/enum/person-review-status.enum.js +15 -0
- package/dist/city-person/moderate-city-person.dto.d.ts +5 -0
- package/dist/city-person/moderate-city-person.dto.js +29 -0
- package/dist/city-person/person-content-languages.d.ts +2 -2
- package/dist/city-person/person-content-languages.js +3 -2
- package/dist/city-person/person-domain-color.d.ts +20 -0
- package/dist/city-person/person-domain-color.js +78 -0
- package/dist/city-ready-route/city-ready-route-locale.ro.d.ts +9 -0
- package/dist/city-ready-route/city-ready-route-locale.ro.js +2 -0
- package/dist/city-ready-route/city-ready-route-stop.ro.d.ts +21 -0
- package/dist/city-ready-route/city-ready-route-stop.ro.js +2 -0
- package/dist/city-ready-route/city-ready-route.ro.d.ts +22 -0
- package/dist/city-ready-route/city-ready-route.ro.js +2 -0
- package/dist/city-ready-route/create-city-ready-route.dto.d.ts +15 -0
- package/dist/city-ready-route/create-city-ready-route.dto.js +90 -0
- package/dist/city-ready-route/enum/ready-route-status.enum.d.ts +4 -0
- package/dist/city-ready-route/enum/ready-route-status.enum.js +8 -0
- package/dist/city-ready-route/enum/ready-route-stop-kind.enum.d.ts +4 -0
- package/dist/city-ready-route/enum/ready-route-stop-kind.enum.js +8 -0
- package/dist/city-ready-route/estimate-ready-route-path.dto.d.ts +14 -0
- package/dist/city-ready-route/estimate-ready-route-path.dto.js +39 -0
- package/dist/city-ready-route/ready-route-map-pool.ro.d.ts +28 -0
- package/dist/city-ready-route/ready-route-map-pool.ro.js +2 -0
- package/dist/city-ready-route/ready-route-stop-content.d.ts +12 -0
- package/dist/city-ready-route/ready-route-stop-content.js +2 -0
- package/dist/city-ready-route/update-city-ready-route.dto.d.ts +5 -0
- package/dist/city-ready-route/update-city-ready-route.dto.js +8 -0
- package/dist/city-ready-route/upsert-city-ready-route-locale.dto.d.ts +7 -0
- package/dist/city-ready-route/upsert-city-ready-route-locale.dto.js +41 -0
- package/dist/city-ready-route/upsert-city-ready-route-stop.dto.d.ts +15 -0
- package/dist/city-ready-route/upsert-city-ready-route-stop.dto.js +73 -0
- package/dist/openapi/city-player/city-explore.ro.d.ts +101 -0
- package/dist/openapi/city-player/city-explore.ro.js +2 -0
- package/dist/openapi/city-player/city-player.ro.d.ts +11 -0
- package/dist/openapi/city-player/city-ready-route.ro.d.ts +54 -0
- package/dist/openapi/city-player/city-ready-route.ro.js +2 -0
- package/dist/openapi/widget/openapi-widget-info.ro.d.ts +0 -9
- package/dist/openapi/widget/openapi-widget-info.ro.js +0 -32
- package/dist/promocode/create-promocode.dto.js +2 -2
- package/dist/shared/city-pipeline.d.ts +11 -3
- package/dist/shared/city-pipeline.js +8 -2
- package/dist/shared/city-research.d.ts +2 -0
- package/dist/shared/content-base-language.d.ts +7 -0
- package/dist/shared/content-base-language.js +10 -0
- package/dist/shared/editorial-research.d.ts +70 -0
- package/dist/shared/editorial-research.js +4 -0
- package/dist/shared/fill-complete.d.ts +26 -0
- package/dist/shared/fill-complete.js +46 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/upload/enum/image-type.enum.d.ts +2 -1
- package/dist/upload/enum/image-type.enum.js +1 -0
- package/package.json +2 -2
package/dist/city/city.ro.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export declare class UpdateCityDto {
|
|
|
13
13
|
isAgglomeration?: boolean;
|
|
14
14
|
/** В городе есть метро. Управляет fetch-ом Places API для локаций. */
|
|
15
15
|
hasSubway?: boolean;
|
|
16
|
+
/** Город доступен в Routale Player (стартовый каталог и поиск). */
|
|
17
|
+
readyForRoutell?: boolean;
|
|
16
18
|
/**
|
|
17
19
|
* Город-родитель в агломерации. `null` снимает привязку.
|
|
18
20
|
* Положительное число — id центра в той же стране (валидируется на бэке).
|
|
@@ -53,6 +53,12 @@ __decorate([
|
|
|
53
53
|
(0, class_transformer_1.Expose)(),
|
|
54
54
|
__metadata("design:type", Boolean)
|
|
55
55
|
], UpdateCityDto.prototype, "hasSubway", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, class_validator_1.IsOptional)(),
|
|
58
|
+
(0, class_validator_1.IsBoolean)(),
|
|
59
|
+
(0, class_transformer_1.Expose)(),
|
|
60
|
+
__metadata("design:type", Boolean)
|
|
61
|
+
], UpdateCityDto.prototype, "readyForRoutell", void 0);
|
|
56
62
|
__decorate([
|
|
57
63
|
(0, class_validator_1.IsOptional)(),
|
|
58
64
|
(0, class_validator_1.IsInt)(),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Languages } from '../shared/enum/languages.enum';
|
|
2
|
-
/** First-wave languages for attraction place content. */
|
|
3
|
-
export declare const ATTRACTION_CONTENT_LANGUAGES: readonly [Languages.
|
|
2
|
+
/** First-wave languages for attraction place content (RU base first). */
|
|
3
|
+
export declare const ATTRACTION_CONTENT_LANGUAGES: readonly [Languages.RU, Languages.EN, Languages.DE, Languages.FR, Languages.ES];
|
|
4
4
|
export type AttractionContentLanguage = (typeof ATTRACTION_CONTENT_LANGUAGES)[number];
|
|
5
5
|
export declare const isAttractionContentLanguage: (lang: string) => lang is AttractionContentLanguage;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isAttractionContentLanguage = exports.ATTRACTION_CONTENT_LANGUAGES = void 0;
|
|
4
|
+
const content_base_language_1 = require("../shared/content-base-language");
|
|
4
5
|
const languages_enum_1 = require("../shared/enum/languages.enum");
|
|
5
|
-
/** First-wave languages for attraction place content. */
|
|
6
|
+
/** First-wave languages for attraction place content (RU base first). */
|
|
6
7
|
exports.ATTRACTION_CONTENT_LANGUAGES = [
|
|
8
|
+
content_base_language_1.CONTENT_BASE_LANGUAGE,
|
|
7
9
|
languages_enum_1.Languages.EN,
|
|
8
|
-
languages_enum_1.Languages.RU,
|
|
9
10
|
languages_enum_1.Languages.DE,
|
|
10
11
|
languages_enum_1.Languages.FR,
|
|
11
12
|
languages_enum_1.Languages.ES,
|
|
@@ -9,6 +9,9 @@ export type CityAttractionLocaleRO = ResponseObject & {
|
|
|
9
9
|
description: string | null;
|
|
10
10
|
knownFor: string | null;
|
|
11
11
|
content: AttractionContent | null;
|
|
12
|
+
/** Озвучка guideTalk для языка локали. */
|
|
13
|
+
guideAudioUrl: string | null;
|
|
14
|
+
guideAudioDurationSec: number | null;
|
|
12
15
|
status: AttractionLocaleStatusEnum;
|
|
13
16
|
contentGeneratedAt: Date | null;
|
|
14
17
|
contentPromptVersion: string | null;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
2
|
+
import { EditorialResearch } from '../shared/editorial-research';
|
|
2
3
|
import { ResponseObject } from '../shared/ro';
|
|
3
4
|
import { AttractionRouteMeta } from './attraction-route-meta';
|
|
4
5
|
import { CityAttractionArtifactRO } from './city-attraction-artifact.ro';
|
|
@@ -10,7 +11,10 @@ import { AttractionReviewStatusEnum } from './enum/attraction-review-status.enum
|
|
|
10
11
|
import { AttractionRouteRoleEnum } from './enum/attraction-route-role.enum';
|
|
11
12
|
import { AttractionSourceEnum } from './enum/attraction-source.enum';
|
|
12
13
|
export type CityAttractionRO = ResponseObject & {
|
|
14
|
+
/** Canonical Latin/EN identity title (search, Wikidata). */
|
|
13
15
|
title: string;
|
|
16
|
+
/** Display title from content-base locale (RU), if set. */
|
|
17
|
+
displayTitle?: string | null;
|
|
14
18
|
description: string | null;
|
|
15
19
|
knownFor: string | null;
|
|
16
20
|
knownForRu: string | null;
|
|
@@ -44,6 +48,8 @@ export type CityAttractionRO = ResponseObject & {
|
|
|
44
48
|
reviewStatus: AttractionReviewStatusEnum;
|
|
45
49
|
rejectionReason: string | null;
|
|
46
50
|
createdByPartnerId: number | null;
|
|
51
|
+
/** Editor-only deepen pack — never exposed to player. */
|
|
52
|
+
editorialResearch?: EditorialResearch | null;
|
|
47
53
|
locales?: CityAttractionLocaleRO[];
|
|
48
54
|
artifacts?: CityAttractionArtifactRO[];
|
|
49
55
|
};
|
|
@@ -11,4 +11,6 @@ var AttractionReviewStatusEnum;
|
|
|
11
11
|
AttractionReviewStatusEnum["APPROVED"] = "approved";
|
|
12
12
|
AttractionReviewStatusEnum["NEED_REVIEW"] = "needReview";
|
|
13
13
|
AttractionReviewStatusEnum["REJECTED"] = "rejected";
|
|
14
|
+
/** Rejected by city-content MCP agent (not human moderator). */
|
|
15
|
+
AttractionReviewStatusEnum["REJECTED_MCP"] = "rejected_mcp";
|
|
14
16
|
})(AttractionReviewStatusEnum || (exports.AttractionReviewStatusEnum = AttractionReviewStatusEnum = {}));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RiddleTtsMoodEnum } from '../questroom-riddle/enum/riddle-tts-mood.enum';
|
|
2
|
+
import { RiddleTtsVoiceEnum } from '../questroom-riddle/enum/riddle-tts-voice.enum';
|
|
3
|
+
import { Languages } from '../shared/enum/languages.enum';
|
|
4
|
+
export declare class GenerateAttractionAudioDto {
|
|
5
|
+
language: Languages;
|
|
6
|
+
/** Текст для озвучки. Если не передан — берётся locale.content.guideTalk. */
|
|
7
|
+
text?: string;
|
|
8
|
+
voice?: RiddleTtsVoiceEnum;
|
|
9
|
+
mood?: RiddleTtsMoodEnum;
|
|
10
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
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.GenerateAttractionAudioDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const riddle_tts_mood_enum_1 = require("../questroom-riddle/enum/riddle-tts-mood.enum");
|
|
16
|
+
const riddle_tts_voice_enum_1 = require("../questroom-riddle/enum/riddle-tts-voice.enum");
|
|
17
|
+
const languages_enum_1 = require("../shared/enum/languages.enum");
|
|
18
|
+
class GenerateAttractionAudioDto {
|
|
19
|
+
}
|
|
20
|
+
exports.GenerateAttractionAudioDto = GenerateAttractionAudioDto;
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, class_validator_1.IsEnum)(languages_enum_1.Languages),
|
|
23
|
+
(0, class_transformer_1.Expose)(),
|
|
24
|
+
__metadata("design:type", String)
|
|
25
|
+
], GenerateAttractionAudioDto.prototype, "language", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_validator_1.IsOptional)(),
|
|
28
|
+
(0, class_validator_1.IsString)(),
|
|
29
|
+
(0, class_validator_1.MinLength)(1),
|
|
30
|
+
(0, class_validator_1.MaxLength)(12000),
|
|
31
|
+
(0, class_transformer_1.Expose)(),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], GenerateAttractionAudioDto.prototype, "text", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, class_validator_1.IsOptional)(),
|
|
36
|
+
(0, class_validator_1.IsEnum)(riddle_tts_voice_enum_1.RiddleTtsVoiceEnum),
|
|
37
|
+
(0, class_transformer_1.Expose)(),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], GenerateAttractionAudioDto.prototype, "voice", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, class_validator_1.IsOptional)(),
|
|
42
|
+
(0, class_validator_1.IsEnum)(riddle_tts_mood_enum_1.RiddleTtsMoodEnum),
|
|
43
|
+
(0, class_transformer_1.Expose)(),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], GenerateAttractionAudioDto.prototype, "mood", void 0);
|
|
@@ -7,6 +7,8 @@ export declare class UpsertCityAttractionLocaleDto {
|
|
|
7
7
|
description?: string | null;
|
|
8
8
|
knownFor?: string | null;
|
|
9
9
|
content?: AttractionContent | null;
|
|
10
|
+
guideAudioUrl?: string | null;
|
|
11
|
+
guideAudioDurationSec?: number | null;
|
|
10
12
|
status?: AttractionLocaleStatusEnum;
|
|
11
13
|
}
|
|
12
14
|
export declare class GenerateAttractionContentDto {
|
|
@@ -46,6 +46,19 @@ __decorate([
|
|
|
46
46
|
(0, class_transformer_1.Expose)(),
|
|
47
47
|
__metadata("design:type", Object)
|
|
48
48
|
], UpsertCityAttractionLocaleDto.prototype, "content", 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
|
+
], UpsertCityAttractionLocaleDto.prototype, "guideAudioUrl", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, class_validator_1.IsOptional)(),
|
|
57
|
+
(0, class_validator_1.IsInt)(),
|
|
58
|
+
(0, class_validator_1.Min)(0),
|
|
59
|
+
(0, class_transformer_1.Expose)(),
|
|
60
|
+
__metadata("design:type", Number)
|
|
61
|
+
], UpsertCityAttractionLocaleDto.prototype, "guideAudioDurationSec", void 0);
|
|
49
62
|
__decorate([
|
|
50
63
|
(0, class_validator_1.IsOptional)(),
|
|
51
64
|
(0, class_validator_1.IsEnum)(attraction_locale_status_enum_1.AttractionLocaleStatusEnum),
|
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
import { AttractionFameEnum } from '../city-attraction/enum/attraction-fame.enum';
|
|
2
2
|
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
3
|
+
import { EditorialResearch } from '../shared/editorial-research';
|
|
3
4
|
import { ResponseObject } from '../shared/ro';
|
|
4
5
|
import { CityPersonAttractionLinkRO } from './city-person-attraction-link.ro';
|
|
5
6
|
import { CityPersonLocaleRO } from './city-person-locale.ro';
|
|
6
7
|
import { PersonDomainEnum } from './enum/person-domain.enum';
|
|
7
8
|
import { PersonOccupationEnum } from './enum/person-occupation.enum';
|
|
9
|
+
import { PersonRecognitionEnum } from './enum/person-recognition.enum';
|
|
10
|
+
import { PersonReviewStatusEnum } from './enum/person-review-status.enum';
|
|
8
11
|
import { PersonSourceEnum } from './enum/person-source.enum';
|
|
9
12
|
export type CityPersonRO = ResponseObject & {
|
|
13
|
+
/** Canonical Latin/EN identity name (slug, search, Wikidata). */
|
|
10
14
|
name: string;
|
|
15
|
+
/** Display name from content-base locale (RU), if set. */
|
|
16
|
+
displayName?: string | null;
|
|
11
17
|
slug: string;
|
|
12
18
|
domains: PersonDomainEnum[];
|
|
13
19
|
occupations: PersonOccupationEnum[];
|
|
14
20
|
fame: AttractionFameEnum;
|
|
21
|
+
/**
|
|
22
|
+
* Узнаваемость туристом без локальной истории.
|
|
23
|
+
* null — ещё не размечено (player трактует осторожно).
|
|
24
|
+
*/
|
|
25
|
+
recognition: PersonRecognitionEnum | null;
|
|
15
26
|
birthYear: number | null;
|
|
16
27
|
deathYear: number | null;
|
|
17
28
|
wikidataId: string | null;
|
|
@@ -24,7 +35,11 @@ export type CityPersonRO = ResponseObject & {
|
|
|
24
35
|
primaryCityTitle?: string | null;
|
|
25
36
|
country: CountriesEnum | null;
|
|
26
37
|
archived: boolean;
|
|
38
|
+
reviewStatus: PersonReviewStatusEnum;
|
|
39
|
+
rejectionReason?: string | null;
|
|
27
40
|
source: PersonSourceEnum;
|
|
41
|
+
/** Editor-only deepen pack — never exposed to player. */
|
|
42
|
+
editorialResearch?: EditorialResearch | null;
|
|
28
43
|
attractionsCount?: number;
|
|
29
44
|
locales?: CityPersonLocaleRO[];
|
|
30
45
|
attractions?: CityPersonAttractionLinkRO[];
|
|
@@ -3,6 +3,8 @@ import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
|
3
3
|
import { CityPersonAttractionLinkDto } from './city-person-attraction-link.dto';
|
|
4
4
|
import { PersonDomainEnum } from './enum/person-domain.enum';
|
|
5
5
|
import { PersonOccupationEnum } from './enum/person-occupation.enum';
|
|
6
|
+
import { PersonRecognitionEnum } from './enum/person-recognition.enum';
|
|
7
|
+
import { PersonReviewStatusEnum } from './enum/person-review-status.enum';
|
|
6
8
|
import { PersonSourceEnum } from './enum/person-source.enum';
|
|
7
9
|
export declare class CreateCityPersonDto {
|
|
8
10
|
name: string;
|
|
@@ -10,6 +12,7 @@ export declare class CreateCityPersonDto {
|
|
|
10
12
|
domains: PersonDomainEnum[];
|
|
11
13
|
occupations?: PersonOccupationEnum[];
|
|
12
14
|
fame: AttractionFameEnum;
|
|
15
|
+
recognition?: PersonRecognitionEnum | null;
|
|
13
16
|
birthYear?: number | null;
|
|
14
17
|
deathYear?: number | null;
|
|
15
18
|
wikidataId?: string | null;
|
|
@@ -19,6 +22,8 @@ export declare class CreateCityPersonDto {
|
|
|
19
22
|
primaryCityId?: number | null;
|
|
20
23
|
country?: CountriesEnum | null;
|
|
21
24
|
archived?: boolean;
|
|
25
|
+
reviewStatus?: PersonReviewStatusEnum;
|
|
26
|
+
rejectionReason?: string | null;
|
|
22
27
|
source?: PersonSourceEnum;
|
|
23
28
|
attractions?: CityPersonAttractionLinkDto[];
|
|
24
29
|
}
|
|
@@ -18,6 +18,8 @@ const is_not_blank_1 = require("../shared/is-not-blank");
|
|
|
18
18
|
const city_person_attraction_link_dto_1 = require("./city-person-attraction-link.dto");
|
|
19
19
|
const person_domain_enum_1 = require("./enum/person-domain.enum");
|
|
20
20
|
const person_occupation_enum_1 = require("./enum/person-occupation.enum");
|
|
21
|
+
const person_recognition_enum_1 = require("./enum/person-recognition.enum");
|
|
22
|
+
const person_review_status_enum_1 = require("./enum/person-review-status.enum");
|
|
21
23
|
const person_source_enum_1 = require("./enum/person-source.enum");
|
|
22
24
|
class CreateCityPersonDto {
|
|
23
25
|
}
|
|
@@ -51,6 +53,12 @@ __decorate([
|
|
|
51
53
|
(0, class_transformer_1.Expose)(),
|
|
52
54
|
__metadata("design:type", String)
|
|
53
55
|
], CreateCityPersonDto.prototype, "fame", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, class_validator_1.IsOptional)(),
|
|
58
|
+
(0, class_validator_1.IsEnum)(person_recognition_enum_1.PersonRecognitionEnum),
|
|
59
|
+
(0, class_transformer_1.Expose)(),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], CreateCityPersonDto.prototype, "recognition", void 0);
|
|
54
62
|
__decorate([
|
|
55
63
|
(0, class_validator_1.IsOptional)(),
|
|
56
64
|
(0, class_transformer_1.Type)(() => Number),
|
|
@@ -112,6 +120,18 @@ __decorate([
|
|
|
112
120
|
(0, class_transformer_1.Expose)(),
|
|
113
121
|
__metadata("design:type", Boolean)
|
|
114
122
|
], CreateCityPersonDto.prototype, "archived", void 0);
|
|
123
|
+
__decorate([
|
|
124
|
+
(0, class_validator_1.IsOptional)(),
|
|
125
|
+
(0, class_validator_1.IsEnum)(person_review_status_enum_1.PersonReviewStatusEnum),
|
|
126
|
+
(0, class_transformer_1.Expose)(),
|
|
127
|
+
__metadata("design:type", String)
|
|
128
|
+
], CreateCityPersonDto.prototype, "reviewStatus", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
(0, class_validator_1.IsOptional)(),
|
|
131
|
+
(0, class_validator_1.IsString)(),
|
|
132
|
+
(0, class_transformer_1.Expose)(),
|
|
133
|
+
__metadata("design:type", String)
|
|
134
|
+
], CreateCityPersonDto.prototype, "rejectionReason", void 0);
|
|
115
135
|
__decorate([
|
|
116
136
|
(0, class_validator_1.IsOptional)(),
|
|
117
137
|
(0, class_validator_1.IsEnum)(person_source_enum_1.PersonSourceEnum),
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Primary public “shelf” for a person — browse filter + portrait color.
|
|
3
|
+
* Specific crafts go in PersonOccupationEnum.
|
|
4
|
+
*/
|
|
1
5
|
export declare enum PersonDomainEnum {
|
|
2
6
|
MUSIC = "music",
|
|
3
7
|
LITERATURE = "literature",
|
|
4
|
-
VISUAL_ART = "visual_art"
|
|
8
|
+
VISUAL_ART = "visual_art",
|
|
9
|
+
POLITICS = "politics",
|
|
10
|
+
ARCHITECTURE = "architecture",
|
|
11
|
+
ACTING = "acting",
|
|
12
|
+
SCIENCE = "science",
|
|
13
|
+
SPORT = "sport",
|
|
14
|
+
FILM = "film"
|
|
5
15
|
}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PersonDomainEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Primary public “shelf” for a person — browse filter + portrait color.
|
|
6
|
+
* Specific crafts go in PersonOccupationEnum.
|
|
7
|
+
*/
|
|
4
8
|
var PersonDomainEnum;
|
|
5
9
|
(function (PersonDomainEnum) {
|
|
6
10
|
PersonDomainEnum["MUSIC"] = "music";
|
|
7
11
|
PersonDomainEnum["LITERATURE"] = "literature";
|
|
8
12
|
PersonDomainEnum["VISUAL_ART"] = "visual_art";
|
|
13
|
+
PersonDomainEnum["POLITICS"] = "politics";
|
|
14
|
+
PersonDomainEnum["ARCHITECTURE"] = "architecture";
|
|
15
|
+
PersonDomainEnum["ACTING"] = "acting";
|
|
16
|
+
PersonDomainEnum["SCIENCE"] = "science";
|
|
17
|
+
PersonDomainEnum["SPORT"] = "sport";
|
|
18
|
+
PersonDomainEnum["FILM"] = "film";
|
|
9
19
|
})(PersonDomainEnum || (exports.PersonDomainEnum = PersonDomainEnum = {}));
|
|
@@ -17,5 +17,11 @@ export declare enum PersonOccupationEnum {
|
|
|
17
17
|
ENGRAVER = "engraver",
|
|
18
18
|
GRAPHIC_ARTIST = "graphic_artist",
|
|
19
19
|
DANCER = "dancer",
|
|
20
|
-
|
|
20
|
+
ACTOR = "actor",
|
|
21
|
+
ACTRESS = "actress",
|
|
22
|
+
POLITICIAN = "politician",
|
|
23
|
+
SCIENTIST = "scientist",
|
|
24
|
+
INVENTOR = "inventor",
|
|
25
|
+
ATHLETE = "athlete",
|
|
26
|
+
DIRECTOR = "director"
|
|
21
27
|
}
|
|
@@ -21,5 +21,11 @@ var PersonOccupationEnum;
|
|
|
21
21
|
PersonOccupationEnum["ENGRAVER"] = "engraver";
|
|
22
22
|
PersonOccupationEnum["GRAPHIC_ARTIST"] = "graphic_artist";
|
|
23
23
|
PersonOccupationEnum["DANCER"] = "dancer";
|
|
24
|
+
PersonOccupationEnum["ACTOR"] = "actor";
|
|
24
25
|
PersonOccupationEnum["ACTRESS"] = "actress";
|
|
26
|
+
PersonOccupationEnum["POLITICIAN"] = "politician";
|
|
27
|
+
PersonOccupationEnum["SCIENTIST"] = "scientist";
|
|
28
|
+
PersonOccupationEnum["INVENTOR"] = "inventor";
|
|
29
|
+
PersonOccupationEnum["ATHLETE"] = "athlete";
|
|
30
|
+
PersonOccupationEnum["DIRECTOR"] = "director";
|
|
25
31
|
})(PersonOccupationEnum || (exports.PersonOccupationEnum = PersonOccupationEnum = {}));
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PersonRecognitionEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Узнаваемость личности для туриста без локальной истории.
|
|
6
|
+
* world — household name (Моцарт, Кафка); local — всё остальное.
|
|
7
|
+
* При сомнении всегда local.
|
|
8
|
+
*/
|
|
9
|
+
var PersonRecognitionEnum;
|
|
10
|
+
(function (PersonRecognitionEnum) {
|
|
11
|
+
PersonRecognitionEnum["WORLD"] = "world";
|
|
12
|
+
PersonRecognitionEnum["LOCAL"] = "local";
|
|
13
|
+
})(PersonRecognitionEnum || (exports.PersonRecognitionEnum = PersonRecognitionEnum = {}));
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Moderation status for city people.
|
|
3
|
+
* Existing rows default to `approved`. MCP may set `rejected_mcp`.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum PersonReviewStatusEnum {
|
|
6
|
+
APPROVED = "approved",
|
|
7
|
+
NEED_REVIEW = "needReview",
|
|
8
|
+
REJECTED = "rejected",
|
|
9
|
+
/** Rejected by city-content MCP agent (not human moderator). */
|
|
10
|
+
REJECTED_MCP = "rejected_mcp"
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PersonReviewStatusEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Moderation status for city people.
|
|
6
|
+
* Existing rows default to `approved`. MCP may set `rejected_mcp`.
|
|
7
|
+
*/
|
|
8
|
+
var PersonReviewStatusEnum;
|
|
9
|
+
(function (PersonReviewStatusEnum) {
|
|
10
|
+
PersonReviewStatusEnum["APPROVED"] = "approved";
|
|
11
|
+
PersonReviewStatusEnum["NEED_REVIEW"] = "needReview";
|
|
12
|
+
PersonReviewStatusEnum["REJECTED"] = "rejected";
|
|
13
|
+
/** Rejected by city-content MCP agent (not human moderator). */
|
|
14
|
+
PersonReviewStatusEnum["REJECTED_MCP"] = "rejected_mcp";
|
|
15
|
+
})(PersonReviewStatusEnum || (exports.PersonReviewStatusEnum = PersonReviewStatusEnum = {}));
|
|
@@ -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.ModerateCityPersonDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const person_review_status_enum_1 = require("./enum/person-review-status.enum");
|
|
16
|
+
class ModerateCityPersonDto {
|
|
17
|
+
}
|
|
18
|
+
exports.ModerateCityPersonDto = ModerateCityPersonDto;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_validator_1.IsEnum)(person_review_status_enum_1.PersonReviewStatusEnum),
|
|
21
|
+
(0, class_transformer_1.Expose)(),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], ModerateCityPersonDto.prototype, "reviewStatus", 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
|
+
], ModerateCityPersonDto.prototype, "rejectionReason", void 0);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Languages } from '../shared/enum/languages.enum';
|
|
2
|
-
/** First-wave languages for person content (
|
|
3
|
-
export declare const PERSON_CONTENT_LANGUAGES: readonly [Languages.
|
|
2
|
+
/** First-wave languages for person content (RU base first). */
|
|
3
|
+
export declare const PERSON_CONTENT_LANGUAGES: readonly [Languages.RU, Languages.EN, Languages.DE, Languages.FR, Languages.ES];
|
|
4
4
|
export type PersonContentLanguage = (typeof PERSON_CONTENT_LANGUAGES)[number];
|
|
5
5
|
export declare const isPersonContentLanguage: (lang: string) => lang is PersonContentLanguage;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isPersonContentLanguage = exports.PERSON_CONTENT_LANGUAGES = void 0;
|
|
4
|
+
const content_base_language_1 = require("../shared/content-base-language");
|
|
4
5
|
const languages_enum_1 = require("../shared/enum/languages.enum");
|
|
5
|
-
/** First-wave languages for person content (
|
|
6
|
+
/** First-wave languages for person content (RU base first). */
|
|
6
7
|
exports.PERSON_CONTENT_LANGUAGES = [
|
|
8
|
+
content_base_language_1.CONTENT_BASE_LANGUAGE,
|
|
7
9
|
languages_enum_1.Languages.EN,
|
|
8
|
-
languages_enum_1.Languages.RU,
|
|
9
10
|
languages_enum_1.Languages.DE,
|
|
10
11
|
languages_enum_1.Languages.FR,
|
|
11
12
|
languages_enum_1.Languages.ES,
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PersonDomainEnum } from './enum/person-domain.enum';
|
|
2
|
+
import { PersonOccupationEnum } from './enum/person-occupation.enum';
|
|
3
|
+
/** Prompt color for AI portrait sky — keep in sync with product palette. */
|
|
4
|
+
export declare const PERSON_DOMAIN_PROMPT_COLOR: Record<PersonDomainEnum, string>;
|
|
5
|
+
export declare const DEFAULT_PERSON_DOMAIN_PROMPT_COLOR = "warm golden amber";
|
|
6
|
+
export type PersonDomainUiColor = {
|
|
7
|
+
/** Label / accent on dark UI */
|
|
8
|
+
color: string;
|
|
9
|
+
/** Pill background */
|
|
10
|
+
bg: string;
|
|
11
|
+
};
|
|
12
|
+
/** Tag / filter colors on dark player surfaces (approx. of prompt palette). */
|
|
13
|
+
export declare const PERSON_DOMAIN_UI_COLOR: Record<PersonDomainEnum, PersonDomainUiColor>;
|
|
14
|
+
export declare const DEFAULT_PERSON_DOMAIN_UI_COLOR: PersonDomainUiColor;
|
|
15
|
+
/** Stable filter / preview order (not alphabetical). */
|
|
16
|
+
export declare const PERSON_DOMAIN_ORDER: PersonDomainEnum[];
|
|
17
|
+
/** Occupation → domain for derived domains and tag coloring. */
|
|
18
|
+
export declare const PERSON_OCCUPATION_DOMAIN: Record<PersonOccupationEnum, PersonDomainEnum>;
|
|
19
|
+
export declare const personDomainUiColor: (domain?: PersonDomainEnum | null) => PersonDomainUiColor;
|
|
20
|
+
export declare const personDomainPromptColor: (domain?: PersonDomainEnum | null) => string;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.personDomainPromptColor = exports.personDomainUiColor = exports.PERSON_OCCUPATION_DOMAIN = exports.PERSON_DOMAIN_ORDER = exports.DEFAULT_PERSON_DOMAIN_UI_COLOR = exports.PERSON_DOMAIN_UI_COLOR = exports.DEFAULT_PERSON_DOMAIN_PROMPT_COLOR = exports.PERSON_DOMAIN_PROMPT_COLOR = void 0;
|
|
4
|
+
const person_domain_enum_1 = require("./enum/person-domain.enum");
|
|
5
|
+
const person_occupation_enum_1 = require("./enum/person-occupation.enum");
|
|
6
|
+
/** Prompt color for AI portrait sky — keep in sync with product palette. */
|
|
7
|
+
exports.PERSON_DOMAIN_PROMPT_COLOR = {
|
|
8
|
+
[person_domain_enum_1.PersonDomainEnum.MUSIC]: 'deep violet',
|
|
9
|
+
[person_domain_enum_1.PersonDomainEnum.LITERATURE]: 'rich emerald green',
|
|
10
|
+
[person_domain_enum_1.PersonDomainEnum.VISUAL_ART]: 'vivid cobalt blue',
|
|
11
|
+
[person_domain_enum_1.PersonDomainEnum.POLITICS]: 'dignified burgundy red',
|
|
12
|
+
[person_domain_enum_1.PersonDomainEnum.ARCHITECTURE]: 'refined slate gray',
|
|
13
|
+
[person_domain_enum_1.PersonDomainEnum.ACTING]: 'vibrant coral red',
|
|
14
|
+
[person_domain_enum_1.PersonDomainEnum.SCIENCE]: 'clear turquoise cyan',
|
|
15
|
+
[person_domain_enum_1.PersonDomainEnum.SPORT]: 'energetic tangerine orange',
|
|
16
|
+
[person_domain_enum_1.PersonDomainEnum.FILM]: 'cinematic midnight navy',
|
|
17
|
+
};
|
|
18
|
+
exports.DEFAULT_PERSON_DOMAIN_PROMPT_COLOR = 'warm golden amber';
|
|
19
|
+
/** Tag / filter colors on dark player surfaces (approx. of prompt palette). */
|
|
20
|
+
exports.PERSON_DOMAIN_UI_COLOR = {
|
|
21
|
+
[person_domain_enum_1.PersonDomainEnum.MUSIC]: { color: '#C4B5FD', bg: 'rgba(109, 40, 217, 0.22)' },
|
|
22
|
+
[person_domain_enum_1.PersonDomainEnum.LITERATURE]: { color: '#6EE7B7', bg: 'rgba(5, 150, 105, 0.18)' },
|
|
23
|
+
[person_domain_enum_1.PersonDomainEnum.VISUAL_ART]: { color: '#93C5FD', bg: 'rgba(37, 99, 235, 0.2)' },
|
|
24
|
+
[person_domain_enum_1.PersonDomainEnum.POLITICS]: { color: '#F0A3B5', bg: 'rgba(127, 29, 55, 0.28)' },
|
|
25
|
+
[person_domain_enum_1.PersonDomainEnum.ARCHITECTURE]: { color: '#CBD5E1', bg: 'rgba(100, 116, 139, 0.22)' },
|
|
26
|
+
[person_domain_enum_1.PersonDomainEnum.ACTING]: { color: '#FF8A70', bg: 'rgba(234, 88, 12, 0.18)' },
|
|
27
|
+
[person_domain_enum_1.PersonDomainEnum.SCIENCE]: { color: '#67E8F9', bg: 'rgba(8, 145, 178, 0.2)' },
|
|
28
|
+
[person_domain_enum_1.PersonDomainEnum.SPORT]: { color: '#FDBA74', bg: 'rgba(234, 88, 12, 0.16)' },
|
|
29
|
+
[person_domain_enum_1.PersonDomainEnum.FILM]: { color: '#93C5FD', bg: 'rgba(30, 58, 95, 0.45)' },
|
|
30
|
+
};
|
|
31
|
+
exports.DEFAULT_PERSON_DOMAIN_UI_COLOR = {
|
|
32
|
+
color: '#F6D787',
|
|
33
|
+
bg: 'rgba(217, 160, 40, 0.16)',
|
|
34
|
+
};
|
|
35
|
+
/** Stable filter / preview order (not alphabetical). */
|
|
36
|
+
exports.PERSON_DOMAIN_ORDER = [
|
|
37
|
+
person_domain_enum_1.PersonDomainEnum.MUSIC,
|
|
38
|
+
person_domain_enum_1.PersonDomainEnum.LITERATURE,
|
|
39
|
+
person_domain_enum_1.PersonDomainEnum.VISUAL_ART,
|
|
40
|
+
person_domain_enum_1.PersonDomainEnum.ARCHITECTURE,
|
|
41
|
+
person_domain_enum_1.PersonDomainEnum.ACTING,
|
|
42
|
+
person_domain_enum_1.PersonDomainEnum.FILM,
|
|
43
|
+
person_domain_enum_1.PersonDomainEnum.SCIENCE,
|
|
44
|
+
person_domain_enum_1.PersonDomainEnum.POLITICS,
|
|
45
|
+
person_domain_enum_1.PersonDomainEnum.SPORT,
|
|
46
|
+
];
|
|
47
|
+
/** Occupation → domain for derived domains and tag coloring. */
|
|
48
|
+
exports.PERSON_OCCUPATION_DOMAIN = {
|
|
49
|
+
[person_occupation_enum_1.PersonOccupationEnum.COMPOSER]: person_domain_enum_1.PersonDomainEnum.MUSIC,
|
|
50
|
+
[person_occupation_enum_1.PersonOccupationEnum.MUSICIAN]: person_domain_enum_1.PersonDomainEnum.MUSIC,
|
|
51
|
+
[person_occupation_enum_1.PersonOccupationEnum.SINGER]: person_domain_enum_1.PersonDomainEnum.MUSIC,
|
|
52
|
+
[person_occupation_enum_1.PersonOccupationEnum.PIANIST]: person_domain_enum_1.PersonDomainEnum.MUSIC,
|
|
53
|
+
[person_occupation_enum_1.PersonOccupationEnum.CONDUCTOR]: person_domain_enum_1.PersonDomainEnum.MUSIC,
|
|
54
|
+
[person_occupation_enum_1.PersonOccupationEnum.CELLIST]: person_domain_enum_1.PersonDomainEnum.MUSIC,
|
|
55
|
+
[person_occupation_enum_1.PersonOccupationEnum.LIBRETTIST]: person_domain_enum_1.PersonDomainEnum.MUSIC,
|
|
56
|
+
[person_occupation_enum_1.PersonOccupationEnum.POET]: person_domain_enum_1.PersonDomainEnum.LITERATURE,
|
|
57
|
+
[person_occupation_enum_1.PersonOccupationEnum.WRITER]: person_domain_enum_1.PersonDomainEnum.LITERATURE,
|
|
58
|
+
[person_occupation_enum_1.PersonOccupationEnum.PLAYWRIGHT]: person_domain_enum_1.PersonDomainEnum.LITERATURE,
|
|
59
|
+
[person_occupation_enum_1.PersonOccupationEnum.DIARIST]: person_domain_enum_1.PersonDomainEnum.LITERATURE,
|
|
60
|
+
[person_occupation_enum_1.PersonOccupationEnum.PHILOSOPHER]: person_domain_enum_1.PersonDomainEnum.LITERATURE,
|
|
61
|
+
[person_occupation_enum_1.PersonOccupationEnum.PAINTER]: person_domain_enum_1.PersonDomainEnum.VISUAL_ART,
|
|
62
|
+
[person_occupation_enum_1.PersonOccupationEnum.SCULPTOR]: person_domain_enum_1.PersonDomainEnum.VISUAL_ART,
|
|
63
|
+
[person_occupation_enum_1.PersonOccupationEnum.ENGRAVER]: person_domain_enum_1.PersonDomainEnum.VISUAL_ART,
|
|
64
|
+
[person_occupation_enum_1.PersonOccupationEnum.GRAPHIC_ARTIST]: person_domain_enum_1.PersonDomainEnum.VISUAL_ART,
|
|
65
|
+
[person_occupation_enum_1.PersonOccupationEnum.ARCHITECT]: person_domain_enum_1.PersonDomainEnum.ARCHITECTURE,
|
|
66
|
+
[person_occupation_enum_1.PersonOccupationEnum.DANCER]: person_domain_enum_1.PersonDomainEnum.ACTING,
|
|
67
|
+
[person_occupation_enum_1.PersonOccupationEnum.ACTOR]: person_domain_enum_1.PersonDomainEnum.ACTING,
|
|
68
|
+
[person_occupation_enum_1.PersonOccupationEnum.ACTRESS]: person_domain_enum_1.PersonDomainEnum.ACTING,
|
|
69
|
+
[person_occupation_enum_1.PersonOccupationEnum.POLITICIAN]: person_domain_enum_1.PersonDomainEnum.POLITICS,
|
|
70
|
+
[person_occupation_enum_1.PersonOccupationEnum.SCIENTIST]: person_domain_enum_1.PersonDomainEnum.SCIENCE,
|
|
71
|
+
[person_occupation_enum_1.PersonOccupationEnum.INVENTOR]: person_domain_enum_1.PersonDomainEnum.SCIENCE,
|
|
72
|
+
[person_occupation_enum_1.PersonOccupationEnum.ATHLETE]: person_domain_enum_1.PersonDomainEnum.SPORT,
|
|
73
|
+
[person_occupation_enum_1.PersonOccupationEnum.DIRECTOR]: person_domain_enum_1.PersonDomainEnum.FILM,
|
|
74
|
+
};
|
|
75
|
+
const personDomainUiColor = (domain) => (domain && exports.PERSON_DOMAIN_UI_COLOR[domain]) || exports.DEFAULT_PERSON_DOMAIN_UI_COLOR;
|
|
76
|
+
exports.personDomainUiColor = personDomainUiColor;
|
|
77
|
+
const personDomainPromptColor = (domain) => (domain && exports.PERSON_DOMAIN_PROMPT_COLOR[domain]) || exports.DEFAULT_PERSON_DOMAIN_PROMPT_COLOR;
|
|
78
|
+
exports.personDomainPromptColor = personDomainPromptColor;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Languages } from '../shared/enum/languages.enum';
|
|
2
|
+
import { ResponseObject } from '../shared/ro';
|
|
3
|
+
export type CityReadyRouteLocaleRO = ResponseObject & {
|
|
4
|
+
routeId: number;
|
|
5
|
+
language: Languages;
|
|
6
|
+
title: string;
|
|
7
|
+
teaser: string | null;
|
|
8
|
+
description: string | null;
|
|
9
|
+
};
|