@taskeren/bungie-api-ts 5.10.0 → 5.10.2
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/package.json +66 -27
- package/.babelrc +0 -4
- package/.gitattributes +0 -2
- package/.github/workflows/pr-build.yml +0 -50
- package/.github/workflows/publish.yml +0 -48
- package/.github/workflows/update.yml +0 -55
- package/.gitmodules +0 -3
- package/.nvmrc +0 -1
- package/.prettierrc +0 -10
- package/.vscode/extensions.json +0 -8
- package/.vscode/settings.json +0 -7
- package/LICENSE.md +0 -21
- package/api-src/.github/workflows/close-inactive.yml +0 -24
- package/api-src/CHANGELOG.md +0 -271
- package/api-src/CONTRIBUTING.md +0 -19
- package/api-src/LICENSE +0 -28
- package/api-src/README.md +0 -378
- package/api-src/openapi-2.json +0 -44518
- package/api-src/openapi.json +0 -46467
- package/build.sh +0 -30
- package/generated-src/app/api.ts +0 -50
- package/generated-src/app/index.ts +0 -17
- package/generated-src/app/interfaces.ts +0 -119
- package/generated-src/common.ts +0 -985
- package/generated-src/communitycontent/api.ts +0 -36
- package/generated-src/communitycontent/index.ts +0 -16
- package/generated-src/content/api.ts +0 -142
- package/generated-src/content/index.ts +0 -17
- package/generated-src/content/interfaces.ts +0 -225
- package/generated-src/core/api.ts +0 -57
- package/generated-src/core/index.ts +0 -17
- package/generated-src/core/interfaces.ts +0 -151
- package/generated-src/destiny2/api.ts +0 -821
- package/generated-src/destiny2/index.ts +0 -17
- package/generated-src/destiny2/interfaces.ts +0 -15714
- package/generated-src/destiny2/manifest.ts +0 -341
- package/generated-src/fireteam/api.ts +0 -151
- package/generated-src/fireteam/index.ts +0 -17
- package/generated-src/fireteam/interfaces.ts +0 -183
- package/generated-src/forum/api.ts +0 -197
- package/generated-src/forum/index.ts +0 -17
- package/generated-src/forum/interfaces.ts +0 -171
- package/generated-src/groupv2/api.ts +0 -515
- package/generated-src/groupv2/index.ts +0 -17
- package/generated-src/groupv2/interfaces.ts +0 -773
- package/generated-src/http.ts +0 -52
- package/generated-src/index.ts +0 -37
- package/generated-src/package.json.notyet +0 -99
- package/generated-src/platform.ts +0 -39
- package/generated-src/social/api.ts +0 -115
- package/generated-src/social/index.ts +0 -17
- package/generated-src/social/interfaces.ts +0 -89
- package/generated-src/tokens/api.ts +0 -126
- package/generated-src/tokens/index.ts +0 -17
- package/generated-src/tokens/interfaces.ts +0 -102
- package/generated-src/trending/api.ts +0 -62
- package/generated-src/trending/index.ts +0 -17
- package/generated-src/trending/interfaces.ts +0 -188
- package/generated-src/user/api.ts +0 -130
- package/generated-src/user/index.ts +0 -17
- package/generated-src/user/interfaces.ts +0 -338
- package/generator/generate-api.ts +0 -254
- package/generator/generate-common.ts +0 -123
- package/generator/generate-index.ts +0 -45
- package/generator/generate-interfaces.ts +0 -173
- package/generator/generate-manifest.ts +0 -217
- package/generator/generate-package-json.ts +0 -45
- package/generator/generate.ts +0 -54
- package/generator/http.ts +0 -52
- package/generator/missing-props.ts +0 -11
- package/generator/type-index.ts +0 -184
- package/generator/util.ts +0 -131
- package/lib/README.md +0 -97
- package/lib/bungie-api-LICENSE +0 -29
- package/lib/package.json +0 -99
- package/test-consumer.ts +0 -5
- package/tests/__snapshots__/config-builders.test.ts.snap +0 -343
- package/tests/config-builders.test.ts +0 -145
- package/tests/manifest-fetcher.test.ts +0 -43
- package/tests/test-manifest.js +0 -69
- package/tsconfig-package.json +0 -14
- package/tsconfig.json +0 -17
- /package/{lib/app → app}/api.d.ts +0 -0
- /package/{lib/app → app}/api.js +0 -0
- /package/{lib/app → app}/index.d.ts +0 -0
- /package/{lib/app → app}/index.js +0 -0
- /package/{lib/app → app}/interfaces.d.ts +0 -0
- /package/{lib/app → app}/interfaces.js +0 -0
- /package/{lib/common.d.ts → common.d.ts} +0 -0
- /package/{lib/common.js → common.js} +0 -0
- /package/{lib/communitycontent → communitycontent}/api.d.ts +0 -0
- /package/{lib/communitycontent → communitycontent}/api.js +0 -0
- /package/{lib/communitycontent → communitycontent}/index.d.ts +0 -0
- /package/{lib/communitycontent → communitycontent}/index.js +0 -0
- /package/{lib/content → content}/api.d.ts +0 -0
- /package/{lib/content → content}/api.js +0 -0
- /package/{lib/content → content}/index.d.ts +0 -0
- /package/{lib/content → content}/index.js +0 -0
- /package/{lib/content → content}/interfaces.d.ts +0 -0
- /package/{lib/content → content}/interfaces.js +0 -0
- /package/{lib/core → core}/api.d.ts +0 -0
- /package/{lib/core → core}/api.js +0 -0
- /package/{lib/core → core}/index.d.ts +0 -0
- /package/{lib/core → core}/index.js +0 -0
- /package/{lib/core → core}/interfaces.d.ts +0 -0
- /package/{lib/core → core}/interfaces.js +0 -0
- /package/{lib/destiny2 → destiny2}/api.d.ts +0 -0
- /package/{lib/destiny2 → destiny2}/api.js +0 -0
- /package/{lib/destiny2 → destiny2}/index.d.ts +0 -0
- /package/{lib/destiny2 → destiny2}/index.js +0 -0
- /package/{lib/destiny2 → destiny2}/interfaces.d.ts +0 -0
- /package/{lib/destiny2 → destiny2}/interfaces.js +0 -0
- /package/{lib/destiny2 → destiny2}/manifest.d.ts +0 -0
- /package/{lib/destiny2 → destiny2}/manifest.js +0 -0
- /package/{lib/fireteam → fireteam}/api.d.ts +0 -0
- /package/{lib/fireteam → fireteam}/api.js +0 -0
- /package/{lib/fireteam → fireteam}/index.d.ts +0 -0
- /package/{lib/fireteam → fireteam}/index.js +0 -0
- /package/{lib/fireteam → fireteam}/interfaces.d.ts +0 -0
- /package/{lib/fireteam → fireteam}/interfaces.js +0 -0
- /package/{lib/forum → forum}/api.d.ts +0 -0
- /package/{lib/forum → forum}/api.js +0 -0
- /package/{lib/forum → forum}/index.d.ts +0 -0
- /package/{lib/forum → forum}/index.js +0 -0
- /package/{lib/forum → forum}/interfaces.d.ts +0 -0
- /package/{lib/forum → forum}/interfaces.js +0 -0
- /package/{lib/groupv2 → groupv2}/api.d.ts +0 -0
- /package/{lib/groupv2 → groupv2}/api.js +0 -0
- /package/{lib/groupv2 → groupv2}/index.d.ts +0 -0
- /package/{lib/groupv2 → groupv2}/index.js +0 -0
- /package/{lib/groupv2 → groupv2}/interfaces.d.ts +0 -0
- /package/{lib/groupv2 → groupv2}/interfaces.js +0 -0
- /package/{lib/http.d.ts → http.d.ts} +0 -0
- /package/{lib/http.js → http.js} +0 -0
- /package/{lib/index.d.ts → index.d.ts} +0 -0
- /package/{lib/index.js → index.js} +0 -0
- /package/{lib/platform.d.ts → platform.d.ts} +0 -0
- /package/{lib/platform.js → platform.js} +0 -0
- /package/{lib/social → social}/api.d.ts +0 -0
- /package/{lib/social → social}/api.js +0 -0
- /package/{lib/social → social}/index.d.ts +0 -0
- /package/{lib/social → social}/index.js +0 -0
- /package/{lib/social → social}/interfaces.d.ts +0 -0
- /package/{lib/social → social}/interfaces.js +0 -0
- /package/{lib/tokens → tokens}/api.d.ts +0 -0
- /package/{lib/tokens → tokens}/api.js +0 -0
- /package/{lib/tokens → tokens}/index.d.ts +0 -0
- /package/{lib/tokens → tokens}/index.js +0 -0
- /package/{lib/tokens → tokens}/interfaces.d.ts +0 -0
- /package/{lib/tokens → tokens}/interfaces.js +0 -0
- /package/{lib/trending → trending}/api.d.ts +0 -0
- /package/{lib/trending → trending}/api.js +0 -0
- /package/{lib/trending → trending}/index.d.ts +0 -0
- /package/{lib/trending → trending}/index.js +0 -0
- /package/{lib/trending → trending}/interfaces.d.ts +0 -0
- /package/{lib/trending → trending}/interfaces.js +0 -0
- /package/{lib/user → user}/api.d.ts +0 -0
- /package/{lib/user → user}/api.js +0 -0
- /package/{lib/user → user}/index.d.ts +0 -0
- /package/{lib/user → user}/index.js +0 -0
- /package/{lib/user → user}/interfaces.d.ts +0 -0
- /package/{lib/user → user}/interfaces.js +0 -0
|
@@ -1,773 +0,0 @@
|
|
|
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
|
-
BungieMembershipType,
|
|
15
|
-
PagedQuery,
|
|
16
|
-
PlatformErrorCodes
|
|
17
|
-
} from '../common.js';
|
|
18
|
-
import {
|
|
19
|
-
DestinyProgression
|
|
20
|
-
} from '../destiny2/interfaces.js';
|
|
21
|
-
import {
|
|
22
|
-
UserInfoCard,
|
|
23
|
-
UserMembership
|
|
24
|
-
} from '../user/interfaces.js';
|
|
25
|
-
|
|
26
|
-
export interface GroupUserInfoCard {
|
|
27
|
-
/**
|
|
28
|
-
* This will be the display name the clan server last saw the user as. If the
|
|
29
|
-
* account is an active cross save override, this will be the display name to use.
|
|
30
|
-
* Otherwise, this will match the displayName property.
|
|
31
|
-
*/
|
|
32
|
-
readonly LastSeenDisplayName: string;
|
|
33
|
-
/** The platform of the LastSeenDisplayName */
|
|
34
|
-
readonly LastSeenDisplayNameType: BungieMembershipType;
|
|
35
|
-
/**
|
|
36
|
-
* A platform specific additional display name - ex: psn Real Name, bnet Unique
|
|
37
|
-
* Name, etc.
|
|
38
|
-
*/
|
|
39
|
-
readonly supplementalDisplayName: string;
|
|
40
|
-
/** URL the Icon if available. */
|
|
41
|
-
readonly iconPath: string;
|
|
42
|
-
/**
|
|
43
|
-
* If there is a cross save override in effect, this value will tell you the type
|
|
44
|
-
* that is overridding this one.
|
|
45
|
-
*/
|
|
46
|
-
readonly crossSaveOverride: BungieMembershipType;
|
|
47
|
-
/**
|
|
48
|
-
* The list of Membership Types indicating the platforms on which this Membership
|
|
49
|
-
* can be used.
|
|
50
|
-
*
|
|
51
|
-
* Not in Cross Save = its original membership type. Cross Save Primary = Any
|
|
52
|
-
* membership types it is overridding, and its original membership type Cross Save
|
|
53
|
-
* Overridden = Empty list
|
|
54
|
-
*/
|
|
55
|
-
readonly applicableMembershipTypes: BungieMembershipType[];
|
|
56
|
-
/** If True, this is a public user membership. */
|
|
57
|
-
readonly isPublic: boolean;
|
|
58
|
-
/** Type of the membership. Not necessarily the native type. */
|
|
59
|
-
readonly membershipType: BungieMembershipType;
|
|
60
|
-
/** Membership ID as they user is known in the Accounts service */
|
|
61
|
-
readonly membershipId: string;
|
|
62
|
-
/**
|
|
63
|
-
* Display Name the player has chosen for themselves. The display name is optional
|
|
64
|
-
* when the data type is used as input to a platform API.
|
|
65
|
-
*/
|
|
66
|
-
readonly displayName: string;
|
|
67
|
-
/** The bungie global display name, if set. */
|
|
68
|
-
readonly bungieGlobalDisplayName: string;
|
|
69
|
-
/** The bungie global display name code, if set. */
|
|
70
|
-
readonly bungieGlobalDisplayNameCode?: number;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export interface GroupResponse {
|
|
74
|
-
readonly detail: GroupV2;
|
|
75
|
-
readonly founder: GroupMember;
|
|
76
|
-
readonly alliedIds: string[];
|
|
77
|
-
readonly parentGroup: GroupV2;
|
|
78
|
-
readonly allianceStatus: GroupAllianceStatus;
|
|
79
|
-
readonly groupJoinInviteCount: number;
|
|
80
|
-
/**
|
|
81
|
-
* A convenience property that indicates if every membership you (the current user)
|
|
82
|
-
* have that is a part of this group are part of an account that is considered
|
|
83
|
-
* inactive - for example, overridden accounts in Cross Save.
|
|
84
|
-
*/
|
|
85
|
-
readonly currentUserMembershipsInactiveForDestiny: boolean;
|
|
86
|
-
/**
|
|
87
|
-
* This property will be populated if the authenticated user is a member of the
|
|
88
|
-
* group. Note that because of account linking, a user can sometimes be part of a
|
|
89
|
-
* clan more than once. As such, this returns the highest member type available.
|
|
90
|
-
*/
|
|
91
|
-
readonly currentUserMemberMap: { [key in BungieMembershipType]: GroupMember };
|
|
92
|
-
/**
|
|
93
|
-
* This property will be populated if the authenticated user is an applicant or has
|
|
94
|
-
* an outstanding invitation to join. Note that because of account linking, a user
|
|
95
|
-
* can sometimes be part of a clan more than once.
|
|
96
|
-
*/
|
|
97
|
-
readonly currentUserPotentialMemberMap: { [key in BungieMembershipType]: GroupPotentialMember };
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export interface GroupV2 {
|
|
101
|
-
readonly groupId: string;
|
|
102
|
-
readonly name: string;
|
|
103
|
-
readonly groupType: GroupType;
|
|
104
|
-
readonly membershipIdCreated: string;
|
|
105
|
-
readonly creationDate: string;
|
|
106
|
-
readonly modificationDate: string;
|
|
107
|
-
readonly about: string;
|
|
108
|
-
readonly tags: string[];
|
|
109
|
-
readonly memberCount: number;
|
|
110
|
-
readonly isPublic: boolean;
|
|
111
|
-
readonly isPublicTopicAdminOnly: boolean;
|
|
112
|
-
readonly motto: string;
|
|
113
|
-
readonly allowChat: boolean;
|
|
114
|
-
readonly isDefaultPostPublic: boolean;
|
|
115
|
-
readonly chatSecurity: ChatSecuritySetting;
|
|
116
|
-
readonly locale: string;
|
|
117
|
-
readonly avatarImageIndex: number;
|
|
118
|
-
readonly homepage: GroupHomepage;
|
|
119
|
-
readonly membershipOption: MembershipOption;
|
|
120
|
-
readonly defaultPublicity: GroupPostPublicity;
|
|
121
|
-
readonly theme: string;
|
|
122
|
-
readonly bannerPath: string;
|
|
123
|
-
readonly avatarPath: string;
|
|
124
|
-
readonly conversationId: string;
|
|
125
|
-
readonly enableInvitationMessagingForAdmins: boolean;
|
|
126
|
-
readonly banExpireDate?: string;
|
|
127
|
-
readonly features: GroupFeatures;
|
|
128
|
-
readonly remoteGroupId?: string;
|
|
129
|
-
readonly clanInfo: GroupV2ClanInfoAndInvestment;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export const enum GroupType {
|
|
133
|
-
General = 0,
|
|
134
|
-
Clan = 1
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
export const enum ChatSecuritySetting {
|
|
138
|
-
Group = 0,
|
|
139
|
-
Admins = 1
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
export const enum GroupHomepage {
|
|
143
|
-
Wall = 0,
|
|
144
|
-
Forum = 1,
|
|
145
|
-
AllianceForum = 2
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
export const enum MembershipOption {
|
|
149
|
-
Reviewed = 0,
|
|
150
|
-
Open = 1,
|
|
151
|
-
Closed = 2
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
export const enum GroupPostPublicity {
|
|
155
|
-
Public = 0,
|
|
156
|
-
Alliance = 1,
|
|
157
|
-
Private = 2
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
export interface GroupFeatures {
|
|
161
|
-
readonly maximumMembers: number;
|
|
162
|
-
/**
|
|
163
|
-
* Maximum number of groups of this type a typical membership may join. For example,
|
|
164
|
-
* a user may join about 50 General groups with their Bungie.net account. They may
|
|
165
|
-
* join one clan per Destiny membership.
|
|
166
|
-
*/
|
|
167
|
-
readonly maximumMembershipsOfGroupType: number;
|
|
168
|
-
/**
|
|
169
|
-
* This enum represents a set of flags - use bitwise operators to check which of
|
|
170
|
-
* these match your value.
|
|
171
|
-
*/
|
|
172
|
-
readonly capabilities: Capabilities;
|
|
173
|
-
readonly membershipTypes: BungieMembershipType[];
|
|
174
|
-
/**
|
|
175
|
-
* Minimum Member Level allowed to invite new members to group
|
|
176
|
-
*
|
|
177
|
-
* Always Allowed: Founder, Acting Founder
|
|
178
|
-
*
|
|
179
|
-
* True means admins have this power, false means they don't
|
|
180
|
-
*
|
|
181
|
-
* Default is false for clans, true for groups.
|
|
182
|
-
*/
|
|
183
|
-
readonly invitePermissionOverride: boolean;
|
|
184
|
-
/**
|
|
185
|
-
* Minimum Member Level allowed to update group culture
|
|
186
|
-
*
|
|
187
|
-
* Always Allowed: Founder, Acting Founder
|
|
188
|
-
*
|
|
189
|
-
* True means admins have this power, false means they don't
|
|
190
|
-
*
|
|
191
|
-
* Default is false for clans, true for groups.
|
|
192
|
-
*/
|
|
193
|
-
readonly updateCulturePermissionOverride: boolean;
|
|
194
|
-
/**
|
|
195
|
-
* Minimum Member Level allowed to host guided games
|
|
196
|
-
*
|
|
197
|
-
* Always Allowed: Founder, Acting Founder, Admin
|
|
198
|
-
*
|
|
199
|
-
* Allowed Overrides: None, Member, Beginner
|
|
200
|
-
*
|
|
201
|
-
* Default is Member for clans, None for groups, although this means nothing for
|
|
202
|
-
* groups.
|
|
203
|
-
*/
|
|
204
|
-
readonly hostGuidedGamePermissionOverride: HostGuidedGamesPermissionLevel;
|
|
205
|
-
/**
|
|
206
|
-
* Minimum Member Level allowed to update banner
|
|
207
|
-
*
|
|
208
|
-
* Always Allowed: Founder, Acting Founder
|
|
209
|
-
*
|
|
210
|
-
* True means admins have this power, false means they don't
|
|
211
|
-
*
|
|
212
|
-
* Default is false for clans, true for groups.
|
|
213
|
-
*/
|
|
214
|
-
readonly updateBannerPermissionOverride: boolean;
|
|
215
|
-
/**
|
|
216
|
-
* Level to join a member at when accepting an invite, application, or joining an
|
|
217
|
-
* open clan
|
|
218
|
-
*
|
|
219
|
-
* Default is Beginner.
|
|
220
|
-
*/
|
|
221
|
-
readonly joinLevel: RuntimeGroupMemberType;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* This enum represents a set of flags - use bitwise operators to check which of
|
|
226
|
-
* these match your value.
|
|
227
|
-
*/
|
|
228
|
-
export const enum Capabilities {
|
|
229
|
-
None = 0,
|
|
230
|
-
Leaderboards = 1,
|
|
231
|
-
Callsign = 2,
|
|
232
|
-
OptionalConversations = 4,
|
|
233
|
-
ClanBanner = 8,
|
|
234
|
-
D2InvestmentData = 16,
|
|
235
|
-
Tags = 32,
|
|
236
|
-
Alliances = 64
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* Used for setting the guided game permission level override (admins and founders
|
|
241
|
-
* can always host guided games).
|
|
242
|
-
*/
|
|
243
|
-
export const enum HostGuidedGamesPermissionLevel {
|
|
244
|
-
None = 0,
|
|
245
|
-
Beginner = 1,
|
|
246
|
-
Member = 2
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* The member levels used by all V2 Groups API. Individual group types use their
|
|
251
|
-
* own mappings in their native storage (general uses BnetDbGroupMemberType and D2
|
|
252
|
-
* clans use ClanMemberLevel), but they are all translated to this in the runtime
|
|
253
|
-
* api. These runtime values should NEVER be stored anywhere, so the values can be
|
|
254
|
-
* changed as necessary.
|
|
255
|
-
*/
|
|
256
|
-
export const enum RuntimeGroupMemberType {
|
|
257
|
-
None = 0,
|
|
258
|
-
Beginner = 1,
|
|
259
|
-
Member = 2,
|
|
260
|
-
Admin = 3,
|
|
261
|
-
ActingFounder = 4,
|
|
262
|
-
Founder = 5
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
/** The same as GroupV2ClanInfo, but includes any investment data. */
|
|
266
|
-
export interface GroupV2ClanInfoAndInvestment {
|
|
267
|
-
readonly d2ClanProgressions: { [key: number]: DestinyProgression };
|
|
268
|
-
readonly clanCallsign: string;
|
|
269
|
-
readonly clanBannerData: ClanBanner;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
export interface ClanBanner {
|
|
273
|
-
readonly decalId: number;
|
|
274
|
-
readonly decalColorId: number;
|
|
275
|
-
readonly decalBackgroundColorId: number;
|
|
276
|
-
readonly gonfalonId: number;
|
|
277
|
-
readonly gonfalonColorId: number;
|
|
278
|
-
readonly gonfalonDetailId: number;
|
|
279
|
-
readonly gonfalonDetailColorId: number;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
export interface GroupMember {
|
|
283
|
-
readonly memberType: RuntimeGroupMemberType;
|
|
284
|
-
readonly isOnline: boolean;
|
|
285
|
-
readonly lastOnlineStatusChange: string;
|
|
286
|
-
readonly groupId: string;
|
|
287
|
-
readonly destinyUserInfo: GroupUserInfoCard;
|
|
288
|
-
readonly bungieNetUserInfo: UserInfoCard;
|
|
289
|
-
readonly joinDate: string;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
export const enum GroupAllianceStatus {
|
|
293
|
-
Unallied = 0,
|
|
294
|
-
Parent = 1,
|
|
295
|
-
Child = 2
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
export interface GroupPotentialMember {
|
|
299
|
-
readonly potentialStatus: GroupPotentialMemberStatus;
|
|
300
|
-
readonly groupId: string;
|
|
301
|
-
readonly destinyUserInfo: GroupUserInfoCard;
|
|
302
|
-
readonly bungieNetUserInfo: UserInfoCard;
|
|
303
|
-
readonly joinDate: string;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
export const enum GroupPotentialMemberStatus {
|
|
307
|
-
None = 0,
|
|
308
|
-
Applicant = 1,
|
|
309
|
-
Invitee = 2
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
export const enum GroupDateRange {
|
|
313
|
-
All = 0,
|
|
314
|
-
PastDay = 1,
|
|
315
|
-
PastWeek = 2,
|
|
316
|
-
PastMonth = 3,
|
|
317
|
-
PastYear = 4
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
/**
|
|
321
|
-
* NOTE: GroupQuery, as of Destiny 2, has essentially two totally different and
|
|
322
|
-
* incompatible "modes".
|
|
323
|
-
*
|
|
324
|
-
* If you are querying for a group, you can pass any of the properties below.
|
|
325
|
-
*
|
|
326
|
-
* If you are querying for a Clan, you MUST NOT pass any of the following
|
|
327
|
-
* properties (they must be null or undefined in your request, not just empty
|
|
328
|
-
* string/default values):
|
|
329
|
-
*
|
|
330
|
-
* - groupMemberCountFilter - localeFilter - tagText
|
|
331
|
-
*
|
|
332
|
-
* If you pass these, you will get a useless InvalidParameters error.
|
|
333
|
-
*/
|
|
334
|
-
export interface GroupQuery {
|
|
335
|
-
readonly name: string;
|
|
336
|
-
readonly groupType: GroupType;
|
|
337
|
-
readonly creationDate: GroupDateRange;
|
|
338
|
-
readonly sortBy: GroupSortBy;
|
|
339
|
-
readonly groupMemberCountFilter?: GroupMemberCountFilter;
|
|
340
|
-
readonly localeFilter: string;
|
|
341
|
-
readonly tagText: string;
|
|
342
|
-
readonly itemsPerPage: number;
|
|
343
|
-
readonly currentPage: number;
|
|
344
|
-
readonly requestContinuationToken: string;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
export interface GroupNameSearchRequest {
|
|
348
|
-
readonly groupName: string;
|
|
349
|
-
readonly groupType: GroupType;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
export interface GroupEditAction {
|
|
353
|
-
readonly name: string;
|
|
354
|
-
readonly about: string;
|
|
355
|
-
readonly motto: string;
|
|
356
|
-
readonly theme: string;
|
|
357
|
-
readonly avatarImageIndex?: number;
|
|
358
|
-
readonly tags: string;
|
|
359
|
-
readonly isPublic?: boolean;
|
|
360
|
-
readonly membershipOption?: MembershipOption;
|
|
361
|
-
readonly isPublicTopicAdminOnly?: boolean;
|
|
362
|
-
readonly allowChat?: boolean;
|
|
363
|
-
readonly chatSecurity?: ChatSecuritySetting;
|
|
364
|
-
readonly callsign: string;
|
|
365
|
-
readonly locale: string;
|
|
366
|
-
readonly homepage?: GroupHomepage;
|
|
367
|
-
readonly enableInvitationMessagingForAdmins?: boolean;
|
|
368
|
-
readonly defaultPublicity?: GroupPostPublicity;
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
export interface GroupOptionsEditAction {
|
|
372
|
-
/**
|
|
373
|
-
* Minimum Member Level allowed to invite new members to group
|
|
374
|
-
*
|
|
375
|
-
* Always Allowed: Founder, Acting Founder
|
|
376
|
-
*
|
|
377
|
-
* True means admins have this power, false means they don't
|
|
378
|
-
*
|
|
379
|
-
* Default is false for clans, true for groups.
|
|
380
|
-
*/
|
|
381
|
-
readonly InvitePermissionOverride?: boolean;
|
|
382
|
-
/**
|
|
383
|
-
* Minimum Member Level allowed to update group culture
|
|
384
|
-
*
|
|
385
|
-
* Always Allowed: Founder, Acting Founder
|
|
386
|
-
*
|
|
387
|
-
* True means admins have this power, false means they don't
|
|
388
|
-
*
|
|
389
|
-
* Default is false for clans, true for groups.
|
|
390
|
-
*/
|
|
391
|
-
readonly UpdateCulturePermissionOverride?: boolean;
|
|
392
|
-
/**
|
|
393
|
-
* Minimum Member Level allowed to host guided games
|
|
394
|
-
*
|
|
395
|
-
* Always Allowed: Founder, Acting Founder, Admin
|
|
396
|
-
*
|
|
397
|
-
* Allowed Overrides: None, Member, Beginner
|
|
398
|
-
*
|
|
399
|
-
* Default is Member for clans, None for groups, although this means nothing for
|
|
400
|
-
* groups.
|
|
401
|
-
*/
|
|
402
|
-
readonly HostGuidedGamePermissionOverride?: HostGuidedGamesPermissionLevel;
|
|
403
|
-
/**
|
|
404
|
-
* Minimum Member Level allowed to update banner
|
|
405
|
-
*
|
|
406
|
-
* Always Allowed: Founder, Acting Founder
|
|
407
|
-
*
|
|
408
|
-
* True means admins have this power, false means they don't
|
|
409
|
-
*
|
|
410
|
-
* Default is false for clans, true for groups.
|
|
411
|
-
*/
|
|
412
|
-
readonly UpdateBannerPermissionOverride?: boolean;
|
|
413
|
-
/**
|
|
414
|
-
* Level to join a member at when accepting an invite, application, or joining an
|
|
415
|
-
* open clan
|
|
416
|
-
*
|
|
417
|
-
* Default is Beginner.
|
|
418
|
-
*/
|
|
419
|
-
readonly JoinLevel?: RuntimeGroupMemberType;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
export interface GroupOptionalConversationAddRequest {
|
|
423
|
-
readonly chatName: string;
|
|
424
|
-
readonly chatSecurity: ChatSecuritySetting;
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
export interface GroupOptionalConversationEditRequest {
|
|
428
|
-
readonly chatEnabled?: boolean;
|
|
429
|
-
readonly chatName: string;
|
|
430
|
-
readonly chatSecurity?: ChatSecuritySetting;
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
export interface GroupBanRequest {
|
|
434
|
-
readonly comment: string;
|
|
435
|
-
readonly length: IgnoreLength;
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
export interface GroupApplicationRequest {
|
|
439
|
-
readonly message: string;
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
export interface GroupApplicationListRequest {
|
|
443
|
-
readonly memberships: UserMembership[];
|
|
444
|
-
readonly message: string;
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
export const enum GroupsForMemberFilter {
|
|
448
|
-
All = 0,
|
|
449
|
-
Founded = 1,
|
|
450
|
-
NonFounded = 2
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
export interface GroupTheme {
|
|
454
|
-
readonly name: string;
|
|
455
|
-
readonly folder: string;
|
|
456
|
-
readonly description: string;
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
/**
|
|
460
|
-
* A small infocard of group information, usually used for when a list of groups
|
|
461
|
-
* are returned
|
|
462
|
-
*/
|
|
463
|
-
export interface GroupV2Card {
|
|
464
|
-
readonly groupId: string;
|
|
465
|
-
readonly name: string;
|
|
466
|
-
readonly groupType: GroupType;
|
|
467
|
-
readonly creationDate: string;
|
|
468
|
-
readonly about: string;
|
|
469
|
-
readonly motto: string;
|
|
470
|
-
readonly memberCount: number;
|
|
471
|
-
readonly locale: string;
|
|
472
|
-
readonly membershipOption: MembershipOption;
|
|
473
|
-
/**
|
|
474
|
-
* This enum represents a set of flags - use bitwise operators to check which of
|
|
475
|
-
* these match your value.
|
|
476
|
-
*/
|
|
477
|
-
readonly capabilities: Capabilities;
|
|
478
|
-
readonly remoteGroupId?: string;
|
|
479
|
-
readonly clanInfo: GroupV2ClanInfo;
|
|
480
|
-
readonly avatarPath: string;
|
|
481
|
-
readonly theme: string;
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
/**
|
|
485
|
-
* This contract contains clan-specific group information. It does not include any
|
|
486
|
-
* investment data.
|
|
487
|
-
*/
|
|
488
|
-
export interface GroupV2ClanInfo {
|
|
489
|
-
readonly clanCallsign: string;
|
|
490
|
-
readonly clanBannerData: ClanBanner;
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
export const enum GroupSortBy {
|
|
494
|
-
Name = 0,
|
|
495
|
-
Date = 1,
|
|
496
|
-
Popularity = 2,
|
|
497
|
-
Id = 3
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
export const enum GroupMemberCountFilter {
|
|
501
|
-
All = 0,
|
|
502
|
-
OneToTen = 1,
|
|
503
|
-
ElevenToOneHundred = 2,
|
|
504
|
-
GreaterThanOneHundred = 3
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
export interface GroupSearchResponse {
|
|
508
|
-
readonly results: GroupV2Card[];
|
|
509
|
-
readonly totalResults: number;
|
|
510
|
-
readonly hasMore: boolean;
|
|
511
|
-
readonly query: PagedQuery;
|
|
512
|
-
readonly replacementContinuationToken: string;
|
|
513
|
-
/**
|
|
514
|
-
* If useTotalResults is true, then totalResults represents an accurate count.
|
|
515
|
-
*
|
|
516
|
-
* If False, it does not, and may be estimated/only the size of the current page.
|
|
517
|
-
*
|
|
518
|
-
* Either way, you should probably always only trust hasMore.
|
|
519
|
-
*
|
|
520
|
-
* This is a long-held historical throwback to when we used to do paging with known
|
|
521
|
-
* total results. Those queries toasted our database, and we were left to hastily
|
|
522
|
-
* alter our endpoints and create backward- compatible shims, of which
|
|
523
|
-
* useTotalResults is one.
|
|
524
|
-
*/
|
|
525
|
-
readonly useTotalResults: boolean;
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
export interface GroupOptionalConversation {
|
|
529
|
-
readonly groupId: string;
|
|
530
|
-
readonly conversationId: string;
|
|
531
|
-
readonly chatEnabled: boolean;
|
|
532
|
-
readonly chatName: string;
|
|
533
|
-
readonly chatSecurity: ChatSecuritySetting;
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
export interface SearchResultOfGroupMember {
|
|
537
|
-
readonly results: GroupMember[];
|
|
538
|
-
readonly totalResults: number;
|
|
539
|
-
readonly hasMore: boolean;
|
|
540
|
-
readonly query: PagedQuery;
|
|
541
|
-
readonly replacementContinuationToken: string;
|
|
542
|
-
/**
|
|
543
|
-
* If useTotalResults is true, then totalResults represents an accurate count.
|
|
544
|
-
*
|
|
545
|
-
* If False, it does not, and may be estimated/only the size of the current page.
|
|
546
|
-
*
|
|
547
|
-
* Either way, you should probably always only trust hasMore.
|
|
548
|
-
*
|
|
549
|
-
* This is a long-held historical throwback to when we used to do paging with known
|
|
550
|
-
* total results. Those queries toasted our database, and we were left to hastily
|
|
551
|
-
* alter our endpoints and create backward- compatible shims, of which
|
|
552
|
-
* useTotalResults is one.
|
|
553
|
-
*/
|
|
554
|
-
readonly useTotalResults: boolean;
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
export interface GroupMemberLeaveResult {
|
|
558
|
-
readonly group: GroupV2;
|
|
559
|
-
readonly groupDeleted: boolean;
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
export const enum IgnoreLength {
|
|
563
|
-
None = 0,
|
|
564
|
-
Week = 1,
|
|
565
|
-
TwoWeeks = 2,
|
|
566
|
-
ThreeWeeks = 3,
|
|
567
|
-
Month = 4,
|
|
568
|
-
ThreeMonths = 5,
|
|
569
|
-
SixMonths = 6,
|
|
570
|
-
Year = 7,
|
|
571
|
-
Forever = 8,
|
|
572
|
-
ThreeMinutes = 9,
|
|
573
|
-
Hour = 10,
|
|
574
|
-
ThirtyDays = 11
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
export interface SearchResultOfGroupBan {
|
|
578
|
-
readonly results: GroupBan[];
|
|
579
|
-
readonly totalResults: number;
|
|
580
|
-
readonly hasMore: boolean;
|
|
581
|
-
readonly query: PagedQuery;
|
|
582
|
-
readonly replacementContinuationToken: string;
|
|
583
|
-
/**
|
|
584
|
-
* If useTotalResults is true, then totalResults represents an accurate count.
|
|
585
|
-
*
|
|
586
|
-
* If False, it does not, and may be estimated/only the size of the current page.
|
|
587
|
-
*
|
|
588
|
-
* Either way, you should probably always only trust hasMore.
|
|
589
|
-
*
|
|
590
|
-
* This is a long-held historical throwback to when we used to do paging with known
|
|
591
|
-
* total results. Those queries toasted our database, and we were left to hastily
|
|
592
|
-
* alter our endpoints and create backward- compatible shims, of which
|
|
593
|
-
* useTotalResults is one.
|
|
594
|
-
*/
|
|
595
|
-
readonly useTotalResults: boolean;
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
export interface GroupBan {
|
|
599
|
-
readonly groupId: string;
|
|
600
|
-
readonly lastModifiedBy: UserInfoCard;
|
|
601
|
-
readonly createdBy: UserInfoCard;
|
|
602
|
-
readonly dateBanned: string;
|
|
603
|
-
readonly dateExpires: string;
|
|
604
|
-
readonly comment: string;
|
|
605
|
-
readonly bungieNetUserInfo: UserInfoCard;
|
|
606
|
-
readonly destinyUserInfo: GroupUserInfoCard;
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
export interface SearchResultOfGroupEditHistory {
|
|
610
|
-
readonly results: GroupEditHistory[];
|
|
611
|
-
readonly totalResults: number;
|
|
612
|
-
readonly hasMore: boolean;
|
|
613
|
-
readonly query: PagedQuery;
|
|
614
|
-
readonly replacementContinuationToken: string;
|
|
615
|
-
/**
|
|
616
|
-
* If useTotalResults is true, then totalResults represents an accurate count.
|
|
617
|
-
*
|
|
618
|
-
* If False, it does not, and may be estimated/only the size of the current page.
|
|
619
|
-
*
|
|
620
|
-
* Either way, you should probably always only trust hasMore.
|
|
621
|
-
*
|
|
622
|
-
* This is a long-held historical throwback to when we used to do paging with known
|
|
623
|
-
* total results. Those queries toasted our database, and we were left to hastily
|
|
624
|
-
* alter our endpoints and create backward- compatible shims, of which
|
|
625
|
-
* useTotalResults is one.
|
|
626
|
-
*/
|
|
627
|
-
readonly useTotalResults: boolean;
|
|
628
|
-
}
|
|
629
|
-
|
|
630
|
-
export interface GroupEditHistory {
|
|
631
|
-
readonly groupId: string;
|
|
632
|
-
readonly name: string;
|
|
633
|
-
readonly nameEditors?: string;
|
|
634
|
-
readonly about: string;
|
|
635
|
-
readonly aboutEditors?: string;
|
|
636
|
-
readonly motto: string;
|
|
637
|
-
readonly mottoEditors?: string;
|
|
638
|
-
readonly clanCallsign: string;
|
|
639
|
-
readonly clanCallsignEditors?: string;
|
|
640
|
-
readonly editDate?: string;
|
|
641
|
-
readonly groupEditors: UserInfoCard[];
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
export interface SearchResultOfGroupMemberApplication {
|
|
645
|
-
readonly results: GroupMemberApplication[];
|
|
646
|
-
readonly totalResults: number;
|
|
647
|
-
readonly hasMore: boolean;
|
|
648
|
-
readonly query: PagedQuery;
|
|
649
|
-
readonly replacementContinuationToken: string;
|
|
650
|
-
/**
|
|
651
|
-
* If useTotalResults is true, then totalResults represents an accurate count.
|
|
652
|
-
*
|
|
653
|
-
* If False, it does not, and may be estimated/only the size of the current page.
|
|
654
|
-
*
|
|
655
|
-
* Either way, you should probably always only trust hasMore.
|
|
656
|
-
*
|
|
657
|
-
* This is a long-held historical throwback to when we used to do paging with known
|
|
658
|
-
* total results. Those queries toasted our database, and we were left to hastily
|
|
659
|
-
* alter our endpoints and create backward- compatible shims, of which
|
|
660
|
-
* useTotalResults is one.
|
|
661
|
-
*/
|
|
662
|
-
readonly useTotalResults: boolean;
|
|
663
|
-
}
|
|
664
|
-
|
|
665
|
-
export interface GroupMemberApplication {
|
|
666
|
-
readonly groupId: string;
|
|
667
|
-
readonly creationDate: string;
|
|
668
|
-
readonly resolveState: GroupApplicationResolveState;
|
|
669
|
-
readonly resolveDate?: string;
|
|
670
|
-
readonly resolvedByMembershipId?: string;
|
|
671
|
-
readonly requestMessage: string;
|
|
672
|
-
readonly resolveMessage: string;
|
|
673
|
-
readonly destinyUserInfo: GroupUserInfoCard;
|
|
674
|
-
readonly bungieNetUserInfo: UserInfoCard;
|
|
675
|
-
}
|
|
676
|
-
|
|
677
|
-
export const enum GroupApplicationResolveState {
|
|
678
|
-
Unresolved = 0,
|
|
679
|
-
Accepted = 1,
|
|
680
|
-
Denied = 2,
|
|
681
|
-
Rescinded = 3
|
|
682
|
-
}
|
|
683
|
-
|
|
684
|
-
export interface EntityActionResult {
|
|
685
|
-
readonly entityId: string;
|
|
686
|
-
readonly result: PlatformErrorCodes;
|
|
687
|
-
}
|
|
688
|
-
|
|
689
|
-
export interface GetGroupsForMemberResponse {
|
|
690
|
-
/**
|
|
691
|
-
* A convenience property that indicates if every membership this user has that is
|
|
692
|
-
* a part of this group are part of an account that is considered inactive - for
|
|
693
|
-
* example, overridden accounts in Cross Save.
|
|
694
|
-
*
|
|
695
|
-
* The key is the Group ID for the group being checked, and the value is true if
|
|
696
|
-
* the users' memberships for that group are all inactive.
|
|
697
|
-
*/
|
|
698
|
-
readonly areAllMembershipsInactive: { [key: string]: boolean };
|
|
699
|
-
readonly results: GroupMembership[];
|
|
700
|
-
readonly totalResults: number;
|
|
701
|
-
readonly hasMore: boolean;
|
|
702
|
-
readonly query: PagedQuery;
|
|
703
|
-
readonly replacementContinuationToken: string;
|
|
704
|
-
/**
|
|
705
|
-
* If useTotalResults is true, then totalResults represents an accurate count.
|
|
706
|
-
*
|
|
707
|
-
* If False, it does not, and may be estimated/only the size of the current page.
|
|
708
|
-
*
|
|
709
|
-
* Either way, you should probably always only trust hasMore.
|
|
710
|
-
*
|
|
711
|
-
* This is a long-held historical throwback to when we used to do paging with known
|
|
712
|
-
* total results. Those queries toasted our database, and we were left to hastily
|
|
713
|
-
* alter our endpoints and create backward- compatible shims, of which
|
|
714
|
-
* useTotalResults is one.
|
|
715
|
-
*/
|
|
716
|
-
readonly useTotalResults: boolean;
|
|
717
|
-
}
|
|
718
|
-
|
|
719
|
-
export interface GroupMembership {
|
|
720
|
-
readonly member: GroupMember;
|
|
721
|
-
readonly group: GroupV2;
|
|
722
|
-
}
|
|
723
|
-
|
|
724
|
-
export interface GroupMembershipSearchResponse {
|
|
725
|
-
readonly results: GroupMembership[];
|
|
726
|
-
readonly totalResults: number;
|
|
727
|
-
readonly hasMore: boolean;
|
|
728
|
-
readonly query: PagedQuery;
|
|
729
|
-
readonly replacementContinuationToken: string;
|
|
730
|
-
/**
|
|
731
|
-
* If useTotalResults is true, then totalResults represents an accurate count.
|
|
732
|
-
*
|
|
733
|
-
* If False, it does not, and may be estimated/only the size of the current page.
|
|
734
|
-
*
|
|
735
|
-
* Either way, you should probably always only trust hasMore.
|
|
736
|
-
*
|
|
737
|
-
* This is a long-held historical throwback to when we used to do paging with known
|
|
738
|
-
* total results. Those queries toasted our database, and we were left to hastily
|
|
739
|
-
* alter our endpoints and create backward- compatible shims, of which
|
|
740
|
-
* useTotalResults is one.
|
|
741
|
-
*/
|
|
742
|
-
readonly useTotalResults: boolean;
|
|
743
|
-
}
|
|
744
|
-
|
|
745
|
-
export interface GroupPotentialMembershipSearchResponse {
|
|
746
|
-
readonly results: GroupPotentialMembership[];
|
|
747
|
-
readonly totalResults: number;
|
|
748
|
-
readonly hasMore: boolean;
|
|
749
|
-
readonly query: PagedQuery;
|
|
750
|
-
readonly replacementContinuationToken: string;
|
|
751
|
-
/**
|
|
752
|
-
* If useTotalResults is true, then totalResults represents an accurate count.
|
|
753
|
-
*
|
|
754
|
-
* If False, it does not, and may be estimated/only the size of the current page.
|
|
755
|
-
*
|
|
756
|
-
* Either way, you should probably always only trust hasMore.
|
|
757
|
-
*
|
|
758
|
-
* This is a long-held historical throwback to when we used to do paging with known
|
|
759
|
-
* total results. Those queries toasted our database, and we were left to hastily
|
|
760
|
-
* alter our endpoints and create backward- compatible shims, of which
|
|
761
|
-
* useTotalResults is one.
|
|
762
|
-
*/
|
|
763
|
-
readonly useTotalResults: boolean;
|
|
764
|
-
}
|
|
765
|
-
|
|
766
|
-
export interface GroupPotentialMembership {
|
|
767
|
-
readonly member: GroupPotentialMember;
|
|
768
|
-
readonly group: GroupV2;
|
|
769
|
-
}
|
|
770
|
-
|
|
771
|
-
export interface GroupApplicationResponse {
|
|
772
|
-
readonly resolution: GroupApplicationResolveState;
|
|
773
|
-
}
|