@taskeren/bungie-api-ts 5.10.0
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/.babelrc +4 -0
- package/.gitattributes +2 -0
- package/.github/workflows/pr-build.yml +50 -0
- package/.github/workflows/publish.yml +48 -0
- package/.github/workflows/update.yml +55 -0
- package/.gitmodules +3 -0
- package/.nvmrc +1 -0
- package/.prettierrc +10 -0
- package/.vscode/extensions.json +8 -0
- package/.vscode/settings.json +7 -0
- package/LICENSE.md +21 -0
- package/README.md +97 -0
- package/api-src/.github/workflows/close-inactive.yml +24 -0
- package/api-src/CHANGELOG.md +271 -0
- package/api-src/CONTRIBUTING.md +19 -0
- package/api-src/LICENSE +28 -0
- package/api-src/README.md +378 -0
- package/api-src/openapi-2.json +44518 -0
- package/api-src/openapi.json +46467 -0
- package/build.sh +30 -0
- package/bungie-api-LICENSE +29 -0
- package/generated-src/app/api.ts +50 -0
- package/generated-src/app/index.ts +17 -0
- package/generated-src/app/interfaces.ts +119 -0
- package/generated-src/common.ts +985 -0
- package/generated-src/communitycontent/api.ts +36 -0
- package/generated-src/communitycontent/index.ts +16 -0
- package/generated-src/content/api.ts +142 -0
- package/generated-src/content/index.ts +17 -0
- package/generated-src/content/interfaces.ts +225 -0
- package/generated-src/core/api.ts +57 -0
- package/generated-src/core/index.ts +17 -0
- package/generated-src/core/interfaces.ts +151 -0
- package/generated-src/destiny2/api.ts +821 -0
- package/generated-src/destiny2/index.ts +17 -0
- package/generated-src/destiny2/interfaces.ts +15714 -0
- package/generated-src/destiny2/manifest.ts +341 -0
- package/generated-src/fireteam/api.ts +151 -0
- package/generated-src/fireteam/index.ts +17 -0
- package/generated-src/fireteam/interfaces.ts +183 -0
- package/generated-src/forum/api.ts +197 -0
- package/generated-src/forum/index.ts +17 -0
- package/generated-src/forum/interfaces.ts +171 -0
- package/generated-src/groupv2/api.ts +515 -0
- package/generated-src/groupv2/index.ts +17 -0
- package/generated-src/groupv2/interfaces.ts +773 -0
- package/generated-src/http.ts +52 -0
- package/generated-src/index.ts +37 -0
- package/generated-src/package.json.notyet +99 -0
- package/generated-src/platform.ts +39 -0
- package/generated-src/social/api.ts +115 -0
- package/generated-src/social/index.ts +17 -0
- package/generated-src/social/interfaces.ts +89 -0
- package/generated-src/tokens/api.ts +126 -0
- package/generated-src/tokens/index.ts +17 -0
- package/generated-src/tokens/interfaces.ts +102 -0
- package/generated-src/trending/api.ts +62 -0
- package/generated-src/trending/index.ts +17 -0
- package/generated-src/trending/interfaces.ts +188 -0
- package/generated-src/user/api.ts +130 -0
- package/generated-src/user/index.ts +17 -0
- package/generated-src/user/interfaces.ts +338 -0
- package/generator/generate-api.ts +254 -0
- package/generator/generate-common.ts +123 -0
- package/generator/generate-index.ts +45 -0
- package/generator/generate-interfaces.ts +173 -0
- package/generator/generate-manifest.ts +217 -0
- package/generator/generate-package-json.ts +45 -0
- package/generator/generate.ts +54 -0
- package/generator/http.ts +52 -0
- package/generator/missing-props.ts +11 -0
- package/generator/type-index.ts +184 -0
- package/generator/util.ts +131 -0
- package/lib/README.md +97 -0
- package/lib/app/api.d.ts +36 -0
- package/lib/app/api.js +15 -0
- package/lib/app/index.d.ts +16 -0
- package/lib/app/index.js +5 -0
- package/lib/app/interfaces.d.ts +108 -0
- package/lib/app/interfaces.js +17 -0
- package/lib/bungie-api-LICENSE +29 -0
- package/lib/common.d.ts +979 -0
- package/lib/common.js +923 -0
- package/lib/communitycontent/api.d.ts +31 -0
- package/lib/communitycontent/api.js +7 -0
- package/lib/communitycontent/index.d.ts +15 -0
- package/lib/communitycontent/index.js +4 -0
- package/lib/content/api.d.ts +111 -0
- package/lib/content/api.js +75 -0
- package/lib/content/index.d.ts +16 -0
- package/lib/content/index.js +5 -0
- package/lib/content/interfaces.d.ts +214 -0
- package/lib/content/interfaces.js +17 -0
- package/lib/core/api.d.ts +45 -0
- package/lib/core/api.js +18 -0
- package/lib/core/index.d.ts +16 -0
- package/lib/core/index.js +5 -0
- package/lib/core/interfaces.d.ts +144 -0
- package/lib/core/interfaces.js +10 -0
- package/lib/destiny2/api.d.ts +765 -0
- package/lib/destiny2/api.js +295 -0
- package/lib/destiny2/index.d.ts +16 -0
- package/lib/destiny2/index.js +5 -0
- package/lib/destiny2/interfaces.d.ts +15340 -0
- package/lib/destiny2/interfaces.js +826 -0
- package/lib/destiny2/manifest.d.ts +465 -0
- package/lib/destiny2/manifest.js +56 -0
- package/lib/fireteam/api.d.ts +131 -0
- package/lib/fireteam/api.js +50 -0
- package/lib/fireteam/index.d.ts +16 -0
- package/lib/fireteam/index.js +5 -0
- package/lib/fireteam/interfaces.d.ts +166 -0
- package/lib/fireteam/interfaces.js +33 -0
- package/lib/forum/api.d.ts +165 -0
- package/lib/forum/api.js +79 -0
- package/lib/forum/index.d.ts +16 -0
- package/lib/forum/index.js +5 -0
- package/lib/forum/interfaces.d.ts +147 -0
- package/lib/forum/interfaces.js +61 -0
- package/lib/groupv2/api.d.ts +484 -0
- package/lib/groupv2/api.js +154 -0
- package/lib/groupv2/index.d.ts +16 -0
- package/lib/groupv2/index.js +5 -0
- package/lib/groupv2/interfaces.d.ts +718 -0
- package/lib/groupv2/interfaces.js +100 -0
- package/lib/http.d.ts +18 -0
- package/lib/http.js +20 -0
- package/lib/index.d.ts +35 -0
- package/lib/index.js +24 -0
- package/lib/package.json +99 -0
- package/lib/platform.d.ts +36 -0
- package/lib/platform.js +9 -0
- package/lib/social/api.d.ts +101 -0
- package/lib/social/api.js +26 -0
- package/lib/social/index.d.ts +16 -0
- package/lib/social/index.js +5 -0
- package/lib/social/interfaces.d.ts +75 -0
- package/lib/social/interfaces.js +22 -0
- package/lib/tokens/api.d.ts +120 -0
- package/lib/tokens/api.js +38 -0
- package/lib/tokens/index.d.ts +16 -0
- package/lib/tokens/index.js +5 -0
- package/lib/tokens/interfaces.d.ts +88 -0
- package/lib/tokens/interfaces.js +5 -0
- package/lib/trending/api.d.ts +53 -0
- package/lib/trending/api.js +11 -0
- package/lib/trending/index.d.ts +16 -0
- package/lib/trending/index.js +5 -0
- package/lib/trending/interfaces.d.ts +171 -0
- package/lib/trending/interfaces.js +14 -0
- package/lib/user/api.d.ts +117 -0
- package/lib/user/api.js +35 -0
- package/lib/user/index.d.ts +16 -0
- package/lib/user/index.js +5 -0
- package/lib/user/interfaces.d.ts +320 -0
- package/lib/user/interfaces.js +28 -0
- package/package.json +60 -0
- package/test-consumer.ts +5 -0
- package/tests/__snapshots__/config-builders.test.ts.snap +343 -0
- package/tests/config-builders.test.ts +145 -0
- package/tests/manifest-fetcher.test.ts +43 -0
- package/tests/test-manifest.js +69 -0
- package/tsconfig-package.json +14 -0
- package/tsconfig.json +17 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bungie.Net API
|
|
3
|
+
* These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.
|
|
4
|
+
*
|
|
5
|
+
* OpenAPI spec version: 2.21.9
|
|
6
|
+
* Contact: support@bungie.com
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by the bungie-api-ts code generator program.
|
|
9
|
+
* https://github.com/DestinyItemManager/bungie-api-ts
|
|
10
|
+
* Do not edit these files manually.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { HttpClient, get, post } from '../http.js';
|
|
14
|
+
|
|
15
|
+
import {
|
|
16
|
+
ForumPostSortEnum,
|
|
17
|
+
ForumRecruitmentDetail,
|
|
18
|
+
ForumTopicsCategoryFiltersEnum,
|
|
19
|
+
ForumTopicsQuickDateEnum,
|
|
20
|
+
ForumTopicsSortEnum,
|
|
21
|
+
PostSearchResponse
|
|
22
|
+
} from './interfaces.js';
|
|
23
|
+
import {
|
|
24
|
+
ServerResponse
|
|
25
|
+
} from '../common.js';
|
|
26
|
+
import {
|
|
27
|
+
TagResponse
|
|
28
|
+
} from '../platform.js';
|
|
29
|
+
|
|
30
|
+
const API_BASE = "https://www.bungie.net/Platform/Forum/";
|
|
31
|
+
|
|
32
|
+
export interface GetTopicsPagedParams {
|
|
33
|
+
/** A category filter */
|
|
34
|
+
categoryFilter: ForumTopicsCategoryFiltersEnum;
|
|
35
|
+
/** The group, if any. */
|
|
36
|
+
group: string;
|
|
37
|
+
/**
|
|
38
|
+
* Comma seperated list of locales posts must match to return in the result list.
|
|
39
|
+
* Default 'en'
|
|
40
|
+
*/
|
|
41
|
+
locales?: string;
|
|
42
|
+
/** Zero paged page number */
|
|
43
|
+
page: number;
|
|
44
|
+
/** Unused */
|
|
45
|
+
pageSize: number;
|
|
46
|
+
/** A date filter. */
|
|
47
|
+
quickDate: ForumTopicsQuickDateEnum;
|
|
48
|
+
/** The sort mode. */
|
|
49
|
+
sort: ForumTopicsSortEnum;
|
|
50
|
+
/** The tags to search, if any. */
|
|
51
|
+
tagstring?: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Get topics from any forum. */
|
|
55
|
+
export function getTopicsPaged(http: HttpClient, params: GetTopicsPagedParams): Promise<ServerResponse<PostSearchResponse>> {
|
|
56
|
+
const strParams: Record<string, string> = {};
|
|
57
|
+
if (params.locales !== undefined) { strParams.locales = params.locales; }
|
|
58
|
+
if (params.tagstring !== undefined) { strParams.tagstring = params.tagstring; }
|
|
59
|
+
return get(http, `${API_BASE}GetTopicsPaged/${params.page}/${params.pageSize}/${params.group}/${params.sort}/${params.quickDate}/${params.categoryFilter}/`, strParams);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface GetCoreTopicsPagedParams {
|
|
63
|
+
/** The category filter. */
|
|
64
|
+
categoryFilter: ForumTopicsCategoryFiltersEnum;
|
|
65
|
+
/**
|
|
66
|
+
* Comma seperated list of locales posts must match to return in the result list.
|
|
67
|
+
* Default 'en'
|
|
68
|
+
*/
|
|
69
|
+
locales?: string;
|
|
70
|
+
/** Zero base page */
|
|
71
|
+
page: number;
|
|
72
|
+
/** The date filter. */
|
|
73
|
+
quickDate: ForumTopicsQuickDateEnum;
|
|
74
|
+
/** The sort mode. */
|
|
75
|
+
sort: ForumTopicsSortEnum;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** Gets a listing of all topics marked as part of the core group. */
|
|
79
|
+
export function getCoreTopicsPaged(http: HttpClient, params: GetCoreTopicsPagedParams): Promise<ServerResponse<PostSearchResponse>> {
|
|
80
|
+
const strParams: Record<string, string> = {};
|
|
81
|
+
if (params.locales !== undefined) { strParams.locales = params.locales; }
|
|
82
|
+
return get(http, `${API_BASE}GetCoreTopicsPaged/${params.page}/${params.sort}/${params.quickDate}/${params.categoryFilter}/`, strParams);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export interface GetPostsThreadedPagedParams {
|
|
86
|
+
getParentPost: boolean;
|
|
87
|
+
page: number;
|
|
88
|
+
pageSize: number;
|
|
89
|
+
parentPostId: string;
|
|
90
|
+
replySize: number;
|
|
91
|
+
rootThreadMode: boolean;
|
|
92
|
+
/** If this value is not null or empty, banned posts are requested to be returned */
|
|
93
|
+
showbanned?: string;
|
|
94
|
+
sortMode: ForumPostSortEnum;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Returns a thread of posts at the given parent, optionally returning replies to
|
|
99
|
+
* those posts as well as the original parent.
|
|
100
|
+
*/
|
|
101
|
+
export function getPostsThreadedPaged(http: HttpClient, params: GetPostsThreadedPagedParams): Promise<ServerResponse<PostSearchResponse>> {
|
|
102
|
+
const strParams: Record<string, string> = {};
|
|
103
|
+
if (params.showbanned !== undefined) { strParams.showbanned = params.showbanned; }
|
|
104
|
+
return get(http, `${API_BASE}GetPostsThreadedPaged/${params.parentPostId}/${params.page}/${params.pageSize}/${params.replySize}/${params.getParentPost}/${params.rootThreadMode}/${params.sortMode}/`, strParams);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export interface GetPostsThreadedPagedFromChildParams {
|
|
108
|
+
childPostId: string;
|
|
109
|
+
page: number;
|
|
110
|
+
pageSize: number;
|
|
111
|
+
replySize: number;
|
|
112
|
+
rootThreadMode: boolean;
|
|
113
|
+
/** If this value is not null or empty, banned posts are requested to be returned */
|
|
114
|
+
showbanned?: string;
|
|
115
|
+
sortMode: ForumPostSortEnum;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Returns a thread of posts starting at the topicId of the input childPostId,
|
|
120
|
+
* optionally returning replies to those posts as well as the original parent.
|
|
121
|
+
*/
|
|
122
|
+
export function getPostsThreadedPagedFromChild(http: HttpClient, params: GetPostsThreadedPagedFromChildParams): Promise<ServerResponse<PostSearchResponse>> {
|
|
123
|
+
const strParams: Record<string, string> = {};
|
|
124
|
+
if (params.showbanned !== undefined) { strParams.showbanned = params.showbanned; }
|
|
125
|
+
return get(http, `${API_BASE}GetPostsThreadedPagedFromChild/${params.childPostId}/${params.page}/${params.pageSize}/${params.replySize}/${params.rootThreadMode}/${params.sortMode}/`, strParams);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export interface GetPostAndParentParams {
|
|
129
|
+
childPostId: string;
|
|
130
|
+
/** If this value is not null or empty, banned posts are requested to be returned */
|
|
131
|
+
showbanned?: string;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/** Returns the post specified and its immediate parent. */
|
|
135
|
+
export function getPostAndParent(http: HttpClient, params: GetPostAndParentParams): Promise<ServerResponse<PostSearchResponse>> {
|
|
136
|
+
const strParams: Record<string, string> = {};
|
|
137
|
+
if (params.showbanned !== undefined) { strParams.showbanned = params.showbanned; }
|
|
138
|
+
return get(http, `${API_BASE}GetPostAndParent/${params.childPostId}/`, strParams);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export interface GetPostAndParentAwaitingApprovalParams {
|
|
142
|
+
childPostId: string;
|
|
143
|
+
/** If this value is not null or empty, banned posts are requested to be returned */
|
|
144
|
+
showbanned?: string;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Returns the post specified and its immediate parent of posts that are awaiting
|
|
149
|
+
* approval.
|
|
150
|
+
*/
|
|
151
|
+
export function getPostAndParentAwaitingApproval(http: HttpClient, params: GetPostAndParentAwaitingApprovalParams): Promise<ServerResponse<PostSearchResponse>> {
|
|
152
|
+
const strParams: Record<string, string> = {};
|
|
153
|
+
if (params.showbanned !== undefined) { strParams.showbanned = params.showbanned; }
|
|
154
|
+
return get(http, `${API_BASE}GetPostAndParentAwaitingApproval/${params.childPostId}/`, strParams);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export interface GetTopicForContentParams {
|
|
158
|
+
contentId: string;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/** Gets the post Id for the given content item's comments, if it exists. */
|
|
162
|
+
export function getTopicForContent(http: HttpClient, params: GetTopicForContentParams): Promise<ServerResponse<string>> {
|
|
163
|
+
return get(http, `${API_BASE}GetTopicForContent/${params.contentId}/`);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export interface GetForumTagSuggestionsParams {
|
|
167
|
+
/** The partial tag input to generate suggestions from. */
|
|
168
|
+
partialtag?: string;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Gets tag suggestions based on partial text entry, matching them with other tags
|
|
173
|
+
* previously used in the forums.
|
|
174
|
+
*/
|
|
175
|
+
export function getForumTagSuggestions(http: HttpClient, params: GetForumTagSuggestionsParams): Promise<ServerResponse<TagResponse[]>> {
|
|
176
|
+
const strParams: Record<string, string> = {};
|
|
177
|
+
if (params.partialtag !== undefined) { strParams.partialtag = params.partialtag; }
|
|
178
|
+
return get(http, `${API_BASE}GetForumTagSuggestions/`, strParams);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
export interface GetPollParams {
|
|
182
|
+
/** The post id of the topic that has the poll. */
|
|
183
|
+
topicId: string;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/** Gets the specified forum poll. */
|
|
187
|
+
export function getPoll(http: HttpClient, params: GetPollParams): Promise<ServerResponse<PostSearchResponse>> {
|
|
188
|
+
return get(http, `${API_BASE}Poll/${params.topicId}/`);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Allows the caller to get a list of to 25 recruitment thread summary information
|
|
193
|
+
* objects.
|
|
194
|
+
*/
|
|
195
|
+
export function getRecruitmentThreadSummaries(http: HttpClient, body: string[]): Promise<ServerResponse<ForumRecruitmentDetail[]>> {
|
|
196
|
+
return post(http, `${API_BASE}Recruit/Summaries/`, body);
|
|
197
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bungie.Net API
|
|
3
|
+
* These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.
|
|
4
|
+
*
|
|
5
|
+
* OpenAPI spec version: 2.21.9
|
|
6
|
+
* Contact: support@bungie.com
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by the bungie-api-ts code generator program.
|
|
9
|
+
* https://github.com/DestinyItemManager/bungie-api-ts
|
|
10
|
+
* Do not edit these files manually.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export * from '../common.js';
|
|
14
|
+
export * from '../platform.js';
|
|
15
|
+
export type {HttpClientConfig, HttpClient} from '../http.js';
|
|
16
|
+
export * from './api.js';
|
|
17
|
+
export * from './interfaces.js';
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bungie.Net API
|
|
3
|
+
* These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.
|
|
4
|
+
*
|
|
5
|
+
* OpenAPI spec version: 2.21.9
|
|
6
|
+
* Contact: support@bungie.com
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by the bungie-api-ts code generator program.
|
|
9
|
+
* https://github.com/DestinyItemManager/bungie-api-ts
|
|
10
|
+
* Do not edit these files manually.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import {
|
|
14
|
+
GeneralUser
|
|
15
|
+
} from '../user/interfaces.js';
|
|
16
|
+
import {
|
|
17
|
+
GroupResponse
|
|
18
|
+
} from '../groupv2/interfaces.js';
|
|
19
|
+
import {
|
|
20
|
+
IgnoreResponse,
|
|
21
|
+
TagResponse
|
|
22
|
+
} from '../platform.js';
|
|
23
|
+
import {
|
|
24
|
+
PagedQuery
|
|
25
|
+
} from '../common.js';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* This enum represents a set of flags - use bitwise operators to check which of
|
|
29
|
+
* these match your value.
|
|
30
|
+
*/
|
|
31
|
+
export const enum ForumTopicsCategoryFiltersEnum {
|
|
32
|
+
None = 0,
|
|
33
|
+
Links = 1,
|
|
34
|
+
Questions = 2,
|
|
35
|
+
AnsweredQuestions = 4,
|
|
36
|
+
Media = 8,
|
|
37
|
+
TextOnly = 16,
|
|
38
|
+
Announcement = 32,
|
|
39
|
+
BungieOfficial = 64,
|
|
40
|
+
Polls = 128
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export const enum ForumTopicsQuickDateEnum {
|
|
44
|
+
All = 0,
|
|
45
|
+
LastYear = 1,
|
|
46
|
+
LastMonth = 2,
|
|
47
|
+
LastWeek = 3,
|
|
48
|
+
LastDay = 4
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export const enum ForumTopicsSortEnum {
|
|
52
|
+
Default = 0,
|
|
53
|
+
LastReplied = 1,
|
|
54
|
+
MostReplied = 2,
|
|
55
|
+
Popularity = 3,
|
|
56
|
+
Controversiality = 4,
|
|
57
|
+
Liked = 5,
|
|
58
|
+
HighestRated = 6,
|
|
59
|
+
MostUpvoted = 7
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export const enum ForumPostSortEnum {
|
|
63
|
+
Default = 0,
|
|
64
|
+
OldestFirst = 1
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export interface PostSearchResponse {
|
|
68
|
+
readonly relatedPosts: PostResponse[];
|
|
69
|
+
readonly authors: GeneralUser[];
|
|
70
|
+
readonly groups: GroupResponse[];
|
|
71
|
+
readonly searchedTags: TagResponse[];
|
|
72
|
+
readonly polls: PollResponse[];
|
|
73
|
+
readonly recruitmentDetails: ForumRecruitmentDetail[];
|
|
74
|
+
readonly availablePages?: number;
|
|
75
|
+
readonly results: PostResponse[];
|
|
76
|
+
readonly totalResults: number;
|
|
77
|
+
readonly hasMore: boolean;
|
|
78
|
+
readonly query: PagedQuery;
|
|
79
|
+
readonly replacementContinuationToken: string;
|
|
80
|
+
/**
|
|
81
|
+
* If useTotalResults is true, then totalResults represents an accurate count.
|
|
82
|
+
*
|
|
83
|
+
* If False, it does not, and may be estimated/only the size of the current page.
|
|
84
|
+
*
|
|
85
|
+
* Either way, you should probably always only trust hasMore.
|
|
86
|
+
*
|
|
87
|
+
* This is a long-held historical throwback to when we used to do paging with known
|
|
88
|
+
* total results. Those queries toasted our database, and we were left to hastily
|
|
89
|
+
* alter our endpoints and create backward- compatible shims, of which
|
|
90
|
+
* useTotalResults is one.
|
|
91
|
+
*/
|
|
92
|
+
readonly useTotalResults: boolean;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export interface PostResponse {
|
|
96
|
+
readonly lastReplyTimestamp: string;
|
|
97
|
+
readonly IsPinned: boolean;
|
|
98
|
+
readonly urlMediaType: ForumMediaType;
|
|
99
|
+
readonly thumbnail: string;
|
|
100
|
+
readonly popularity: ForumPostPopularity;
|
|
101
|
+
readonly isActive: boolean;
|
|
102
|
+
readonly isAnnouncement: boolean;
|
|
103
|
+
readonly userRating: number;
|
|
104
|
+
readonly userHasRated: boolean;
|
|
105
|
+
readonly userHasMutedPost: boolean;
|
|
106
|
+
readonly latestReplyPostId: string;
|
|
107
|
+
readonly latestReplyAuthorId: string;
|
|
108
|
+
readonly ignoreStatus: IgnoreResponse;
|
|
109
|
+
readonly locale: string;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export const enum ForumMediaType {
|
|
113
|
+
None = 0,
|
|
114
|
+
Image = 1,
|
|
115
|
+
Video = 2,
|
|
116
|
+
Youtube = 3
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export const enum ForumPostPopularity {
|
|
120
|
+
Empty = 0,
|
|
121
|
+
Default = 1,
|
|
122
|
+
Discussed = 2,
|
|
123
|
+
CoolStory = 3,
|
|
124
|
+
HeatingUp = 4,
|
|
125
|
+
Hot = 5
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export interface PollResponse {
|
|
129
|
+
readonly topicId: string;
|
|
130
|
+
readonly results: PollResult[];
|
|
131
|
+
readonly totalVotes: number;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface PollResult {
|
|
135
|
+
readonly answerText: string;
|
|
136
|
+
readonly answerSlot: number;
|
|
137
|
+
readonly lastVoteDate: string;
|
|
138
|
+
readonly votes: number;
|
|
139
|
+
readonly requestingUserVoted: boolean;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export interface ForumRecruitmentDetail {
|
|
143
|
+
readonly topicId: string;
|
|
144
|
+
readonly microphoneRequired: boolean;
|
|
145
|
+
readonly intensity: ForumRecruitmentIntensityLabel;
|
|
146
|
+
readonly tone: ForumRecruitmentToneLabel;
|
|
147
|
+
readonly approved: boolean;
|
|
148
|
+
readonly conversationId?: string;
|
|
149
|
+
readonly playerSlotsTotal: number;
|
|
150
|
+
readonly playerSlotsRemaining: number;
|
|
151
|
+
readonly Fireteam: GeneralUser[];
|
|
152
|
+
readonly kickedPlayerIds: string[];
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export const enum ForumRecruitmentIntensityLabel {
|
|
156
|
+
None = 0,
|
|
157
|
+
Casual = 1,
|
|
158
|
+
Professional = 2
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export const enum ForumRecruitmentToneLabel {
|
|
162
|
+
None = 0,
|
|
163
|
+
FamilyFriendly = 1,
|
|
164
|
+
Rowdy = 2
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export const enum CommunityContentSortMode {
|
|
168
|
+
Trending = 0,
|
|
169
|
+
Latest = 1,
|
|
170
|
+
HighestRated = 2
|
|
171
|
+
}
|