@escapenavigator/services 2.0.27 → 2.0.28

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.
@@ -1,129 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cityPeopleApiDeclaration = void 0;
4
- var query = function (params) { return ({
5
- url: '/admin/city-people',
6
- method: 'GET',
7
- params: params,
8
- }); };
9
- var getOne = function (id) { return ({
10
- url: "/admin/city-people/".concat(id),
11
- method: 'GET',
12
- }); };
13
- var create = function (_a) {
14
- var data = _a.data;
15
- return ({
16
- url: '/admin/city-people',
17
- method: 'POST',
18
- data: data,
19
- });
20
- };
21
- var update = function (_a) {
22
- var id = _a.id, data = _a.data;
23
- return ({
24
- url: "/admin/city-people/".concat(id),
25
- method: 'PATCH',
26
- data: data,
27
- });
28
- };
29
- var generateContent = function (_a) {
30
- var id = _a.id, data = _a.data;
31
- return ({
32
- url: "/admin/city-people/".concat(id, "/generate-content"),
33
- method: 'POST',
34
- data: data,
35
- });
36
- };
37
- var upsertLocale = function (_a) {
38
- var id = _a.id, data = _a.data;
39
- return ({
40
- url: "/admin/city-people/".concat(id, "/locales"),
41
- method: 'PATCH',
42
- data: data,
43
- });
44
- };
45
- var enrichWikidata = function (_a) {
46
- var data = _a.data;
47
- return ({
48
- url: '/admin/city-people/maintenance/enrich-wikidata',
49
- method: 'POST',
50
- data: data,
51
- });
52
- };
53
- var autolink = function (_a) {
54
- var data = _a.data;
55
- return ({
56
- url: '/admin/city-people/maintenance/autolink',
57
- method: 'POST',
58
- data: data,
59
- });
60
- };
61
- var generateContentBatch = function (_a) {
62
- var data = _a.data;
63
- return ({
64
- url: '/admin/city-people/maintenance/generate-content-batch',
65
- method: 'POST',
66
- data: data,
67
- });
68
- };
69
- var generateCover = function (_a) {
70
- var id = _a.id, data = _a.data;
71
- return ({
72
- url: "/admin/city-people/".concat(id, "/generate-cover"),
73
- method: 'POST',
74
- data: data,
75
- });
76
- };
77
- var deepen = function (_a) {
78
- var id = _a.id, data = _a.data;
79
- return ({
80
- url: "/admin/city-people/".concat(id, "/deepen"),
81
- method: 'POST',
82
- data: data,
83
- });
84
- };
85
- var fillComplete = function (_a) {
86
- var id = _a.id, data = _a.data;
87
- return ({
88
- url: "/admin/city-people/".concat(id, "/fill-complete"),
89
- method: 'POST',
90
- data: data,
91
- });
92
- };
93
- var remove = function (id) { return ({
94
- url: "/admin/city-people/".concat(id),
95
- method: 'DELETE',
96
- }); };
97
- var archive = function (_a) {
98
- var id = _a.id, data = _a.data;
99
- return ({
100
- url: "/admin/city-people/".concat(id, "/archive"),
101
- method: 'POST',
102
- data: data,
103
- });
104
- };
105
- var moderate = function (_a) {
106
- var id = _a.id, data = _a.data;
107
- return ({
108
- url: "/admin/city-people/".concat(id, "/moderate"),
109
- method: 'POST',
110
- data: data,
111
- });
112
- };
113
- exports.cityPeopleApiDeclaration = {
114
- query: query,
115
- getOne: getOne,
116
- create: create,
117
- update: update,
118
- generateContent: generateContent,
119
- upsertLocale: upsertLocale,
120
- enrichWikidata: enrichWikidata,
121
- autolink: autolink,
122
- generateContentBatch: generateContentBatch,
123
- generateCover: generateCover,
124
- deepen: deepen,
125
- fillComplete: fillComplete,
126
- remove: remove,
127
- archive: archive,
128
- moderate: moderate,
129
- };
@@ -1,85 +0,0 @@
1
- import { CityPlayerAttractionsMapRO, CityPlayerPeopleRO, CityPlayerPersonDetailRO } from '@escapenavigator/types/dist/openapi/city-player/city-explore.ro';
2
- import { CityPlayerCatalogRO, CityPlayerGameRO, CityPlayerLoginRO, CityPlayerQuestPreviewRO, CityPlayerRequestCodeRO, CityPlayerRO, CityPlayerVerifyCodeRO } from '@escapenavigator/types/dist/openapi/city-player/city-player.ro';
3
- import { CityPlayerAppleLoginDto } from '@escapenavigator/types/dist/openapi/city-player/city-player-apple-login.dto';
4
- import { CityPlayerLoginDto } from '@escapenavigator/types/dist/openapi/city-player/city-player-login.dto';
5
- import { CityPlayerRequestCodeDto } from '@escapenavigator/types/dist/openapi/city-player/city-player-request-code.dto';
6
- import { CityPlayerVerifyCodeDto } from '@escapenavigator/types/dist/openapi/city-player/city-player-verify-code.dto';
7
- import { CityPlayerReadyRouteDetailRO, CityPlayerReadyRoutesRO } from '@escapenavigator/types/dist/openapi/city-player/city-ready-route.ro';
8
- import { CityPlayerFreeRouteRO } from '@escapenavigator/types/dist/openapi/city-player/free-route';
9
- import { ApiMethodDeclaration } from '..';
10
- export declare const cityPlayerApiDeclaration: {
11
- ping: ApiMethodDeclaration<void, {
12
- ok: boolean;
13
- time: string;
14
- }>;
15
- login: ApiMethodDeclaration<{
16
- data: CityPlayerLoginDto;
17
- }, CityPlayerLoginRO>;
18
- requestCode: ApiMethodDeclaration<{
19
- data: CityPlayerRequestCodeDto;
20
- }, CityPlayerRequestCodeRO>;
21
- verifyCode: ApiMethodDeclaration<{
22
- data: CityPlayerVerifyCodeDto;
23
- }, CityPlayerVerifyCodeRO>;
24
- appleLogin: ApiMethodDeclaration<{
25
- data: CityPlayerAppleLoginDto;
26
- }, CityPlayerVerifyCodeRO>;
27
- me: ApiMethodDeclaration<void, CityPlayerRO>;
28
- games: ApiMethodDeclaration<void, CityPlayerGameRO[]>;
29
- catalog: ApiMethodDeclaration<void | {
30
- lat?: number;
31
- lng?: number;
32
- }, CityPlayerCatalogRO>;
33
- cityPeople: ApiMethodDeclaration<{
34
- cityId: number;
35
- language?: string;
36
- }, CityPlayerPeopleRO>;
37
- cityAttractions: ApiMethodDeclaration<{
38
- cityId: number;
39
- language?: string;
40
- }, CityPlayerAttractionsMapRO>;
41
- personDetail: ApiMethodDeclaration<{
42
- personId: number;
43
- cityId?: number;
44
- language?: string;
45
- }, CityPlayerPersonDetailRO>;
46
- questPreview: ApiMethodDeclaration<number | {
47
- id: number;
48
- language?: string;
49
- }, CityPlayerQuestPreviewRO>;
50
- freeRoute: ApiMethodDeclaration<{
51
- cityId: number;
52
- personId?: number;
53
- maxStops?: number;
54
- maxDurationMin?: number;
55
- language?: string;
56
- }, CityPlayerFreeRouteRO>;
57
- cityReadyRoutes: ApiMethodDeclaration<{
58
- cityId: number;
59
- language?: string;
60
- }, CityPlayerReadyRoutesRO>;
61
- readyRouteDetail: ApiMethodDeclaration<{
62
- routeId: number;
63
- language?: string;
64
- }, CityPlayerReadyRouteDetailRO>;
65
- entitlements: ApiMethodDeclaration<void, unknown[]>;
66
- devGrantEntitlement: ApiMethodDeclaration<{
67
- scope: "route" | "city" | "quest" | "pass";
68
- scopeId?: number | null;
69
- secret?: string;
70
- }, {
71
- accessToken?: string | null;
72
- }>;
73
- devRevokeEntitlement: ApiMethodDeclaration<{
74
- entitlementId: number;
75
- secret?: string;
76
- }, unknown>;
77
- iapGrantEntitlement: ApiMethodDeclaration<{
78
- scope: "route" | "city" | "quest" | "pass";
79
- scopeId?: number | null;
80
- storeTransactionId: string;
81
- productId?: string;
82
- }, {
83
- accessToken?: string | null;
84
- }>;
85
- };
@@ -1,151 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cityPlayerApiDeclaration = void 0;
4
- /**
5
- * API потребительского игрока (Routale). Один app — два бека: запросы
6
- * идут через failover-обёртку в приложении, которая при 404/401 ретраит
7
- * второй домен и закрепляет рабочий.
8
- */
9
- var ping = function () { return ({
10
- url: '/openapi/city-player/ping',
11
- method: 'GET',
12
- }); };
13
- var login = function (_a) {
14
- var data = _a.data;
15
- return ({
16
- url: '/openapi/city-player/login',
17
- method: 'POST',
18
- data: data,
19
- });
20
- };
21
- var requestCode = function (_a) {
22
- var data = _a.data;
23
- return ({
24
- url: '/openapi/city-player/request-code',
25
- method: 'POST',
26
- data: data,
27
- });
28
- };
29
- var verifyCode = function (_a) {
30
- var data = _a.data;
31
- return ({
32
- url: '/openapi/city-player/verify-code',
33
- method: 'POST',
34
- data: data,
35
- });
36
- };
37
- var appleLogin = function (_a) {
38
- var data = _a.data;
39
- return ({
40
- url: '/openapi/city-player/apple',
41
- method: 'POST',
42
- data: data,
43
- });
44
- };
45
- var me = function () { return ({
46
- url: '/openapi/city-player/me',
47
- method: 'GET',
48
- }); };
49
- var games = function () { return ({
50
- url: '/openapi/city-player/games',
51
- method: 'GET',
52
- }); };
53
- var catalog = function (params) { return ({
54
- url: '/openapi/city-player/catalog',
55
- method: 'GET',
56
- params: params || undefined,
57
- }); };
58
- var cityPeople = function (_a) {
59
- var cityId = _a.cityId, language = _a.language;
60
- return ({
61
- url: "/openapi/city-player/cities/".concat(cityId, "/people"),
62
- method: 'GET',
63
- params: { language: language },
64
- });
65
- };
66
- var cityAttractions = function (_a) {
67
- var cityId = _a.cityId, language = _a.language;
68
- return ({
69
- url: "/openapi/city-player/cities/".concat(cityId, "/attractions"),
70
- method: 'GET',
71
- params: { language: language },
72
- });
73
- };
74
- var personDetail = function (_a) {
75
- var personId = _a.personId, cityId = _a.cityId, language = _a.language;
76
- return ({
77
- url: "/openapi/city-player/people/".concat(personId),
78
- method: 'GET',
79
- params: { cityId: cityId, language: language },
80
- });
81
- };
82
- var questPreview = function (params) {
83
- var id = typeof params === 'number' ? params : params.id;
84
- var language = typeof params === 'number' ? undefined : params.language;
85
- return {
86
- url: "/openapi/city-player/quests/".concat(id),
87
- method: 'GET',
88
- params: { language: language },
89
- };
90
- };
91
- var freeRoute = function (params) { return ({
92
- url: '/openapi/city-player/free-route',
93
- method: 'GET',
94
- params: params,
95
- }); };
96
- var cityReadyRoutes = function (_a) {
97
- var cityId = _a.cityId, language = _a.language;
98
- return ({
99
- url: "/openapi/city-player/cities/".concat(cityId, "/ready-routes"),
100
- method: 'GET',
101
- params: { language: language },
102
- });
103
- };
104
- var readyRouteDetail = function (_a) {
105
- var routeId = _a.routeId, language = _a.language;
106
- return ({
107
- url: "/openapi/city-player/ready-routes/".concat(routeId),
108
- method: 'GET',
109
- params: { language: language },
110
- });
111
- };
112
- var entitlements = function () { return ({
113
- url: '/openapi/city-player/entitlements',
114
- method: 'GET',
115
- }); };
116
- var devGrantEntitlement = function (data) { return ({
117
- url: '/openapi/city-player/entitlements/dev-grant',
118
- method: 'POST',
119
- data: data,
120
- }); };
121
- var devRevokeEntitlement = function (data) { return ({
122
- url: '/openapi/city-player/entitlements/dev-revoke',
123
- method: 'POST',
124
- data: data,
125
- }); };
126
- var iapGrantEntitlement = function (data) { return ({
127
- url: '/openapi/city-player/entitlements/iap-grant',
128
- method: 'POST',
129
- data: data,
130
- }); };
131
- exports.cityPlayerApiDeclaration = {
132
- ping: ping,
133
- login: login,
134
- requestCode: requestCode,
135
- verifyCode: verifyCode,
136
- appleLogin: appleLogin,
137
- me: me,
138
- games: games,
139
- catalog: catalog,
140
- cityPeople: cityPeople,
141
- cityAttractions: cityAttractions,
142
- personDetail: personDetail,
143
- questPreview: questPreview,
144
- freeRoute: freeRoute,
145
- cityReadyRoutes: cityReadyRoutes,
146
- readyRouteDetail: readyRouteDetail,
147
- entitlements: entitlements,
148
- devGrantEntitlement: devGrantEntitlement,
149
- devRevokeEntitlement: devRevokeEntitlement,
150
- iapGrantEntitlement: iapGrantEntitlement,
151
- };
@@ -1,97 +0,0 @@
1
- import { CityAttractionRO } from '@escapenavigator/types/dist/city-attraction/city-attraction.ro';
2
- import { BindCityQuestDto } from '@escapenavigator/types/dist/city-quest/bind-city-quest.dto';
3
- import { CityQuestAssetRO, CityQuestRO } from '@escapenavigator/types/dist/city-quest/city-quest.ro';
4
- import { ImportCityQuestDto } from '@escapenavigator/types/dist/city-quest/import-city-quest.dto';
5
- import { UpdateCityQuestDto } from '@escapenavigator/types/dist/city-quest/update-city-quest.dto';
6
- import { UpdateCityQuestContentDto } from '@escapenavigator/types/dist/city-quest/update-city-quest-content.dto';
7
- import { UpdateCityQuestStopDto } from '@escapenavigator/types/dist/city-quest/update-city-quest-stop.dto';
8
- import { UpsertCityQuestAssetDto } from '@escapenavigator/types/dist/city-quest/upsert-city-quest-asset.dto';
9
- import { UpsertCityQuestLocaleDto } from '@escapenavigator/types/dist/city-quest/upsert-city-quest-locale.dto';
10
- import { ApiMethodDeclaration } from '..';
11
- export type CityQuestAnalyticsRO = {
12
- sessionsTotal: number;
13
- sessionsFinished: number;
14
- completionRate: number;
15
- medianDurationSec: number;
16
- avgScore: number;
17
- issues: Array<{
18
- id: number;
19
- stopId: string;
20
- text: string;
21
- createdAt: string;
22
- }>;
23
- overrides: Array<{
24
- id: number;
25
- stopId: string;
26
- fallbackForced: boolean;
27
- reason: string | null;
28
- }>;
29
- };
30
- export declare const cityQuestsApiDeclaration: {
31
- query: ApiMethodDeclaration<undefined, CityQuestRO[]>;
32
- getOne: ApiMethodDeclaration<number, CityQuestRO>;
33
- getContent: ApiMethodDeclaration<number, {
34
- content: Record<string, unknown> | null;
35
- attractionsById: Record<string, CityAttractionRO>;
36
- }>;
37
- updateContent: ApiMethodDeclaration<{
38
- id: number;
39
- data: UpdateCityQuestContentDto;
40
- }, {
41
- content: Record<string, unknown> | null;
42
- attractionsById: Record<string, CityAttractionRO>;
43
- }>;
44
- upsertLocale: ApiMethodDeclaration<{
45
- id: number;
46
- data: UpsertCityQuestLocaleDto;
47
- }, CityQuestRO>;
48
- importGame: ApiMethodDeclaration<{
49
- data: ImportCityQuestDto;
50
- }, CityQuestRO>;
51
- update: ApiMethodDeclaration<{
52
- id: number;
53
- data: UpdateCityQuestDto;
54
- }, CityQuestRO>;
55
- updateStop: ApiMethodDeclaration<{
56
- id: number;
57
- stopId: string;
58
- data: UpdateCityQuestStopDto;
59
- }, CityQuestRO>;
60
- markReady: ApiMethodDeclaration<number, CityQuestRO>;
61
- publish: ApiMethodDeclaration<number, CityQuestRO>;
62
- listAssets: ApiMethodDeclaration<number, CityQuestAssetRO[]>;
63
- upsertAsset: ApiMethodDeclaration<{
64
- id: number;
65
- data: UpsertCityQuestAssetDto;
66
- }, CityQuestAssetRO>;
67
- deleteAsset: ApiMethodDeclaration<{
68
- id: number;
69
- assetId: number;
70
- }, {
71
- success: boolean;
72
- }>;
73
- bind: ApiMethodDeclaration<{
74
- id: number;
75
- data: BindCityQuestDto;
76
- }, {
77
- id: number;
78
- questroomId: number;
79
- profileId: number;
80
- }>;
81
- unbind: ApiMethodDeclaration<{
82
- id: number;
83
- bindingId: number;
84
- }, {
85
- success: boolean;
86
- }>;
87
- analytics: ApiMethodDeclaration<number, CityQuestAnalyticsRO>;
88
- backfillCities: ApiMethodDeclaration<undefined, {
89
- matched: number;
90
- unmatched: number;
91
- recounted: number;
92
- }>;
93
- migrateStatusContent: ApiMethodDeclaration<undefined, {
94
- updated: number;
95
- columnRenamed: boolean;
96
- }>;
97
- };
@@ -1,131 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cityQuestsApiDeclaration = void 0;
4
- /** Админский API управления городскими квестами (контент/ассеты/биндинги). */
5
- var query = function () { return ({
6
- url: '/admin/city-quests',
7
- method: 'GET',
8
- }); };
9
- var getOne = function (id) { return ({
10
- url: "/admin/city-quests/".concat(id),
11
- method: 'GET',
12
- }); };
13
- var getContent = function (id) { return ({
14
- url: "/admin/city-quests/".concat(id, "/content"),
15
- method: 'GET',
16
- }); };
17
- var updateContent = function (_a) {
18
- var id = _a.id, data = _a.data;
19
- return ({
20
- url: "/admin/city-quests/".concat(id, "/content"),
21
- method: 'PATCH',
22
- data: data,
23
- });
24
- };
25
- var upsertLocale = function (_a) {
26
- var id = _a.id, data = _a.data;
27
- return ({
28
- url: "/admin/city-quests/".concat(id, "/locales"),
29
- method: 'PATCH',
30
- data: data,
31
- });
32
- };
33
- var importGame = function (_a) {
34
- var data = _a.data;
35
- return ({
36
- url: '/admin/city-quests/import',
37
- method: 'POST',
38
- data: data,
39
- });
40
- };
41
- var update = function (_a) {
42
- var id = _a.id, data = _a.data;
43
- return ({
44
- url: "/admin/city-quests/".concat(id),
45
- method: 'PATCH',
46
- data: data,
47
- });
48
- };
49
- var updateStop = function (_a) {
50
- var id = _a.id, stopId = _a.stopId, data = _a.data;
51
- return ({
52
- url: "/admin/city-quests/".concat(id, "/stops/").concat(stopId),
53
- method: 'PATCH',
54
- data: data,
55
- });
56
- };
57
- var markReady = function (id) { return ({
58
- url: "/admin/city-quests/".concat(id, "/mark-ready"),
59
- method: 'POST',
60
- }); };
61
- /** @deprecated Use markReady */
62
- var publish = function (id) { return ({
63
- url: "/admin/city-quests/".concat(id, "/mark-ready"),
64
- method: 'POST',
65
- }); };
66
- var listAssets = function (id) { return ({
67
- url: "/admin/city-quests/".concat(id, "/assets"),
68
- method: 'GET',
69
- }); };
70
- var upsertAsset = function (_a) {
71
- var id = _a.id, data = _a.data;
72
- return ({
73
- url: "/admin/city-quests/".concat(id, "/assets"),
74
- method: 'POST',
75
- data: data,
76
- });
77
- };
78
- var deleteAsset = function (_a) {
79
- var id = _a.id, assetId = _a.assetId;
80
- return ({
81
- url: "/admin/city-quests/".concat(id, "/assets/").concat(assetId),
82
- method: 'DELETE',
83
- });
84
- };
85
- var bind = function (_a) {
86
- var id = _a.id, data = _a.data;
87
- return ({
88
- url: "/admin/city-quests/".concat(id, "/bindings"),
89
- method: 'POST',
90
- data: data,
91
- });
92
- };
93
- var unbind = function (_a) {
94
- var id = _a.id, bindingId = _a.bindingId;
95
- return ({
96
- url: "/admin/city-quests/".concat(id, "/bindings/").concat(bindingId),
97
- method: 'DELETE',
98
- });
99
- };
100
- var analytics = function (id) { return ({
101
- url: "/admin/city-quests/".concat(id, "/analytics"),
102
- method: 'GET',
103
- }); };
104
- var backfillCities = function () { return ({
105
- url: '/admin/city-quests/maintenance/backfill-cities',
106
- method: 'POST',
107
- }); };
108
- var migrateStatusContent = function () { return ({
109
- url: '/admin/city-quests/maintenance/migrate-status-content',
110
- method: 'POST',
111
- }); };
112
- exports.cityQuestsApiDeclaration = {
113
- query: query,
114
- getOne: getOne,
115
- getContent: getContent,
116
- updateContent: updateContent,
117
- upsertLocale: upsertLocale,
118
- importGame: importGame,
119
- update: update,
120
- updateStop: updateStop,
121
- markReady: markReady,
122
- publish: publish,
123
- listAssets: listAssets,
124
- upsertAsset: upsertAsset,
125
- deleteAsset: deleteAsset,
126
- bind: bind,
127
- unbind: unbind,
128
- analytics: analytics,
129
- backfillCities: backfillCities,
130
- migrateStatusContent: migrateStatusContent,
131
- };
@@ -1,46 +0,0 @@
1
- import { PlayAnswerDto } from '@escapenavigator/types/dist/openapi/city-quest/play-answer.dto';
2
- import { PlayFinaleChoiceDto } from '@escapenavigator/types/dist/openapi/city-quest/play-finale-choice.dto';
3
- import { PlayHintDto } from '@escapenavigator/types/dist/openapi/city-quest/play-hint.dto';
4
- import { PlayIssueDto } from '@escapenavigator/types/dist/openapi/city-quest/play-issue.dto';
5
- import { PlayStartSessionDto } from '@escapenavigator/types/dist/openapi/city-quest/play-start-session.dto';
6
- import { PlayAccessInfoRO, PlayAnswerResultRO, PlayStateRO } from '@escapenavigator/types/dist/openapi/city-quest/play-state.ro';
7
- import { ApiMethodDeclaration } from '..';
8
- export declare const cityQuestPlayApiDeclaration: {
9
- getAccessInfo: ApiMethodDeclaration<string, PlayAccessInfoRO>;
10
- startSession: ApiMethodDeclaration<{
11
- data: PlayStartSessionDto;
12
- }, PlayStateRO>;
13
- getState: ApiMethodDeclaration<string, PlayStateRO>;
14
- arrival: ApiMethodDeclaration<string, PlayStateRO>;
15
- answer: ApiMethodDeclaration<{
16
- token: string;
17
- data: PlayAnswerDto;
18
- }, PlayAnswerResultRO>;
19
- hint: ApiMethodDeclaration<{
20
- token: string;
21
- data: PlayHintDto;
22
- }, {
23
- text: string;
24
- state: PlayStateRO;
25
- }>;
26
- skip: ApiMethodDeclaration<string, PlayAnswerResultRO>;
27
- routeEventAnswer: ApiMethodDeclaration<{
28
- token: string;
29
- data: PlayAnswerDto;
30
- }, PlayAnswerResultRO>;
31
- routeEventDismiss: ApiMethodDeclaration<string, PlayStateRO>;
32
- finaleAssembly: ApiMethodDeclaration<{
33
- token: string;
34
- data: PlayAnswerDto;
35
- }, PlayAnswerResultRO>;
36
- finaleChoice: ApiMethodDeclaration<{
37
- token: string;
38
- data: PlayFinaleChoiceDto;
39
- }, PlayStateRO>;
40
- pause: ApiMethodDeclaration<string, PlayStateRO>;
41
- resume: ApiMethodDeclaration<string, PlayStateRO>;
42
- reportIssue: ApiMethodDeclaration<{
43
- token: string;
44
- data: PlayIssueDto;
45
- }, PlayStateRO>;
46
- };