@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.
Files changed (77) hide show
  1. package/dist/city/city.ro.d.ts +2 -0
  2. package/dist/city/update-city.dto.d.ts +2 -0
  3. package/dist/city/update-city.dto.js +6 -0
  4. package/dist/city-attraction/attraction-content-languages.d.ts +2 -2
  5. package/dist/city-attraction/attraction-content-languages.js +3 -2
  6. package/dist/city-attraction/city-attraction-locale.ro.d.ts +3 -0
  7. package/dist/city-attraction/city-attraction.ro.d.ts +6 -0
  8. package/dist/city-attraction/enum/attraction-review-status.enum.d.ts +3 -1
  9. package/dist/city-attraction/enum/attraction-review-status.enum.js +2 -0
  10. package/dist/city-attraction/generate-attraction-audio.dto.d.ts +10 -0
  11. package/dist/city-attraction/generate-attraction-audio.dto.js +45 -0
  12. package/dist/city-attraction/generate-attraction-audio.ro.d.ts +3 -0
  13. package/dist/city-attraction/generate-attraction-audio.ro.js +2 -0
  14. package/dist/city-attraction/upsert-city-attraction-locale.dto.d.ts +2 -0
  15. package/dist/city-attraction/upsert-city-attraction-locale.dto.js +13 -0
  16. package/dist/city-person/city-person.ro.d.ts +15 -0
  17. package/dist/city-person/create-city-person.dto.d.ts +5 -0
  18. package/dist/city-person/create-city-person.dto.js +20 -0
  19. package/dist/city-person/enum/person-domain.enum.d.ts +11 -1
  20. package/dist/city-person/enum/person-domain.enum.js +10 -0
  21. package/dist/city-person/enum/person-occupation.enum.d.ts +7 -1
  22. package/dist/city-person/enum/person-occupation.enum.js +6 -0
  23. package/dist/city-person/enum/person-recognition.enum.d.ts +9 -0
  24. package/dist/city-person/enum/person-recognition.enum.js +13 -0
  25. package/dist/city-person/enum/person-review-status.enum.d.ts +11 -0
  26. package/dist/city-person/enum/person-review-status.enum.js +15 -0
  27. package/dist/city-person/moderate-city-person.dto.d.ts +5 -0
  28. package/dist/city-person/moderate-city-person.dto.js +29 -0
  29. package/dist/city-person/person-content-languages.d.ts +2 -2
  30. package/dist/city-person/person-content-languages.js +3 -2
  31. package/dist/city-person/person-domain-color.d.ts +20 -0
  32. package/dist/city-person/person-domain-color.js +78 -0
  33. package/dist/city-ready-route/city-ready-route-locale.ro.d.ts +9 -0
  34. package/dist/city-ready-route/city-ready-route-locale.ro.js +2 -0
  35. package/dist/city-ready-route/city-ready-route-stop.ro.d.ts +21 -0
  36. package/dist/city-ready-route/city-ready-route-stop.ro.js +2 -0
  37. package/dist/city-ready-route/city-ready-route.ro.d.ts +22 -0
  38. package/dist/city-ready-route/city-ready-route.ro.js +2 -0
  39. package/dist/city-ready-route/create-city-ready-route.dto.d.ts +15 -0
  40. package/dist/city-ready-route/create-city-ready-route.dto.js +90 -0
  41. package/dist/city-ready-route/enum/ready-route-status.enum.d.ts +4 -0
  42. package/dist/city-ready-route/enum/ready-route-status.enum.js +8 -0
  43. package/dist/city-ready-route/enum/ready-route-stop-kind.enum.d.ts +4 -0
  44. package/dist/city-ready-route/enum/ready-route-stop-kind.enum.js +8 -0
  45. package/dist/city-ready-route/estimate-ready-route-path.dto.d.ts +14 -0
  46. package/dist/city-ready-route/estimate-ready-route-path.dto.js +39 -0
  47. package/dist/city-ready-route/ready-route-map-pool.ro.d.ts +28 -0
  48. package/dist/city-ready-route/ready-route-map-pool.ro.js +2 -0
  49. package/dist/city-ready-route/ready-route-stop-content.d.ts +12 -0
  50. package/dist/city-ready-route/ready-route-stop-content.js +2 -0
  51. package/dist/city-ready-route/update-city-ready-route.dto.d.ts +5 -0
  52. package/dist/city-ready-route/update-city-ready-route.dto.js +8 -0
  53. package/dist/city-ready-route/upsert-city-ready-route-locale.dto.d.ts +7 -0
  54. package/dist/city-ready-route/upsert-city-ready-route-locale.dto.js +41 -0
  55. package/dist/city-ready-route/upsert-city-ready-route-stop.dto.d.ts +15 -0
  56. package/dist/city-ready-route/upsert-city-ready-route-stop.dto.js +73 -0
  57. package/dist/openapi/city-player/city-explore.ro.d.ts +101 -0
  58. package/dist/openapi/city-player/city-explore.ro.js +2 -0
  59. package/dist/openapi/city-player/city-player.ro.d.ts +11 -0
  60. package/dist/openapi/city-player/city-ready-route.ro.d.ts +54 -0
  61. package/dist/openapi/city-player/city-ready-route.ro.js +2 -0
  62. package/dist/openapi/widget/openapi-widget-info.ro.d.ts +0 -9
  63. package/dist/openapi/widget/openapi-widget-info.ro.js +0 -32
  64. package/dist/promocode/create-promocode.dto.js +2 -2
  65. package/dist/shared/city-pipeline.d.ts +11 -3
  66. package/dist/shared/city-pipeline.js +8 -2
  67. package/dist/shared/city-research.d.ts +2 -0
  68. package/dist/shared/content-base-language.d.ts +7 -0
  69. package/dist/shared/content-base-language.js +10 -0
  70. package/dist/shared/editorial-research.d.ts +70 -0
  71. package/dist/shared/editorial-research.js +4 -0
  72. package/dist/shared/fill-complete.d.ts +26 -0
  73. package/dist/shared/fill-complete.js +46 -0
  74. package/dist/tsconfig.build.tsbuildinfo +1 -1
  75. package/dist/upload/enum/image-type.enum.d.ts +2 -1
  76. package/dist/upload/enum/image-type.enum.js +1 -0
  77. package/package.json +2 -2
