@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.
Files changed (162) hide show
  1. package/package.json +66 -27
  2. package/.babelrc +0 -4
  3. package/.gitattributes +0 -2
  4. package/.github/workflows/pr-build.yml +0 -50
  5. package/.github/workflows/publish.yml +0 -48
  6. package/.github/workflows/update.yml +0 -55
  7. package/.gitmodules +0 -3
  8. package/.nvmrc +0 -1
  9. package/.prettierrc +0 -10
  10. package/.vscode/extensions.json +0 -8
  11. package/.vscode/settings.json +0 -7
  12. package/LICENSE.md +0 -21
  13. package/api-src/.github/workflows/close-inactive.yml +0 -24
  14. package/api-src/CHANGELOG.md +0 -271
  15. package/api-src/CONTRIBUTING.md +0 -19
  16. package/api-src/LICENSE +0 -28
  17. package/api-src/README.md +0 -378
  18. package/api-src/openapi-2.json +0 -44518
  19. package/api-src/openapi.json +0 -46467
  20. package/build.sh +0 -30
  21. package/generated-src/app/api.ts +0 -50
  22. package/generated-src/app/index.ts +0 -17
  23. package/generated-src/app/interfaces.ts +0 -119
  24. package/generated-src/common.ts +0 -985
  25. package/generated-src/communitycontent/api.ts +0 -36
  26. package/generated-src/communitycontent/index.ts +0 -16
  27. package/generated-src/content/api.ts +0 -142
  28. package/generated-src/content/index.ts +0 -17
  29. package/generated-src/content/interfaces.ts +0 -225
  30. package/generated-src/core/api.ts +0 -57
  31. package/generated-src/core/index.ts +0 -17
  32. package/generated-src/core/interfaces.ts +0 -151
  33. package/generated-src/destiny2/api.ts +0 -821
  34. package/generated-src/destiny2/index.ts +0 -17
  35. package/generated-src/destiny2/interfaces.ts +0 -15714
  36. package/generated-src/destiny2/manifest.ts +0 -341
  37. package/generated-src/fireteam/api.ts +0 -151
  38. package/generated-src/fireteam/index.ts +0 -17
  39. package/generated-src/fireteam/interfaces.ts +0 -183
  40. package/generated-src/forum/api.ts +0 -197
  41. package/generated-src/forum/index.ts +0 -17
  42. package/generated-src/forum/interfaces.ts +0 -171
  43. package/generated-src/groupv2/api.ts +0 -515
  44. package/generated-src/groupv2/index.ts +0 -17
  45. package/generated-src/groupv2/interfaces.ts +0 -773
  46. package/generated-src/http.ts +0 -52
  47. package/generated-src/index.ts +0 -37
  48. package/generated-src/package.json.notyet +0 -99
  49. package/generated-src/platform.ts +0 -39
  50. package/generated-src/social/api.ts +0 -115
  51. package/generated-src/social/index.ts +0 -17
  52. package/generated-src/social/interfaces.ts +0 -89
  53. package/generated-src/tokens/api.ts +0 -126
  54. package/generated-src/tokens/index.ts +0 -17
  55. package/generated-src/tokens/interfaces.ts +0 -102
  56. package/generated-src/trending/api.ts +0 -62
  57. package/generated-src/trending/index.ts +0 -17
  58. package/generated-src/trending/interfaces.ts +0 -188
  59. package/generated-src/user/api.ts +0 -130
  60. package/generated-src/user/index.ts +0 -17
  61. package/generated-src/user/interfaces.ts +0 -338
  62. package/generator/generate-api.ts +0 -254
  63. package/generator/generate-common.ts +0 -123
  64. package/generator/generate-index.ts +0 -45
  65. package/generator/generate-interfaces.ts +0 -173
  66. package/generator/generate-manifest.ts +0 -217
  67. package/generator/generate-package-json.ts +0 -45
  68. package/generator/generate.ts +0 -54
  69. package/generator/http.ts +0 -52
  70. package/generator/missing-props.ts +0 -11
  71. package/generator/type-index.ts +0 -184
  72. package/generator/util.ts +0 -131
  73. package/lib/README.md +0 -97
  74. package/lib/bungie-api-LICENSE +0 -29
  75. package/lib/package.json +0 -99
  76. package/test-consumer.ts +0 -5
  77. package/tests/__snapshots__/config-builders.test.ts.snap +0 -343
  78. package/tests/config-builders.test.ts +0 -145
  79. package/tests/manifest-fetcher.test.ts +0 -43
  80. package/tests/test-manifest.js +0 -69
  81. package/tsconfig-package.json +0 -14
  82. package/tsconfig.json +0 -17
  83. /package/{lib/app → app}/api.d.ts +0 -0
  84. /package/{lib/app → app}/api.js +0 -0
  85. /package/{lib/app → app}/index.d.ts +0 -0
  86. /package/{lib/app → app}/index.js +0 -0
  87. /package/{lib/app → app}/interfaces.d.ts +0 -0
  88. /package/{lib/app → app}/interfaces.js +0 -0
  89. /package/{lib/common.d.ts → common.d.ts} +0 -0
  90. /package/{lib/common.js → common.js} +0 -0
  91. /package/{lib/communitycontent → communitycontent}/api.d.ts +0 -0
  92. /package/{lib/communitycontent → communitycontent}/api.js +0 -0
  93. /package/{lib/communitycontent → communitycontent}/index.d.ts +0 -0
  94. /package/{lib/communitycontent → communitycontent}/index.js +0 -0
  95. /package/{lib/content → content}/api.d.ts +0 -0
  96. /package/{lib/content → content}/api.js +0 -0
  97. /package/{lib/content → content}/index.d.ts +0 -0
  98. /package/{lib/content → content}/index.js +0 -0
  99. /package/{lib/content → content}/interfaces.d.ts +0 -0
  100. /package/{lib/content → content}/interfaces.js +0 -0
  101. /package/{lib/core → core}/api.d.ts +0 -0
  102. /package/{lib/core → core}/api.js +0 -0
  103. /package/{lib/core → core}/index.d.ts +0 -0
  104. /package/{lib/core → core}/index.js +0 -0
  105. /package/{lib/core → core}/interfaces.d.ts +0 -0
  106. /package/{lib/core → core}/interfaces.js +0 -0
  107. /package/{lib/destiny2 → destiny2}/api.d.ts +0 -0
  108. /package/{lib/destiny2 → destiny2}/api.js +0 -0
  109. /package/{lib/destiny2 → destiny2}/index.d.ts +0 -0
  110. /package/{lib/destiny2 → destiny2}/index.js +0 -0
  111. /package/{lib/destiny2 → destiny2}/interfaces.d.ts +0 -0
  112. /package/{lib/destiny2 → destiny2}/interfaces.js +0 -0
  113. /package/{lib/destiny2 → destiny2}/manifest.d.ts +0 -0
  114. /package/{lib/destiny2 → destiny2}/manifest.js +0 -0
  115. /package/{lib/fireteam → fireteam}/api.d.ts +0 -0
  116. /package/{lib/fireteam → fireteam}/api.js +0 -0
  117. /package/{lib/fireteam → fireteam}/index.d.ts +0 -0
  118. /package/{lib/fireteam → fireteam}/index.js +0 -0
  119. /package/{lib/fireteam → fireteam}/interfaces.d.ts +0 -0
  120. /package/{lib/fireteam → fireteam}/interfaces.js +0 -0
  121. /package/{lib/forum → forum}/api.d.ts +0 -0
  122. /package/{lib/forum → forum}/api.js +0 -0
  123. /package/{lib/forum → forum}/index.d.ts +0 -0
  124. /package/{lib/forum → forum}/index.js +0 -0
  125. /package/{lib/forum → forum}/interfaces.d.ts +0 -0
  126. /package/{lib/forum → forum}/interfaces.js +0 -0
  127. /package/{lib/groupv2 → groupv2}/api.d.ts +0 -0
  128. /package/{lib/groupv2 → groupv2}/api.js +0 -0
  129. /package/{lib/groupv2 → groupv2}/index.d.ts +0 -0
  130. /package/{lib/groupv2 → groupv2}/index.js +0 -0
  131. /package/{lib/groupv2 → groupv2}/interfaces.d.ts +0 -0
  132. /package/{lib/groupv2 → groupv2}/interfaces.js +0 -0
  133. /package/{lib/http.d.ts → http.d.ts} +0 -0
  134. /package/{lib/http.js → http.js} +0 -0
  135. /package/{lib/index.d.ts → index.d.ts} +0 -0
  136. /package/{lib/index.js → index.js} +0 -0
  137. /package/{lib/platform.d.ts → platform.d.ts} +0 -0
  138. /package/{lib/platform.js → platform.js} +0 -0
  139. /package/{lib/social → social}/api.d.ts +0 -0
  140. /package/{lib/social → social}/api.js +0 -0
  141. /package/{lib/social → social}/index.d.ts +0 -0
  142. /package/{lib/social → social}/index.js +0 -0
  143. /package/{lib/social → social}/interfaces.d.ts +0 -0
  144. /package/{lib/social → social}/interfaces.js +0 -0
  145. /package/{lib/tokens → tokens}/api.d.ts +0 -0
  146. /package/{lib/tokens → tokens}/api.js +0 -0
  147. /package/{lib/tokens → tokens}/index.d.ts +0 -0
  148. /package/{lib/tokens → tokens}/index.js +0 -0
  149. /package/{lib/tokens → tokens}/interfaces.d.ts +0 -0
  150. /package/{lib/tokens → tokens}/interfaces.js +0 -0
  151. /package/{lib/trending → trending}/api.d.ts +0 -0
  152. /package/{lib/trending → trending}/api.js +0 -0
  153. /package/{lib/trending → trending}/index.d.ts +0 -0
  154. /package/{lib/trending → trending}/index.js +0 -0
  155. /package/{lib/trending → trending}/interfaces.d.ts +0 -0
  156. /package/{lib/trending → trending}/interfaces.js +0 -0
  157. /package/{lib/user → user}/api.d.ts +0 -0
  158. /package/{lib/user → user}/api.js +0 -0
  159. /package/{lib/user → user}/index.d.ts +0 -0
  160. /package/{lib/user → user}/index.js +0 -0
  161. /package/{lib/user → user}/interfaces.d.ts +0 -0
  162. /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
- }