@escapenavigator/types 2.0.12 → 2.0.14
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-quest/city-quest-content.d.ts +2 -0
- package/dist/city-quest/city-quest.ro.d.ts +4 -0
- package/dist/city-quest/city-quest.ro.js +9 -0
- package/dist/city-quest/update-city-quest.dto.d.ts +4 -0
- package/dist/city-quest/update-city-quest.dto.js +13 -0
- package/dist/google-places/apply-google-places-match.dto.d.ts +4 -0
- package/dist/google-places/apply-google-places-match.dto.js +25 -0
- package/dist/google-places/google-places-country-stats.ro.d.ts +10 -0
- package/dist/google-places/google-places-country-stats.ro.js +45 -0
- package/dist/google-places/google-places-match-preview.ro.d.ts +19 -0
- package/dist/google-places/google-places-match-preview.ro.js +67 -0
- package/dist/google-places/google-places.ro.d.ts +7 -0
- package/dist/google-places/google-places.ro.js +25 -1
- package/dist/google-places/update-google-places.dto.d.ts +2 -2
- package/dist/google-places/update-google-places.dto.js +2 -0
- package/dist/openapi/city-player/city-player-apple-login.dto.d.ts +11 -0
- package/dist/openapi/city-player/city-player-apple-login.dto.js +35 -0
- package/dist/openapi/city-player/city-player-login.dto.d.ts +8 -0
- package/dist/openapi/city-player/city-player-login.dto.js +27 -0
- package/dist/openapi/city-player/city-player-request-code.dto.d.ts +12 -0
- package/dist/openapi/city-player/city-player-request-code.dto.js +35 -0
- package/dist/openapi/city-player/city-player-verify-code.dto.d.ts +9 -0
- package/dist/openapi/city-player/city-player-verify-code.dto.js +32 -0
- package/dist/openapi/city-player/city-player.ro.d.ts +71 -0
- package/dist/openapi/city-player/city-player.ro.js +2 -0
- package/dist/openapi/city-quest/play-state.ro.d.ts +30 -0
- package/dist/openapi/shared/openapi-questroom.ro.d.ts +17 -0
- package/dist/openapi/shared/openapi-questroom.ro.js +25 -1
- package/dist/slot-template/slot-template-type.d.ts +1 -1
- package/dist/slot-template/slot-template.ro.d.ts +5 -0
- package/dist/slot-template/slot-template.ro.js +4 -0
- package/dist/slot-template/update-slot-template.dto.d.ts +6 -0
- package/dist/slot-template/update-slot-template.dto.js +23 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -127,6 +127,8 @@ export type CityQuestContent = {
|
|
|
127
127
|
status: string;
|
|
128
128
|
title: Partial<Record<Languages, string>>;
|
|
129
129
|
tagline?: Partial<Record<Languages, string>>;
|
|
130
|
+
/** Кто озвучил игру — показывается на стартовом экране плеера. */
|
|
131
|
+
voiced_by?: string;
|
|
130
132
|
locale_primary?: string;
|
|
131
133
|
supported_answer_languages?: string[];
|
|
132
134
|
/** IANA timezone города игры — нужен для time_dynamic задач. */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
1
2
|
import { Languages } from '../shared/enum/languages.enum';
|
|
2
3
|
import { RO } from '../shared/ro-class';
|
|
3
4
|
import { CityQuestStatusEnum } from './enum/city-quest-status.enum';
|
|
@@ -16,6 +17,9 @@ export declare class CityQuestRO extends RO {
|
|
|
16
17
|
/** game_id из контента (esc-muc-stolen-hour-v1). */
|
|
17
18
|
key: string;
|
|
18
19
|
city?: string;
|
|
20
|
+
country?: CountriesEnum | null;
|
|
21
|
+
/** Кто озвучил игру (draftContent.voiced_by) — для стартового экрана. */
|
|
22
|
+
voicedBy?: string;
|
|
19
23
|
title: Partial<Record<Languages, string>>;
|
|
20
24
|
status: CityQuestStatusEnum;
|
|
21
25
|
/** Номер последней опубликованной версии; null — ещё не публиковалась. */
|
|
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CityQuestRO = exports.CityQuestAssetRO = exports.CityQuestBindingRO = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const countries_enum_1 = require("../shared/enum/countries.enum");
|
|
14
15
|
const languages_enum_1 = require("../shared/enum/languages.enum");
|
|
15
16
|
const ro_class_1 = require("../shared/ro-class");
|
|
16
17
|
const city_quest_status_enum_1 = require("./enum/city-quest-status.enum");
|
|
@@ -59,6 +60,14 @@ __decorate([
|
|
|
59
60
|
(0, class_transformer_1.Expose)(),
|
|
60
61
|
__metadata("design:type", String)
|
|
61
62
|
], CityQuestRO.prototype, "city", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, class_transformer_1.Expose)(),
|
|
65
|
+
__metadata("design:type", String)
|
|
66
|
+
], CityQuestRO.prototype, "country", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, class_transformer_1.Expose)(),
|
|
69
|
+
__metadata("design:type", String)
|
|
70
|
+
], CityQuestRO.prototype, "voicedBy", void 0);
|
|
62
71
|
__decorate([
|
|
63
72
|
(0, class_transformer_1.Expose)(),
|
|
64
73
|
__metadata("design:type", Object)
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
1
2
|
import { CityQuestStatusEnum } from './enum/city-quest-status.enum';
|
|
2
3
|
export declare class UpdateCityQuestDto {
|
|
3
4
|
status?: CityQuestStatusEnum;
|
|
4
5
|
city?: string;
|
|
6
|
+
country?: CountriesEnum;
|
|
7
|
+
/** Кто озвучил игру — пишется в draftContent.voiced_by. */
|
|
8
|
+
voicedBy?: string;
|
|
5
9
|
}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.UpdateCityQuestDto = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
+
const countries_enum_1 = require("../shared/enum/countries.enum");
|
|
15
16
|
const city_quest_status_enum_1 = require("./enum/city-quest-status.enum");
|
|
16
17
|
class UpdateCityQuestDto {
|
|
17
18
|
}
|
|
@@ -28,3 +29,15 @@ __decorate([
|
|
|
28
29
|
(0, class_transformer_1.Expose)(),
|
|
29
30
|
__metadata("design:type", String)
|
|
30
31
|
], UpdateCityQuestDto.prototype, "city", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, class_validator_1.IsOptional)(),
|
|
34
|
+
(0, class_validator_1.IsEnum)(countries_enum_1.CountriesEnum),
|
|
35
|
+
(0, class_transformer_1.Expose)(),
|
|
36
|
+
__metadata("design:type", String)
|
|
37
|
+
], UpdateCityQuestDto.prototype, "country", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, class_validator_1.IsOptional)(),
|
|
40
|
+
(0, class_validator_1.IsString)(),
|
|
41
|
+
(0, class_transformer_1.Expose)(),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], UpdateCityQuestDto.prototype, "voicedBy", 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.ApplyGooglePlacesMatchDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
class ApplyGooglePlacesMatchDto {
|
|
15
|
+
}
|
|
16
|
+
exports.ApplyGooglePlacesMatchDto = ApplyGooglePlacesMatchDto;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsNumber)(),
|
|
19
|
+
__metadata("design:type", Number)
|
|
20
|
+
], ApplyGooglePlacesMatchDto.prototype, "profileId", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, class_validator_1.IsNumber)(),
|
|
23
|
+
(0, class_validator_1.IsOptional)(),
|
|
24
|
+
__metadata("design:type", Number)
|
|
25
|
+
], ApplyGooglePlacesMatchDto.prototype, "locationId", void 0);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
2
|
+
export declare class GooglePlacesCountryStatsRO {
|
|
3
|
+
country: CountriesEnum;
|
|
4
|
+
total: number;
|
|
5
|
+
resolved: number;
|
|
6
|
+
conflict: number;
|
|
7
|
+
newLocation: number;
|
|
8
|
+
noLocation: number;
|
|
9
|
+
needsReview: number;
|
|
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.GooglePlacesCountryStatsRO = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const countries_enum_1 = require("../shared/enum/countries.enum");
|
|
15
|
+
class GooglePlacesCountryStatsRO {
|
|
16
|
+
}
|
|
17
|
+
exports.GooglePlacesCountryStatsRO = GooglePlacesCountryStatsRO;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, class_transformer_1.Expose)(),
|
|
20
|
+
__metadata("design:type", String)
|
|
21
|
+
], GooglePlacesCountryStatsRO.prototype, "country", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, class_transformer_1.Expose)(),
|
|
24
|
+
__metadata("design:type", Number)
|
|
25
|
+
], GooglePlacesCountryStatsRO.prototype, "total", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
__metadata("design:type", Number)
|
|
29
|
+
], GooglePlacesCountryStatsRO.prototype, "resolved", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_transformer_1.Expose)(),
|
|
32
|
+
__metadata("design:type", Number)
|
|
33
|
+
], GooglePlacesCountryStatsRO.prototype, "conflict", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, class_transformer_1.Expose)(),
|
|
36
|
+
__metadata("design:type", Number)
|
|
37
|
+
], GooglePlacesCountryStatsRO.prototype, "newLocation", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, class_transformer_1.Expose)(),
|
|
40
|
+
__metadata("design:type", Number)
|
|
41
|
+
], GooglePlacesCountryStatsRO.prototype, "noLocation", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, class_transformer_1.Expose)(),
|
|
44
|
+
__metadata("design:type", Number)
|
|
45
|
+
], GooglePlacesCountryStatsRO.prototype, "needsReview", void 0);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GooglePlacesStatusEnum } from './google-places-status.enum';
|
|
2
|
+
export type GooglePlacesMatchType = 'location' | 'domain' | 'name' | 'address' | 'none';
|
|
3
|
+
export declare class GooglePlacesMatchProfile {
|
|
4
|
+
id: number;
|
|
5
|
+
title: string;
|
|
6
|
+
site: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class GooglePlacesMatchLocation {
|
|
9
|
+
id: number;
|
|
10
|
+
title: string;
|
|
11
|
+
address: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class GooglePlacesMatchPreviewRO {
|
|
14
|
+
found: boolean;
|
|
15
|
+
matchType: GooglePlacesMatchType;
|
|
16
|
+
profile: GooglePlacesMatchProfile | null;
|
|
17
|
+
location: GooglePlacesMatchLocation | null;
|
|
18
|
+
status: GooglePlacesStatusEnum | null;
|
|
19
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
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.GooglePlacesMatchPreviewRO = exports.GooglePlacesMatchLocation = exports.GooglePlacesMatchProfile = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const google_places_status_enum_1 = require("./google-places-status.enum");
|
|
15
|
+
class GooglePlacesMatchProfile {
|
|
16
|
+
}
|
|
17
|
+
exports.GooglePlacesMatchProfile = GooglePlacesMatchProfile;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, class_transformer_1.Expose)(),
|
|
20
|
+
__metadata("design:type", Number)
|
|
21
|
+
], GooglePlacesMatchProfile.prototype, "id", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, class_transformer_1.Expose)(),
|
|
24
|
+
__metadata("design:type", String)
|
|
25
|
+
], GooglePlacesMatchProfile.prototype, "title", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], GooglePlacesMatchProfile.prototype, "site", void 0);
|
|
30
|
+
class GooglePlacesMatchLocation {
|
|
31
|
+
}
|
|
32
|
+
exports.GooglePlacesMatchLocation = GooglePlacesMatchLocation;
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, class_transformer_1.Expose)(),
|
|
35
|
+
__metadata("design:type", Number)
|
|
36
|
+
], GooglePlacesMatchLocation.prototype, "id", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, class_transformer_1.Expose)(),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], GooglePlacesMatchLocation.prototype, "title", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, class_transformer_1.Expose)(),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], GooglePlacesMatchLocation.prototype, "address", void 0);
|
|
45
|
+
class GooglePlacesMatchPreviewRO {
|
|
46
|
+
}
|
|
47
|
+
exports.GooglePlacesMatchPreviewRO = GooglePlacesMatchPreviewRO;
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, class_transformer_1.Expose)(),
|
|
50
|
+
__metadata("design:type", Boolean)
|
|
51
|
+
], GooglePlacesMatchPreviewRO.prototype, "found", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, class_transformer_1.Expose)(),
|
|
54
|
+
__metadata("design:type", String)
|
|
55
|
+
], GooglePlacesMatchPreviewRO.prototype, "matchType", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, class_transformer_1.Expose)(),
|
|
58
|
+
__metadata("design:type", GooglePlacesMatchProfile)
|
|
59
|
+
], GooglePlacesMatchPreviewRO.prototype, "profile", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, class_transformer_1.Expose)(),
|
|
62
|
+
__metadata("design:type", GooglePlacesMatchLocation)
|
|
63
|
+
], GooglePlacesMatchPreviewRO.prototype, "location", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
(0, class_transformer_1.Expose)(),
|
|
66
|
+
__metadata("design:type", String)
|
|
67
|
+
], GooglePlacesMatchPreviewRO.prototype, "status", void 0);
|
|
@@ -6,6 +6,11 @@ export declare class Profile {
|
|
|
6
6
|
title: string;
|
|
7
7
|
status: ProfileStatusEnum;
|
|
8
8
|
}
|
|
9
|
+
export declare class Location {
|
|
10
|
+
id: number;
|
|
11
|
+
title: string;
|
|
12
|
+
address: string;
|
|
13
|
+
}
|
|
9
14
|
export declare class GooglePlacesRO {
|
|
10
15
|
id: number;
|
|
11
16
|
placeId: string;
|
|
@@ -22,9 +27,11 @@ export declare class GooglePlacesRO {
|
|
|
22
27
|
country: CountriesEnum;
|
|
23
28
|
profile: Profile;
|
|
24
29
|
profileId: number;
|
|
30
|
+
location: Location;
|
|
25
31
|
locationId: number;
|
|
26
32
|
lat: number;
|
|
27
33
|
lng: number;
|
|
34
|
+
types: string[];
|
|
28
35
|
lastCheckedAt: Date;
|
|
29
36
|
createdAt: Date;
|
|
30
37
|
updatedAt: Date;
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.GooglePlacesRO = exports.Profile = void 0;
|
|
12
|
+
exports.GooglePlacesRO = exports.Location = exports.Profile = void 0;
|
|
13
13
|
/* eslint-disable max-classes-per-file */
|
|
14
14
|
const class_transformer_1 = require("class-transformer");
|
|
15
15
|
const profile_step_enum_1 = require("../profile/enum/profile-step.enum");
|
|
@@ -30,6 +30,21 @@ __decorate([
|
|
|
30
30
|
(0, class_transformer_1.Expose)(),
|
|
31
31
|
__metadata("design:type", String)
|
|
32
32
|
], Profile.prototype, "status", void 0);
|
|
33
|
+
class Location {
|
|
34
|
+
}
|
|
35
|
+
exports.Location = Location;
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, class_transformer_1.Expose)(),
|
|
38
|
+
__metadata("design:type", Number)
|
|
39
|
+
], Location.prototype, "id", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, class_transformer_1.Expose)(),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], Location.prototype, "title", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, class_transformer_1.Expose)(),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], Location.prototype, "address", void 0);
|
|
33
48
|
class GooglePlacesRO {
|
|
34
49
|
}
|
|
35
50
|
exports.GooglePlacesRO = GooglePlacesRO;
|
|
@@ -94,6 +109,11 @@ __decorate([
|
|
|
94
109
|
(0, class_transformer_1.Expose)(),
|
|
95
110
|
__metadata("design:type", Number)
|
|
96
111
|
], GooglePlacesRO.prototype, "profileId", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
(0, class_transformer_1.Expose)(),
|
|
114
|
+
(0, class_transformer_1.Type)(() => Location),
|
|
115
|
+
__metadata("design:type", Location)
|
|
116
|
+
], GooglePlacesRO.prototype, "location", void 0);
|
|
97
117
|
__decorate([
|
|
98
118
|
(0, class_transformer_1.Expose)(),
|
|
99
119
|
__metadata("design:type", Number)
|
|
@@ -106,6 +126,10 @@ __decorate([
|
|
|
106
126
|
(0, class_transformer_1.Expose)(),
|
|
107
127
|
__metadata("design:type", Number)
|
|
108
128
|
], GooglePlacesRO.prototype, "lng", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
(0, class_transformer_1.Expose)(),
|
|
131
|
+
__metadata("design:type", Array)
|
|
132
|
+
], GooglePlacesRO.prototype, "types", void 0);
|
|
109
133
|
__decorate([
|
|
110
134
|
(0, class_transformer_1.Expose)(),
|
|
111
135
|
__metadata("design:type", Date)
|
|
@@ -31,11 +31,13 @@ __decorate([
|
|
|
31
31
|
__metadata("design:type", String)
|
|
32
32
|
], UpdateGooglePlacesDto.prototype, "website", void 0);
|
|
33
33
|
__decorate([
|
|
34
|
+
(0, class_validator_1.ValidateIf)((_, value) => value !== null),
|
|
34
35
|
(0, class_validator_1.IsNumber)(),
|
|
35
36
|
(0, class_validator_1.IsOptional)(),
|
|
36
37
|
__metadata("design:type", Number)
|
|
37
38
|
], UpdateGooglePlacesDto.prototype, "profileId", void 0);
|
|
38
39
|
__decorate([
|
|
40
|
+
(0, class_validator_1.ValidateIf)((_, value) => value !== null),
|
|
39
41
|
(0, class_validator_1.IsNumber)(),
|
|
40
42
|
(0, class_validator_1.IsOptional)(),
|
|
41
43
|
__metadata("design:type", Number)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Вход через Apple (Sign in with Apple). Клиент присылает `identityToken`
|
|
3
|
+
* (JWT от Apple), бэк проверяет подпись по JWKS Apple и достаёт email/sub.
|
|
4
|
+
* Верификация stateless — работает на любом из беков (в отличие от кода
|
|
5
|
+
* подтверждения, привязанного к региону). `fullName` Apple отдаёт только
|
|
6
|
+
* при первом входе.
|
|
7
|
+
*/
|
|
8
|
+
export declare class CityPlayerAppleLoginDto {
|
|
9
|
+
identityToken: string;
|
|
10
|
+
fullName?: string;
|
|
11
|
+
}
|
|
@@ -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.CityPlayerAppleLoginDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/**
|
|
16
|
+
* Вход через Apple (Sign in with Apple). Клиент присылает `identityToken`
|
|
17
|
+
* (JWT от Apple), бэк проверяет подпись по JWKS Apple и достаёт email/sub.
|
|
18
|
+
* Верификация stateless — работает на любом из беков (в отличие от кода
|
|
19
|
+
* подтверждения, привязанного к региону). `fullName` Apple отдаёт только
|
|
20
|
+
* при первом входе.
|
|
21
|
+
*/
|
|
22
|
+
class CityPlayerAppleLoginDto {
|
|
23
|
+
}
|
|
24
|
+
exports.CityPlayerAppleLoginDto = CityPlayerAppleLoginDto;
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_validator_1.IsString)(),
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], CityPlayerAppleLoginDto.prototype, "identityToken", 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
|
+
], CityPlayerAppleLoginDto.prototype, "fullName", void 0);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Обмен одноразового access-токена из письма (deep link `routale://.../g/:token`)
|
|
3
|
+
* на постоянный JWT игрока. Токен живёт ровно на одном из двух беков —
|
|
4
|
+
* приложение находит нужный failover'ом (см. player/api/failover-axios).
|
|
5
|
+
*/
|
|
6
|
+
export declare class CityPlayerLoginDto {
|
|
7
|
+
accessToken: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
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.CityPlayerLoginDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/**
|
|
16
|
+
* Обмен одноразового access-токена из письма (deep link `routale://.../g/:token`)
|
|
17
|
+
* на постоянный JWT игрока. Токен живёт ровно на одном из двух беков —
|
|
18
|
+
* приложение находит нужный failover'ом (см. player/api/failover-axios).
|
|
19
|
+
*/
|
|
20
|
+
class CityPlayerLoginDto {
|
|
21
|
+
}
|
|
22
|
+
exports.CityPlayerLoginDto = CityPlayerLoginDto;
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_validator_1.IsString)(),
|
|
25
|
+
(0, class_transformer_1.Expose)(),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], CityPlayerLoginDto.prototype, "accessToken", void 0);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Запрос кода подтверждения для self-serve входа игрока по email.
|
|
3
|
+
* Бэк создаёт/находит игрока по email, генерирует 6-значный код и шлёт
|
|
4
|
+
* письмо. Ответ всегда 200 (анти-энумерация). Код живёт на том беке,
|
|
5
|
+
* куда ушёл запрос — verify обязан прийти на тот же регион (см.
|
|
6
|
+
* player/api/failover-axios: регион закрепляется между запросами).
|
|
7
|
+
*/
|
|
8
|
+
export declare class CityPlayerRequestCodeDto {
|
|
9
|
+
email: string;
|
|
10
|
+
/** Язык письма (ISO-2, напр. 'en' | 'ru'). По умолчанию EN. */
|
|
11
|
+
language?: string;
|
|
12
|
+
}
|
|
@@ -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.CityPlayerRequestCodeDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/**
|
|
16
|
+
* Запрос кода подтверждения для self-serve входа игрока по email.
|
|
17
|
+
* Бэк создаёт/находит игрока по email, генерирует 6-значный код и шлёт
|
|
18
|
+
* письмо. Ответ всегда 200 (анти-энумерация). Код живёт на том беке,
|
|
19
|
+
* куда ушёл запрос — verify обязан прийти на тот же регион (см.
|
|
20
|
+
* player/api/failover-axios: регион закрепляется между запросами).
|
|
21
|
+
*/
|
|
22
|
+
class CityPlayerRequestCodeDto {
|
|
23
|
+
}
|
|
24
|
+
exports.CityPlayerRequestCodeDto = CityPlayerRequestCodeDto;
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_validator_1.IsEmail)(),
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], CityPlayerRequestCodeDto.prototype, "email", 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
|
+
], CityPlayerRequestCodeDto.prototype, "language", void 0);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Проверка кода подтверждения и выдача постоянного JWT игрока. Неверный
|
|
3
|
+
* или просроченный код отдаётся как 400 (а НЕ 401/404) — иначе failover
|
|
4
|
+
* увёл бы verify на второй бек, где кода нет.
|
|
5
|
+
*/
|
|
6
|
+
export declare class CityPlayerVerifyCodeDto {
|
|
7
|
+
email: string;
|
|
8
|
+
code: string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
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.CityPlayerVerifyCodeDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/**
|
|
16
|
+
* Проверка кода подтверждения и выдача постоянного JWT игрока. Неверный
|
|
17
|
+
* или просроченный код отдаётся как 400 (а НЕ 401/404) — иначе failover
|
|
18
|
+
* увёл бы verify на второй бек, где кода нет.
|
|
19
|
+
*/
|
|
20
|
+
class CityPlayerVerifyCodeDto {
|
|
21
|
+
}
|
|
22
|
+
exports.CityPlayerVerifyCodeDto = CityPlayerVerifyCodeDto;
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_validator_1.IsEmail)(),
|
|
25
|
+
(0, class_transformer_1.Expose)(),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], CityPlayerVerifyCodeDto.prototype, "email", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, class_validator_1.IsString)(),
|
|
30
|
+
(0, class_transformer_1.Expose)(),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], CityPlayerVerifyCodeDto.prototype, "code", void 0);
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { CityQuestSessionStatusEnum } from '../../city-quest/enum/city-quest-session-status.enum';
|
|
2
|
+
import { CountriesEnum } from '../../shared/enum/countries.enum';
|
|
3
|
+
import { Languages } from '../../shared/enum/languages.enum';
|
|
4
|
+
export type CityPlayerRO = {
|
|
5
|
+
id: number;
|
|
6
|
+
email: string;
|
|
7
|
+
fullName?: string | null;
|
|
8
|
+
};
|
|
9
|
+
export type CityPlayerLoginRO = {
|
|
10
|
+
/** Постоянный JWT игрока (mode: 'city-player'). Хранится навсегда. */
|
|
11
|
+
token: string;
|
|
12
|
+
player: CityPlayerRO;
|
|
13
|
+
/** Access-токен, по которому вошли — чтобы сразу открыть игру. */
|
|
14
|
+
accessToken: string;
|
|
15
|
+
};
|
|
16
|
+
/** Ответ на запрос кода — всегда ok (анти-энумерация email). */
|
|
17
|
+
export type CityPlayerRequestCodeRO = {
|
|
18
|
+
ok: boolean;
|
|
19
|
+
};
|
|
20
|
+
/** Успешная проверка кода → постоянный JWT игрока. */
|
|
21
|
+
export type CityPlayerVerifyCodeRO = {
|
|
22
|
+
token: string;
|
|
23
|
+
player: CityPlayerRO;
|
|
24
|
+
};
|
|
25
|
+
/** Одна купленная игра в разделе «Мои игры». */
|
|
26
|
+
export type CityPlayerGameRO = {
|
|
27
|
+
accessToken: string;
|
|
28
|
+
cityQuestId: number;
|
|
29
|
+
title: string;
|
|
30
|
+
city?: string;
|
|
31
|
+
country?: CountriesEnum | null;
|
|
32
|
+
coverUrl?: string | null;
|
|
33
|
+
availableLanguages: Languages[];
|
|
34
|
+
/** Прогресс последней/активной сессии, если игра начата. */
|
|
35
|
+
lastSession?: {
|
|
36
|
+
sessionToken: string;
|
|
37
|
+
status: CityQuestSessionStatusEnum;
|
|
38
|
+
solvedStops: number;
|
|
39
|
+
totalStops: number;
|
|
40
|
+
} | null;
|
|
41
|
+
expiresAt?: string | null;
|
|
42
|
+
};
|
|
43
|
+
/** Карточка игры в общем каталоге (ещё не куплена). */
|
|
44
|
+
export type CityPlayerCatalogGameRO = {
|
|
45
|
+
cityQuestId: number;
|
|
46
|
+
key: string;
|
|
47
|
+
title: string;
|
|
48
|
+
coverUrl?: string | null;
|
|
49
|
+
availableLanguages: Languages[];
|
|
50
|
+
/**
|
|
51
|
+
* Ссылка на booking-страницу виджета привязанного questroom
|
|
52
|
+
* (`{ordersDomain}/booking/{widgetUuid}`). Плеер открывает её для
|
|
53
|
+
* покупки. null — если игра ещё не привязана к questroom/виджету.
|
|
54
|
+
*/
|
|
55
|
+
bookingUrl?: string | null;
|
|
56
|
+
};
|
|
57
|
+
export type CityPlayerCatalogCityRO = {
|
|
58
|
+
city: string;
|
|
59
|
+
country?: CountriesEnum | null;
|
|
60
|
+
/** Фото города из `CityEntity.photo`. */
|
|
61
|
+
photoUrl?: string | null;
|
|
62
|
+
games: CityPlayerCatalogGameRO[];
|
|
63
|
+
};
|
|
64
|
+
/** @deprecated Группировка по странам больше не используется в player catalog. */
|
|
65
|
+
export type CityPlayerCatalogCountryRO = {
|
|
66
|
+
country: CountriesEnum | null;
|
|
67
|
+
cities: CityPlayerCatalogCityRO[];
|
|
68
|
+
};
|
|
69
|
+
export type CityPlayerCatalogRO = {
|
|
70
|
+
cities: CityPlayerCatalogCityRO[];
|
|
71
|
+
};
|