@@ -0,0 +1,21 @@
1
+ import { Languages } from '../shared/enum/languages.enum';
2
+ import { ResponseObject } from '../shared/ro';
3
+ import { ReadyRouteStopKindEnum } from './enum/ready-route-stop-kind.enum';
4
+ import { ReadyRouteStopContentOverride } from './ready-route-stop-content';
5
+ export type CityReadyRouteStopLocaleRO = {
6
+ id: number;
7
+ stopId: number;
8
+ language: Languages;
9
+ content: ReadyRouteStopContentOverride | null;
10
+ };
11
+ export type CityReadyRouteStopRO = ResponseObject & {
12
+ routeId: number;
13
+ order: number;
14
+ kind: ReadyRouteStopKindEnum;
15
+ attractionId: number | null;
16
+ attractionTitle?: string | null;
17
+ attractionReviewStatus?: string | null;
18
+ lat: number | null;
19
+ lng: number | null;
20
+ locales?: CityReadyRouteStopLocaleRO[];
21
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,22 @@
1
+ import { ResponseObject } from '../shared/ro';
2
+ import { CityReadyRouteLocaleRO } from './city-ready-route-locale.ro';
3
+ import { CityReadyRouteStopRO } from './city-ready-route-stop.ro';
4
+ import { ReadyRouteStatusEnum } from './enum/ready-route-status.enum';
5
+ export type CityReadyRouteRO = ResponseObject & {
6
+ cityId: number;
7
+ cityTitle?: string | null;
8
+ status: ReadyRouteStatusEnum;
9
+ coverUrl: string | null;
10
+ authorName: string | null;
11
+ authorAvatarUrl: string | null;
12
+ durationFromMinutes: number | null;
13
+ durationToMinutes: number | null;
14
+ distanceKm: number | null;
15
+ /** Display title from content-base locale (RU). */
16
+ title?: string | null;
17
+ teaser?: string | null;
18
+ description?: string | null;
19
+ stopsCount?: number;
20
+ locales?: CityReadyRouteLocaleRO[];
21
+ stops?: CityReadyRouteStopRO[];
22
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ import { ReadyRouteStatusEnum } from './enum/ready-route-status.enum';
2
+ import { UpsertCityReadyRouteLocaleDto } from './upsert-city-ready-route-locale.dto';
3
+ import { UpsertCityReadyRouteStopDto } from './upsert-city-ready-route-stop.dto';
4
+ export declare class CreateCityReadyRouteDto {
5
+ cityId: number;
6
+ status?: ReadyRouteStatusEnum;
7
+ coverUrl?: string | null;
8
+ authorName?: string | null;
9
+ authorAvatarUrl?: string | null;
10
+ durationFromMinutes?: number | null;
11
+ durationToMinutes?: number | null;
12
+ distanceKm?: number | null;
13
+ locales?: UpsertCityReadyRouteLocaleDto[];
14
+ stops?: UpsertCityReadyRouteStopDto[];
15
+ }
@@ -0,0 +1,90 @@
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.CreateCityReadyRouteDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const ready_route_status_enum_1 = require("./enum/ready-route-status.enum");
16
+ const upsert_city_ready_route_locale_dto_1 = require("./upsert-city-ready-route-locale.dto");
17
+ const upsert_city_ready_route_stop_dto_1 = require("./upsert-city-ready-route-stop.dto");
18
+ class CreateCityReadyRouteDto {
19
+ }
20
+ exports.CreateCityReadyRouteDto = CreateCityReadyRouteDto;
21
+ __decorate([
22
+ (0, class_transformer_1.Type)(() => Number),
23
+ (0, class_validator_1.IsInt)(),
24
+ (0, class_transformer_1.Expose)(),
25
+ __metadata("design:type", Number)
26
+ ], CreateCityReadyRouteDto.prototype, "cityId", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsOptional)(),
29
+ (0, class_validator_1.IsEnum)(ready_route_status_enum_1.ReadyRouteStatusEnum),
30
+ (0, class_transformer_1.Expose)(),
31
+ __metadata("design:type", String)
32
+ ], CreateCityReadyRouteDto.prototype, "status", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsOptional)(),
35
+ (0, class_validator_1.IsString)(),
36
+ (0, class_transformer_1.Expose)(),
37
+ __metadata("design:type", String)
38
+ ], CreateCityReadyRouteDto.prototype, "coverUrl", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_validator_1.IsString)(),
42
+ (0, class_transformer_1.Expose)(),
43
+ __metadata("design:type", String)
44
+ ], CreateCityReadyRouteDto.prototype, "authorName", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsOptional)(),
47
+ (0, class_validator_1.IsString)(),
48
+ (0, class_transformer_1.Expose)(),
49
+ __metadata("design:type", String)
50
+ ], CreateCityReadyRouteDto.prototype, "authorAvatarUrl", void 0);
51
+ __decorate([
52
+ (0, class_validator_1.IsOptional)(),
53
+ (0, class_transformer_1.Type)(() => Number),
54
+ (0, class_validator_1.IsInt)(),
55
+ (0, class_validator_1.Min)(0),
56
+ (0, class_transformer_1.Expose)(),
57
+ __metadata("design:type", Number)
58
+ ], CreateCityReadyRouteDto.prototype, "durationFromMinutes", void 0);
59
+ __decorate([
60
+ (0, class_validator_1.IsOptional)(),
61
+ (0, class_transformer_1.Type)(() => Number),
62
+ (0, class_validator_1.IsInt)(),
63
+ (0, class_validator_1.Min)(0),
64
+ (0, class_transformer_1.Expose)(),
65
+ __metadata("design:type", Number)
66
+ ], CreateCityReadyRouteDto.prototype, "durationToMinutes", void 0);
67
+ __decorate([
68
+ (0, class_validator_1.IsOptional)(),
69
+ (0, class_transformer_1.Type)(() => Number),
70
+ (0, class_validator_1.IsNumber)(),
71
+ (0, class_validator_1.Min)(0),
72
+ (0, class_transformer_1.Expose)(),
73
+ __metadata("design:type", Number)
74
+ ], CreateCityReadyRouteDto.prototype, "distanceKm", void 0);
75
+ __decorate([
76
+ (0, class_validator_1.IsOptional)(),
77
+ (0, class_validator_1.IsArray)(),
78
+ (0, class_validator_1.ValidateNested)({ each: true }),
79
+ (0, class_transformer_1.Type)(() => upsert_city_ready_route_locale_dto_1.UpsertCityReadyRouteLocaleDto),
80
+ (0, class_transformer_1.Expose)(),
81
+ __metadata("design:type", Array)
82
+ ], CreateCityReadyRouteDto.prototype, "locales", void 0);
83
+ __decorate([
84
+ (0, class_validator_1.IsOptional)(),
85
+ (0, class_validator_1.IsArray)(),
86
+ (0, class_validator_1.ValidateNested)({ each: true }),
87
+ (0, class_transformer_1.Type)(() => upsert_city_ready_route_stop_dto_1.UpsertCityReadyRouteStopDto),
88
+ (0, class_transformer_1.Expose)(),
89
+ __metadata("design:type", Array)
90
+ ], CreateCityReadyRouteDto.prototype, "stops", void 0);
@@ -0,0 +1,4 @@
1
+ export declare enum ReadyRouteStatusEnum {
2
+ DRAFT = "draft",
3
+ PUBLISHED = "published"
4
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReadyRouteStatusEnum = void 0;
4
+ var ReadyRouteStatusEnum;
5
+ (function (ReadyRouteStatusEnum) {
6
+ ReadyRouteStatusEnum["DRAFT"] = "draft";
7
+ ReadyRouteStatusEnum["PUBLISHED"] = "published";
8
+ })(ReadyRouteStatusEnum || (exports.ReadyRouteStatusEnum = ReadyRouteStatusEnum = {}));
@@ -0,0 +1,4 @@
1
+ export declare enum ReadyRouteStopKindEnum {
2
+ ATTRACTION = "attraction",
3
+ WAYPOINT = "waypoint"
4
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReadyRouteStopKindEnum = void 0;
4
+ var ReadyRouteStopKindEnum;
5
+ (function (ReadyRouteStopKindEnum) {
6
+ ReadyRouteStopKindEnum["ATTRACTION"] = "attraction";
7
+ ReadyRouteStopKindEnum["WAYPOINT"] = "waypoint";
8
+ })(ReadyRouteStopKindEnum || (exports.ReadyRouteStopKindEnum = ReadyRouteStopKindEnum = {}));
@@ -0,0 +1,14 @@
1
+ export declare class ReadyRoutePathPointDto {
2
+ lat: number;
3
+ lng: number;
4
+ }
5
+ export declare class EstimateReadyRoutePathDto {
6
+ points: ReadyRoutePathPointDto[];
7
+ }
8
+ export type EstimateReadyRoutePathRO = {
9
+ distanceKm: number;
10
+ durationFromMinutes: number;
11
+ durationToMinutes: number;
12
+ /** [lng, lat][] polyline for admin preview */
13
+ geometry: [number, number][];
14
+ };
@@ -0,0 +1,39 @@
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.EstimateReadyRoutePathDto = exports.ReadyRoutePathPointDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ class ReadyRoutePathPointDto {
16
+ }
17
+ exports.ReadyRoutePathPointDto = ReadyRoutePathPointDto;
18
+ __decorate([
19
+ (0, class_transformer_1.Type)(() => Number),
20
+ (0, class_validator_1.IsNumber)(),
21
+ (0, class_transformer_1.Expose)(),
22
+ __metadata("design:type", Number)
23
+ ], ReadyRoutePathPointDto.prototype, "lat", void 0);
24
+ __decorate([
25
+ (0, class_transformer_1.Type)(() => Number),
26
+ (0, class_validator_1.IsNumber)(),
27
+ (0, class_transformer_1.Expose)(),
28
+ __metadata("design:type", Number)
29
+ ], ReadyRoutePathPointDto.prototype, "lng", void 0);
30
+ class EstimateReadyRoutePathDto {
31
+ }
32
+ exports.EstimateReadyRoutePathDto = EstimateReadyRoutePathDto;
33
+ __decorate([
34
+ (0, class_validator_1.IsArray)(),
35
+ (0, class_validator_1.ValidateNested)({ each: true }),
36
+ (0, class_transformer_1.Type)(() => ReadyRoutePathPointDto),
37
+ (0, class_transformer_1.Expose)(),
38
+ __metadata("design:type", Array)
39
+ ], EstimateReadyRoutePathDto.prototype, "points", void 0);
@@ -0,0 +1,28 @@
1
+ import { AttractionReviewStatusEnum } from '../city-attraction/enum/attraction-review-status.enum';
2
+ import { PersonDomainEnum } from '../city-person/enum/person-domain.enum';
3
+ export type ReadyRouteMapPoolPersonRO = {
4
+ personId: number;
5
+ name: string;
6
+ photoUrl: string | null;
7
+ domains: PersonDomainEnum[];
8
+ };
9
+ export type ReadyRouteMapPoolAttractionRO = {
10
+ attractionId: number;
11
+ title: string;
12
+ knownFor: string | null;
13
+ knownForRu: string | null;
14
+ reviewStatus: AttractionReviewStatusEnum;
15
+ archived: boolean;
16
+ lat: number | null;
17
+ lng: number | null;
18
+ photoUrl: string | null;
19
+ hookRu: string | null;
20
+ people: ReadyRouteMapPoolPersonRO[];
21
+ };
22
+ export type ReadyRouteMapPoolRO = {
23
+ cityId: number;
24
+ city: string;
25
+ lat: number | null;
26
+ lng: number | null;
27
+ attractions: ReadyRouteMapPoolAttractionRO[];
28
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,12 @@
1
+ import { AttractionContentCard, AttractionFunFact } from '../city-attraction/attraction-content';
2
+ /**
3
+ * Partial override of attraction guide content for a route stop.
4
+ * Null/omitted fields inherit from the attraction locale.
5
+ */
6
+ export type ReadyRouteStopContentOverride = {
7
+ hook?: string | null;
8
+ cards?: AttractionContentCard[] | null;
9
+ guideTalk?: string | null;
10
+ funFact?: AttractionFunFact | null;
11
+ lookFor?: string[] | null;
12
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ import { CreateCityReadyRouteDto } from './create-city-ready-route.dto';
2
+ declare const UpdateCityReadyRouteDto_base: import("@nestjs/mapped-types").MappedType<Partial<CreateCityReadyRouteDto>>;
3
+ export declare class UpdateCityReadyRouteDto extends UpdateCityReadyRouteDto_base {
4
+ }
5
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateCityReadyRouteDto = void 0;
4
+ const mapped_types_1 = require("@nestjs/mapped-types");
5
+ const create_city_ready_route_dto_1 = require("./create-city-ready-route.dto");
6
+ class UpdateCityReadyRouteDto extends (0, mapped_types_1.PartialType)(create_city_ready_route_dto_1.CreateCityReadyRouteDto) {
7
+ }
8
+ exports.UpdateCityReadyRouteDto = UpdateCityReadyRouteDto;
@@ -0,0 +1,7 @@
1
+ import { Languages } from '../shared/enum/languages.enum';
2
+ export declare class UpsertCityReadyRouteLocaleDto {
3
+ language: Languages;
4
+ title: string;
5
+ teaser?: string | null;
6
+ description?: string | null;
7
+ }
@@ -0,0 +1,41 @@
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.UpsertCityReadyRouteLocaleDto = 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 UpsertCityReadyRouteLocaleDto {
18
+ }
19
+ exports.UpsertCityReadyRouteLocaleDto = UpsertCityReadyRouteLocaleDto;
20
+ __decorate([
21
+ (0, class_validator_1.IsEnum)(languages_enum_1.Languages),
22
+ (0, class_transformer_1.Expose)(),
23
+ __metadata("design:type", String)
24
+ ], UpsertCityReadyRouteLocaleDto.prototype, "language", void 0);
25
+ __decorate([
26
+ (0, is_not_blank_1.IsNotBlank)(),
27
+ (0, class_transformer_1.Expose)(),
28
+ __metadata("design:type", String)
29
+ ], UpsertCityReadyRouteLocaleDto.prototype, "title", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsString)(),
33
+ (0, class_transformer_1.Expose)(),
34
+ __metadata("design:type", String)
35
+ ], UpsertCityReadyRouteLocaleDto.prototype, "teaser", void 0);
36
+ __decorate([
37
+ (0, class_validator_1.IsOptional)(),
38
+ (0, class_validator_1.IsString)(),
39
+ (0, class_transformer_1.Expose)(),
40
+ __metadata("design:type", String)
41
+ ], UpsertCityReadyRouteLocaleDto.prototype, "description", void 0);
@@ -0,0 +1,15 @@
1
+ import { Languages } from '../shared/enum/languages.enum';
2
+ import { ReadyRouteStopKindEnum } from './enum/ready-route-stop-kind.enum';
3
+ import { ReadyRouteStopContentOverride } from './ready-route-stop-content';
4
+ export declare class UpsertCityReadyRouteStopLocaleDto {
5
+ language: Languages;
6
+ content?: ReadyRouteStopContentOverride | null;
7
+ }
8
+ export declare class UpsertCityReadyRouteStopDto {
9
+ order: number;
10
+ kind: ReadyRouteStopKindEnum;
11
+ attractionId?: number | null;
12
+ lat?: number | null;
13
+ lng?: number | null;
14
+ locales?: UpsertCityReadyRouteStopLocaleDto[];
15
+ }
@@ -0,0 +1,73 @@
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.UpsertCityReadyRouteStopDto = exports.UpsertCityReadyRouteStopLocaleDto = 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 ready_route_stop_kind_enum_1 = require("./enum/ready-route-stop-kind.enum");
17
+ class UpsertCityReadyRouteStopLocaleDto {
18
+ }
19
+ exports.UpsertCityReadyRouteStopLocaleDto = UpsertCityReadyRouteStopLocaleDto;
20
+ __decorate([
21
+ (0, class_validator_1.IsEnum)(languages_enum_1.Languages),
22
+ (0, class_transformer_1.Expose)(),
23
+ __metadata("design:type", String)
24
+ ], UpsertCityReadyRouteStopLocaleDto.prototype, "language", void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsOptional)(),
27
+ (0, class_transformer_1.Expose)(),
28
+ __metadata("design:type", Object)
29
+ ], UpsertCityReadyRouteStopLocaleDto.prototype, "content", void 0);
30
+ class UpsertCityReadyRouteStopDto {
31
+ }
32
+ exports.UpsertCityReadyRouteStopDto = UpsertCityReadyRouteStopDto;
33
+ __decorate([
34
+ (0, class_transformer_1.Type)(() => Number),
35
+ (0, class_validator_1.IsInt)(),
36
+ (0, class_validator_1.Min)(0),
37
+ (0, class_transformer_1.Expose)(),
38
+ __metadata("design:type", Number)
39
+ ], UpsertCityReadyRouteStopDto.prototype, "order", void 0);
40
+ __decorate([
41
+ (0, class_validator_1.IsEnum)(ready_route_stop_kind_enum_1.ReadyRouteStopKindEnum),
42
+ (0, class_transformer_1.Expose)(),
43
+ __metadata("design:type", String)
44
+ ], UpsertCityReadyRouteStopDto.prototype, "kind", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsOptional)(),
47
+ (0, class_transformer_1.Type)(() => Number),
48
+ (0, class_validator_1.IsInt)(),
49
+ (0, class_transformer_1.Expose)(),
50
+ __metadata("design:type", Number)
51
+ ], UpsertCityReadyRouteStopDto.prototype, "attractionId", void 0);
52
+ __decorate([
53
+ (0, class_validator_1.IsOptional)(),
54
+ (0, class_transformer_1.Type)(() => Number),
55
+ (0, class_validator_1.IsNumber)(),
56
+ (0, class_transformer_1.Expose)(),
57
+ __metadata("design:type", Number)
58
+ ], UpsertCityReadyRouteStopDto.prototype, "lat", void 0);
59
+ __decorate([
60
+ (0, class_validator_1.IsOptional)(),
61
+ (0, class_transformer_1.Type)(() => Number),
62
+ (0, class_validator_1.IsNumber)(),
63
+ (0, class_transformer_1.Expose)(),
64
+ __metadata("design:type", Number)
65
+ ], UpsertCityReadyRouteStopDto.prototype, "lng", void 0);
66
+ __decorate([
67
+ (0, class_validator_1.IsOptional)(),
68
+ (0, class_validator_1.IsArray)(),
69
+ (0, class_validator_1.ValidateNested)({ each: true }),
70
+ (0, class_transformer_1.Type)(() => UpsertCityReadyRouteStopLocaleDto),
71
+ (0, class_transformer_1.Expose)(),
72
+ __metadata("design:type", Array)
73
+ ], UpsertCityReadyRouteStopDto.prototype, "locales", void 0);
@@ -0,0 +1,101 @@
1
+ import { AttractionCategoryEnum } from '../../city-attraction/enum/attraction-category.enum';
2
+ import { PersonAttractionRoleEnum } from '../../city-person/enum/person-attraction-role.enum';
3
+ import { PersonDomainEnum } from '../../city-person/enum/person-domain.enum';
4
+ import { PersonOccupationEnum } from '../../city-person/enum/person-occupation.enum';
5
+ import { PersonRecognitionEnum } from '../../city-person/enum/person-recognition.enum';
6
+ import { PersonLocaleFact } from '../../city-person/person-locale-fact';
7
+ /** Карточка личности в списке города. */
8
+ export type CityPlayerPersonListItemRO = {
9
+ personId: number;
10
+ name: string;
11
+ knownFor: string | null;
12
+ photoUrl: string | null;
13
+ domains: PersonDomainEnum[];
14
+ occupations: PersonOccupationEnum[];
15
+ /** Узнаваемость туристом без локальной истории. */
16
+ recognition: PersonRecognitionEnum;
17
+ birthYear: number | null;
18
+ deathYear: number | null;
19
+ };
20
+ export type CityPlayerPeopleRO = {
21
+ cityId: number;
22
+ city: string;
23
+ people: CityPlayerPersonListItemRO[];
24
+ };
25
+ /** Место, связанное с личностью. */
26
+ export type CityPlayerPersonPlaceRO = {
27
+ attractionId: number;
28
+ title: string;
29
+ knownFor: string | null;
30
+ photoUrl: string | null;
31
+ cityId: number;
32
+ cityTitle: string | null;
33
+ /** true — место в городе, с которого открыли личность. */
34
+ isCurrentCity: boolean;
35
+ role: PersonAttractionRoleEnum;
36
+ yearFrom: number | null;
37
+ yearTo: number | null;
38
+ note: string | null;
39
+ lat: number | null;
40
+ lng: number | null;
41
+ };
42
+ /** Детальная страница личности. */
43
+ export type CityPlayerPersonDetailRO = {
44
+ personId: number;
45
+ name: string;
46
+ knownFor: string | null;
47
+ description: string | null;
48
+ photoUrl: string | null;
49
+ photos: string[];
50
+ domains: PersonDomainEnum[];
51
+ occupations: PersonOccupationEnum[];
52
+ birthYear: number | null;
53
+ deathYear: number | null;
54
+ facts: PersonLocaleFact[];
55
+ places: CityPlayerPersonPlaceRO[];
56
+ };
57
+ /** Точка на карте свободного маршрута / шторка. */
58
+ export type CityPlayerAttractionCardRO = {
59
+ emoji: string;
60
+ title: string;
61
+ body: string;
62
+ };
63
+ export type CityPlayerAttractionFunFactRO = {
64
+ emoji?: string;
65
+ title?: string;
66
+ body: string;
67
+ };
68
+ /** Личность, связанная с точкой на карте. */
69
+ export type CityPlayerAttractionPersonRO = {
70
+ personId: number;
71
+ name: string;
72
+ photoUrl: string | null;
73
+ };
74
+ export type CityPlayerAttractionMapItemRO = {
75
+ attractionId: number;
76
+ title: string;
77
+ knownFor: string | null;
78
+ description: string | null;
79
+ category: AttractionCategoryEnum;
80
+ address: string | null;
81
+ photoUrl: string | null;
82
+ photos: string[];
83
+ lat: number;
84
+ lng: number;
85
+ hook: string | null;
86
+ guideTalk: string | null;
87
+ guideAudioUrl: string | null;
88
+ guideAudioDurationSec: number | null;
89
+ cards: CityPlayerAttractionCardRO[];
90
+ funFact: CityPlayerAttractionFunFactRO | null;
91
+ lookFor: string[];
92
+ /** Люди, связанные с этим местом (для маркеров рядом с точкой). */
93
+ people: CityPlayerAttractionPersonRO[];
94
+ };
95
+ export type CityPlayerAttractionsMapRO = {
96
+ cityId: number;
97
+ city: string;
98
+ lat: number | null;
99
+ lng: number | null;
100
+ attractions: CityPlayerAttractionMapItemRO[];
101
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -65,6 +65,17 @@ export type CityPlayerCatalogCityRO = {
65
65
  country?: CountriesEnum | null;
66
66
  /** Фото города из `CityEntity.photo`. */
67
67
  photoUrl?: string | null;
68
+ /** Широта центра города (GeoJSON Point → lat). */
69
+ lat?: number | null;
70
+ /** Долгота центра города (GeoJSON Point → lng). */
71
+ lng?: number | null;
72
+ /**
73
+ * Расстояние до пользователя в км (если в catalog переданы lat/lng).
74
+ * null — геолокация недоступна или у города нет координат.
75
+ */
76
+ distanceKm?: number | null;
77
+ /** Город в радиусе 50 км от пользователя. */
78
+ isNearby?: boolean;
68
79
  games: CityPlayerCatalogGameRO[];
69
80
  };
70
81
  /** @deprecated Группировка по странам больше не используется в player catalog. */
@@ -0,0 +1,54 @@
1
+ import { AttractionContent } from '../../city-attraction/attraction-content';
2
+ export type CityPlayerReadyRouteListItemRO = {
3
+ routeId: number;
4
+ title: string;
5
+ teaser: string | null;
6
+ coverUrl: string | null;
7
+ authorName: string | null;
8
+ authorAvatarUrl: string | null;
9
+ durationFromMinutes: number | null;
10
+ durationToMinutes: number | null;
11
+ distanceKm: number | null;
12
+ stopsCount: number;
13
+ };
14
+ export type CityPlayerReadyRoutesRO = {
15
+ cityId: number;
16
+ city: string;
17
+ routes: CityPlayerReadyRouteListItemRO[];
18
+ };
19
+ export type CityPlayerReadyRouteStopRO = {
20
+ stopId: number;
21
+ order: number;
22
+ kind: 'attraction' | 'waypoint';
23
+ attractionId: number | null;
24
+ title: string | null;
25
+ address: string | null;
26
+ photoUrl: string | null;
27
+ lat: number;
28
+ lng: number;
29
+ blurb: string | null;
30
+ /** Full guide content after unlock; null when locked or waypoint. */
31
+ content: AttractionContent | null;
32
+ };
33
+ export type CityPlayerReadyRouteDetailRO = {
34
+ routeId: number;
35
+ cityId: number;
36
+ city: string;
37
+ title: string;
38
+ teaser: string | null;
39
+ description: string | null;
40
+ coverUrl: string | null;
41
+ authorName: string | null;
42
+ authorAvatarUrl: string | null;
43
+ durationFromMinutes: number | null;
44
+ durationToMinutes: number | null;
45
+ distanceKm: number | null;
46
+ stopsCount: number;
47
+ /** Attraction stops only (waypoints omitted from markers). */
48
+ stops: CityPlayerReadyRouteStopRO[];
49
+ /** Full path including invisible waypoints [lng, lat]. */
50
+ pathPoints: Array<{
51
+ lat: number;
52
+ lng: number;
53
+ }>;
54
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });