speedruncom.js 2.0.6 → 2.0.8
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/.github/workflows/publish.yml +18 -22
- package/README.md +2 -10
- package/bun.lock +20 -0
- package/lib/{endpoints → src/endpoints}/endpoints.post.d.ts +5 -0
- package/lib/{index.d.ts → src/index.d.ts} +1 -2
- package/lib/{index.js → src/index.js} +1 -2
- package/lib/{interfaces.d.ts → src/interfaces.d.ts} +436 -436
- package/lib/src/requests.d.ts +7 -0
- package/lib/src/requests.js +17 -0
- package/lib/{responses.d.ts → src/responses.d.ts} +1 -1
- package/package.json +13 -19
- package/src/endpoints/endpoints.post.ts +6 -0
- package/src/index.ts +1 -4
- package/src/interfaces.ts +436 -436
- package/src/requests.ts +26 -0
- package/src/responses.ts +1 -1
- package/tsconfig.json +3 -3
- package/LICENSE +0 -504
- package/lib/Client.d.ts +0 -11
- package/lib/Client.js +0 -23
- package/src/Client.ts +0 -30
- /package/lib/{endpoints → src/endpoints}/endpoints.get.d.ts +0 -0
- /package/lib/{endpoints → src/endpoints}/endpoints.get.js +0 -0
- /package/lib/{endpoints → src/endpoints}/endpoints.post.js +0 -0
- /package/lib/{enums.d.ts → src/enums.d.ts} +0 -0
- /package/lib/{enums.js → src/enums.js} +0 -0
- /package/lib/{interfaces.js → src/interfaces.js} +0 -0
- /package/lib/{responses.js → src/responses.js} +0 -0
- /package/lib/{types.d.ts → src/types.d.ts} +0 -0
- /package/lib/{types.js → src/types.js} +0 -0
|
@@ -6,7 +6,7 @@ export interface Category {
|
|
|
6
6
|
/**
|
|
7
7
|
* ID of the category.
|
|
8
8
|
*/
|
|
9
|
-
|
|
9
|
+
id: string;
|
|
10
10
|
/**
|
|
11
11
|
* Name of the category.
|
|
12
12
|
*/
|
|
@@ -16,15 +16,15 @@ export interface Category {
|
|
|
16
16
|
* This is never actually used in site pages.
|
|
17
17
|
* The URL is permanent and can never update, even when changing the category name.
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
url: string;
|
|
20
20
|
/**
|
|
21
21
|
* A global, site-wide position order number for the category.
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
pos: number;
|
|
24
24
|
/**
|
|
25
25
|
* ID of the game the category is on.
|
|
26
26
|
*/
|
|
27
|
-
|
|
27
|
+
gameId: string;
|
|
28
28
|
/**
|
|
29
29
|
* Whether or not the category is miscellaneous.
|
|
30
30
|
*/
|
|
@@ -70,15 +70,15 @@ export interface ChallengeModerator {
|
|
|
70
70
|
/**
|
|
71
71
|
* ID of the challenge being moderated.
|
|
72
72
|
*/
|
|
73
|
-
|
|
73
|
+
challengeId: string;
|
|
74
74
|
/**
|
|
75
75
|
* ID of the user moderating.
|
|
76
76
|
*/
|
|
77
|
-
|
|
77
|
+
userId: string;
|
|
78
78
|
/**
|
|
79
79
|
* `GamePowerLevel` of the moderator.
|
|
80
80
|
*/
|
|
81
|
-
|
|
81
|
+
level: Enums.GamePowerLevel;
|
|
82
82
|
}
|
|
83
83
|
/**
|
|
84
84
|
* A current status of a challenge.
|
|
@@ -87,27 +87,27 @@ export interface ChallengeStanding {
|
|
|
87
87
|
/**
|
|
88
88
|
* ID of the challenge.
|
|
89
89
|
*/
|
|
90
|
-
|
|
90
|
+
challengeId: string;
|
|
91
91
|
/**
|
|
92
92
|
* todo
|
|
93
93
|
*/
|
|
94
|
-
|
|
94
|
+
place: number;
|
|
95
95
|
/**
|
|
96
96
|
* todo
|
|
97
97
|
*/
|
|
98
|
-
|
|
98
|
+
registeredPlayerIds: string[];
|
|
99
99
|
/**
|
|
100
100
|
* todo
|
|
101
101
|
*/
|
|
102
|
-
|
|
102
|
+
prizeAmount: number;
|
|
103
103
|
/**
|
|
104
104
|
* todo
|
|
105
105
|
*/
|
|
106
|
-
|
|
106
|
+
unregisteredPlayers: string[];
|
|
107
107
|
/**
|
|
108
108
|
* todo
|
|
109
109
|
*/
|
|
110
|
-
|
|
110
|
+
prizeCurrency: string;
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
113
|
* A currency reward for getting a certain ranking in a challenge.
|
|
@@ -116,11 +116,11 @@ export interface ChallengePrize {
|
|
|
116
116
|
/**
|
|
117
117
|
* The ranking in the challenge for the reward.
|
|
118
118
|
*/
|
|
119
|
-
|
|
119
|
+
place: number;
|
|
120
120
|
/**
|
|
121
121
|
* The amount of money rewarded to the player in the `place`.
|
|
122
122
|
*/
|
|
123
|
-
|
|
123
|
+
amount: number;
|
|
124
124
|
}
|
|
125
125
|
/**
|
|
126
126
|
* Configuration settings of a challenge.
|
|
@@ -129,12 +129,12 @@ export interface ChallengePrizeConfig {
|
|
|
129
129
|
/**
|
|
130
130
|
* TODO
|
|
131
131
|
*/
|
|
132
|
-
|
|
132
|
+
prizePool: number;
|
|
133
133
|
/**
|
|
134
134
|
* TODO
|
|
135
135
|
*/
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
currency: string;
|
|
137
|
+
prizes: ChallengePrize[];
|
|
138
138
|
}
|
|
139
139
|
/**
|
|
140
140
|
* A single user's site-wide ranking details based on all challenges entered.
|
|
@@ -143,28 +143,28 @@ export interface GlobalChallengeRanking {
|
|
|
143
143
|
/**
|
|
144
144
|
* ID of the user.
|
|
145
145
|
*/
|
|
146
|
-
|
|
146
|
+
userId: string;
|
|
147
147
|
/**
|
|
148
148
|
* The user's site-wide rank.
|
|
149
149
|
*/
|
|
150
|
-
|
|
151
|
-
|
|
150
|
+
rank: number;
|
|
151
|
+
totalEarnings: number;
|
|
152
152
|
/**
|
|
153
153
|
* The amount of first place ranks the user has achieved in challenges.
|
|
154
154
|
*/
|
|
155
|
-
|
|
155
|
+
firstPlaces: number;
|
|
156
156
|
/**
|
|
157
157
|
* The amount of second place ranks the user has achieved in challenges.
|
|
158
158
|
*/
|
|
159
|
-
|
|
159
|
+
secondPlaces: number;
|
|
160
160
|
/**
|
|
161
161
|
* The amount of third place ranks the user has achieved in challenges.
|
|
162
162
|
*/
|
|
163
|
-
|
|
163
|
+
thirdPlaces: number;
|
|
164
164
|
/**
|
|
165
165
|
* The total amount of challenges the user has entered.
|
|
166
166
|
*/
|
|
167
|
-
|
|
167
|
+
challengesEntered: number;
|
|
168
168
|
}
|
|
169
169
|
/**
|
|
170
170
|
* A site challenge.
|
|
@@ -173,71 +173,71 @@ export interface Challenge {
|
|
|
173
173
|
/**
|
|
174
174
|
* ID of the challenge.
|
|
175
175
|
*/
|
|
176
|
-
|
|
176
|
+
id: string;
|
|
177
177
|
/**
|
|
178
178
|
* Name of the challenge.
|
|
179
179
|
*/
|
|
180
|
-
|
|
180
|
+
name: string;
|
|
181
181
|
/**
|
|
182
182
|
* todo
|
|
183
183
|
*/
|
|
184
|
-
|
|
184
|
+
announcement: string;
|
|
185
185
|
/**
|
|
186
186
|
* Subpath URL of the challenge.
|
|
187
187
|
*/
|
|
188
|
-
|
|
188
|
+
url: string;
|
|
189
189
|
/**
|
|
190
190
|
* ID of the game the challenge is based on.
|
|
191
191
|
*/
|
|
192
|
-
|
|
192
|
+
gameId: string;
|
|
193
193
|
/**
|
|
194
194
|
* UNIX timestamp of when the challenge was created.
|
|
195
195
|
*/
|
|
196
|
-
|
|
196
|
+
createDate: number;
|
|
197
197
|
/**
|
|
198
198
|
* UNIX timestamp of when the challenge settings were last updated.
|
|
199
199
|
*/
|
|
200
|
-
|
|
200
|
+
updateDate: number;
|
|
201
201
|
/**
|
|
202
202
|
* todo
|
|
203
203
|
*/
|
|
204
|
-
|
|
204
|
+
startDate: number;
|
|
205
205
|
/**
|
|
206
206
|
* todo
|
|
207
207
|
*/
|
|
208
|
-
|
|
208
|
+
endDate: number;
|
|
209
209
|
/**
|
|
210
210
|
* `ChallengeState` of the challenge.
|
|
211
211
|
*/
|
|
212
|
-
|
|
212
|
+
state: Enums.ChallengeState;
|
|
213
213
|
/**
|
|
214
214
|
* Description of the challenge.
|
|
215
215
|
*/
|
|
216
|
-
|
|
216
|
+
description: string;
|
|
217
217
|
/**
|
|
218
218
|
* Rules of the challenge (not to be confused with `contestRules`).
|
|
219
219
|
*/
|
|
220
|
-
|
|
220
|
+
rules: string;
|
|
221
221
|
/**
|
|
222
222
|
*
|
|
223
223
|
*/
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
224
|
+
numPlayers: number;
|
|
225
|
+
exactPlayers: boolean;
|
|
226
|
+
playerMatchMode: Enums.PlayerMatchMode;
|
|
227
|
+
timeDirection: Enums.TimeDirection;
|
|
228
|
+
enforceMs: boolean;
|
|
229
229
|
/**
|
|
230
230
|
* Subpath URL of the challenge's cover image.
|
|
231
231
|
* check if opt todo
|
|
232
232
|
*/
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
233
|
+
coverImagePath: string;
|
|
234
|
+
contest: boolean;
|
|
235
|
+
contestRules: string;
|
|
236
|
+
runCommentsMode: Enums.ItemPermissionType;
|
|
237
237
|
/**
|
|
238
238
|
* `ChallengePrizeConfig` of the challenge.
|
|
239
239
|
*/
|
|
240
|
-
|
|
240
|
+
prizeConfig: ChallengePrizeConfig;
|
|
241
241
|
}
|
|
242
242
|
/**
|
|
243
243
|
* Player reward for completing a Challenge.
|
|
@@ -246,19 +246,19 @@ export interface Title {
|
|
|
246
246
|
/**
|
|
247
247
|
* ID of the title.
|
|
248
248
|
*/
|
|
249
|
-
|
|
249
|
+
id: string;
|
|
250
250
|
/**
|
|
251
251
|
* Title of the challenge.
|
|
252
252
|
*/
|
|
253
|
-
|
|
253
|
+
title: string;
|
|
254
254
|
/**
|
|
255
255
|
* Description of how the challenge is rewarded to players.
|
|
256
256
|
*/
|
|
257
|
-
|
|
257
|
+
comment: string;
|
|
258
258
|
/**
|
|
259
259
|
* Subpath URL of the challenge that rewards the title.
|
|
260
260
|
*/
|
|
261
|
-
|
|
261
|
+
referenceUrl: string;
|
|
262
262
|
}
|
|
263
263
|
/**
|
|
264
264
|
* Permissions of a comment section.
|
|
@@ -267,101 +267,101 @@ export interface CommentPermissions {
|
|
|
267
267
|
/**
|
|
268
268
|
* Whether or not
|
|
269
269
|
*/
|
|
270
|
-
|
|
270
|
+
canManage: boolean;
|
|
271
271
|
/**
|
|
272
272
|
* Whether or
|
|
273
273
|
*/
|
|
274
|
-
|
|
275
|
-
|
|
274
|
+
canViewComments: boolean;
|
|
275
|
+
canPostComments: boolean;
|
|
276
276
|
/**
|
|
277
277
|
* Whether or not editing comments is allowed.
|
|
278
278
|
*/
|
|
279
|
-
|
|
279
|
+
canEditComments: boolean;
|
|
280
280
|
/**
|
|
281
281
|
* Whether or not deleting comments is allowsed.
|
|
282
282
|
*/
|
|
283
|
-
|
|
283
|
+
canDeleteComments: boolean;
|
|
284
284
|
/**
|
|
285
285
|
* Reasons for not being able to not view a thread.
|
|
286
286
|
*/
|
|
287
|
-
|
|
287
|
+
cannotViewReasons: string[];
|
|
288
288
|
/**
|
|
289
289
|
* Reasons for not being able to post a comment.
|
|
290
290
|
*/
|
|
291
|
-
|
|
291
|
+
cannotPostReasons: string[];
|
|
292
292
|
}
|
|
293
293
|
export interface CommentableProperties {
|
|
294
|
-
|
|
295
|
-
|
|
294
|
+
disabled: boolean;
|
|
295
|
+
locked: boolean;
|
|
296
296
|
}
|
|
297
297
|
export interface Commentable {
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
298
|
+
itemType: Enums.CommentableItemType;
|
|
299
|
+
itemId: string;
|
|
300
|
+
properties: CommentableProperties;
|
|
301
301
|
/**Permissions of the logged in user. If not logged in; `canPostComments` is `false`.*/
|
|
302
|
-
|
|
302
|
+
permissions: CommentPermissions;
|
|
303
303
|
}
|
|
304
304
|
export interface Comment {
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
305
|
+
id: string;
|
|
306
|
+
itemType: Enums.ItemType.Comment;
|
|
307
|
+
itemId: string;
|
|
308
|
+
date: number;
|
|
309
|
+
userId: string;
|
|
310
310
|
/**May be omitted on deleted comments.*/
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
311
|
+
text?: string;
|
|
312
|
+
parentId?: string;
|
|
313
|
+
deleted: boolean;
|
|
314
|
+
deletedUserId?: string;
|
|
315
315
|
}
|
|
316
316
|
export interface Like {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
317
|
+
itemType: Enums.ItemType.Comment;
|
|
318
|
+
itemId: string;
|
|
319
|
+
userId: string;
|
|
320
|
+
date: number;
|
|
321
321
|
}
|
|
322
322
|
export interface SocialNetwork {
|
|
323
323
|
/**
|
|
324
324
|
* `SocialConnection` of the social network.
|
|
325
325
|
*/
|
|
326
|
-
|
|
326
|
+
id: Enums.SocialConnection;
|
|
327
327
|
/**
|
|
328
328
|
* Name of the social network.
|
|
329
329
|
*/
|
|
330
|
-
|
|
330
|
+
name: string;
|
|
331
331
|
/**
|
|
332
332
|
* Arbitrary and unknown determination of if the platform is popular.
|
|
333
333
|
*
|
|
334
334
|
* This does not have to do with if the platform is depricated or not.
|
|
335
335
|
*/
|
|
336
|
-
|
|
336
|
+
major: boolean;
|
|
337
337
|
/**
|
|
338
338
|
* Site-wide ordering method of the platform.
|
|
339
339
|
*/
|
|
340
|
-
|
|
340
|
+
pos: number;
|
|
341
341
|
/**
|
|
342
342
|
* Either a URL with a `[id]` placeholder of where the entered value would be stored, `popup` when there is complex authentication of the social network, or an empty string when the value you enter is exactly what the end result will be.
|
|
343
343
|
*
|
|
344
344
|
* Example: `https://www.youtube.com/user/[id]`
|
|
345
345
|
*/
|
|
346
|
-
|
|
346
|
+
pattern: string;
|
|
347
347
|
}
|
|
348
348
|
export interface Area {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
349
|
+
id: string;
|
|
350
|
+
name: string;
|
|
351
|
+
fullName: string;
|
|
352
|
+
label: string;
|
|
353
|
+
flagIcon: string;
|
|
354
|
+
lbFlagIcon: string;
|
|
355
|
+
lbName: string;
|
|
356
356
|
}
|
|
357
357
|
export interface Color {
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
358
|
+
id: string;
|
|
359
|
+
name: string;
|
|
360
|
+
darkColor: string;
|
|
361
361
|
/**@deprecated `darkColor` is always used on the site*/
|
|
362
|
-
|
|
362
|
+
lightColor: string;
|
|
363
363
|
/**@deprecated colors now seem to be sorted by their name's ascending alphabetical order (A-Z)*/
|
|
364
|
-
|
|
364
|
+
pos: number;
|
|
365
365
|
}
|
|
366
366
|
/**
|
|
367
367
|
* A 'category' of threads, being site-wide such as *The Site* and *Supporter* or representing the forum section that every game has.
|
|
@@ -370,83 +370,83 @@ export interface Forum {
|
|
|
370
370
|
/**
|
|
371
371
|
* `id` of this forum section.
|
|
372
372
|
*/
|
|
373
|
-
|
|
373
|
+
id: string;
|
|
374
374
|
/**
|
|
375
375
|
* Name of the forum. If this is the game's forum, it is the game name.
|
|
376
376
|
*/
|
|
377
|
-
|
|
377
|
+
name: string;
|
|
378
378
|
/**
|
|
379
379
|
* Page URL of the forum. If this is the game's forum, it is the game's page URL.
|
|
380
380
|
*/
|
|
381
|
-
|
|
381
|
+
url: string;
|
|
382
382
|
/**
|
|
383
383
|
* A description used to describe site-wide forums.
|
|
384
384
|
*/
|
|
385
|
-
|
|
385
|
+
description?: string;
|
|
386
386
|
/**
|
|
387
387
|
* The `ForumType` the forum is.
|
|
388
388
|
*/
|
|
389
|
-
|
|
389
|
+
type: Enums.ForumType;
|
|
390
390
|
/**
|
|
391
391
|
* The amount of threads inside of a forum.
|
|
392
392
|
*/
|
|
393
|
-
|
|
393
|
+
threadCount: number;
|
|
394
394
|
/**
|
|
395
395
|
* The amont of combined posts of every thread in the forum.
|
|
396
396
|
*/
|
|
397
|
-
|
|
397
|
+
postCount: number;
|
|
398
398
|
/**
|
|
399
399
|
* The ID of the latest post in any thread in the forum.
|
|
400
400
|
*/
|
|
401
|
-
|
|
401
|
+
lastPostId: string;
|
|
402
402
|
/**
|
|
403
403
|
* The `userId` of the latest post in any thread in the forum.
|
|
404
404
|
*/
|
|
405
|
-
|
|
405
|
+
lastPostUserId: string;
|
|
406
406
|
/**
|
|
407
407
|
* The UNIX timestamp of when the latest post in any thread in the forum was posted.
|
|
408
408
|
*/
|
|
409
|
-
|
|
409
|
+
lastPostDate: number;
|
|
410
410
|
/**
|
|
411
411
|
*
|
|
412
412
|
*/
|
|
413
|
-
|
|
413
|
+
touchDate: number;
|
|
414
414
|
}
|
|
415
415
|
export interface Thread {
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
416
|
+
id: string;
|
|
417
|
+
name: string;
|
|
418
|
+
gameId: string;
|
|
419
|
+
forumId: string;
|
|
420
|
+
userId: string;
|
|
421
|
+
replies: number;
|
|
422
|
+
created: number;
|
|
423
|
+
lastCommentId: string;
|
|
424
|
+
lastCommentUserId: string;
|
|
425
|
+
lastCommentDate: number;
|
|
426
|
+
sticky: boolean;
|
|
427
|
+
locked: boolean;
|
|
428
428
|
}
|
|
429
429
|
export interface ForumReadStatus {
|
|
430
|
-
|
|
431
|
-
|
|
430
|
+
forumId: string;
|
|
431
|
+
date: number;
|
|
432
432
|
}
|
|
433
433
|
export interface Datatype {
|
|
434
|
-
|
|
435
|
-
|
|
434
|
+
threadId: string;
|
|
435
|
+
date: number;
|
|
436
436
|
}
|
|
437
437
|
export interface Leaderboard {
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
438
|
+
category: Category;
|
|
439
|
+
game: Game;
|
|
440
|
+
pagination: Pagination;
|
|
441
|
+
platforms: Platform[];
|
|
442
442
|
/**
|
|
443
443
|
* Every Player with a run in a game.
|
|
444
444
|
*/
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
445
|
+
players: Player[];
|
|
446
|
+
regions: Region[];
|
|
447
|
+
runs: GameRun[];
|
|
448
|
+
values: VariableValue[];
|
|
449
|
+
variables: Variable[];
|
|
450
450
|
}
|
|
451
451
|
/**
|
|
452
452
|
* Paramaters for filtering a leaderboard.
|
|
@@ -505,159 +505,159 @@ export interface LeaderboardParams {
|
|
|
505
505
|
video?: Enums.VideoFilter;
|
|
506
506
|
}
|
|
507
507
|
export interface RunCount {
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
508
|
+
gameId: string;
|
|
509
|
+
categoryId: string;
|
|
510
|
+
levelId?: string;
|
|
511
|
+
variableId?: string;
|
|
512
|
+
valueId?: string;
|
|
513
|
+
count: number;
|
|
514
514
|
}
|
|
515
515
|
export interface Platform {
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
516
|
+
id: string;
|
|
517
|
+
name: string;
|
|
518
|
+
url: string;
|
|
519
|
+
year: number;
|
|
520
520
|
}
|
|
521
521
|
export interface Article {
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
522
|
+
id: string;
|
|
523
|
+
slug: string;
|
|
524
|
+
title: string;
|
|
525
|
+
summary: string;
|
|
526
|
+
body: string;
|
|
527
|
+
createDate: number;
|
|
528
|
+
updateDate: number;
|
|
529
|
+
publishDate?: number;
|
|
530
|
+
rejectDate?: number;
|
|
531
|
+
publishTarget: string;
|
|
532
|
+
publishTags: string[];
|
|
533
|
+
coverImagePath?: string;
|
|
534
|
+
commentsCount: number;
|
|
535
|
+
community?: boolean;
|
|
536
|
+
gameId?: string;
|
|
537
|
+
userId?: string;
|
|
538
|
+
editorId?: string;
|
|
539
539
|
/**day it was pinned */
|
|
540
|
-
|
|
540
|
+
stickyDate?: number;
|
|
541
541
|
}
|
|
542
542
|
export interface Region {
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
543
|
+
id: string;
|
|
544
|
+
name: string;
|
|
545
|
+
url: string;
|
|
546
|
+
flag: string;
|
|
547
547
|
}
|
|
548
548
|
export interface Pagination {
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
549
|
+
count: number;
|
|
550
|
+
page: number;
|
|
551
|
+
pages: number;
|
|
552
|
+
per: number;
|
|
553
553
|
}
|
|
554
554
|
export interface Guide {
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
555
|
+
id: string;
|
|
556
|
+
name: string;
|
|
557
|
+
text: string;
|
|
558
|
+
date: number;
|
|
559
|
+
userId: string;
|
|
560
|
+
gameId: string;
|
|
561
561
|
}
|
|
562
562
|
export interface Resource {
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
563
|
+
id: string;
|
|
564
|
+
type: Enums.ResourceType;
|
|
565
|
+
name: string;
|
|
566
|
+
description: string;
|
|
567
|
+
date: number;
|
|
568
|
+
userId: string;
|
|
569
|
+
gameId: string;
|
|
570
|
+
path?: string;
|
|
571
|
+
link?: string;
|
|
572
|
+
fileName?: string;
|
|
573
|
+
authorNames: string;
|
|
574
574
|
}
|
|
575
575
|
export interface Stream {
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
576
|
+
id: string;
|
|
577
|
+
gameId?: string;
|
|
578
|
+
userId?: string;
|
|
579
|
+
areaId?: string;
|
|
580
|
+
url: string;
|
|
581
|
+
title: string;
|
|
582
|
+
previewUrl: string;
|
|
583
|
+
channelName: string;
|
|
584
|
+
viewers: number;
|
|
585
585
|
/**If the stream has a PB on SRC (and has their account linked) TODO: check*/
|
|
586
|
-
|
|
586
|
+
hasPb: boolean;
|
|
587
587
|
}
|
|
588
588
|
export interface AuditLogEntry {
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
589
|
+
id: string;
|
|
590
|
+
date: number;
|
|
591
|
+
eventType: Enums.EventType;
|
|
592
|
+
actorId: string;
|
|
593
|
+
gameId: string;
|
|
594
594
|
/**A json dict of extra context based on eventType.*/
|
|
595
|
-
|
|
596
|
-
|
|
595
|
+
context: string;
|
|
596
|
+
userId?: string;
|
|
597
597
|
}
|
|
598
598
|
export interface Session {
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
599
|
+
signedIn: boolean;
|
|
600
|
+
showAds: boolean;
|
|
601
|
+
user?: User;
|
|
602
|
+
theme?: Theme;
|
|
603
|
+
powerLevel: Enums.SitePowerLevel;
|
|
604
|
+
dateFormat: Enums.DateFormat;
|
|
605
|
+
timeFormat: Enums.TimeFormat;
|
|
606
|
+
timeReference: Enums.TimeReference;
|
|
607
|
+
timeUnits: Enums.TimeDisplayUnits;
|
|
608
|
+
homepageStream: Enums.HomepageStreamType;
|
|
609
|
+
disableThemes: boolean;
|
|
610
|
+
csrfToken: string;
|
|
611
|
+
networkToken?: string;
|
|
612
|
+
gameList: Game[];
|
|
613
|
+
gameFollowerList: GameFollower[];
|
|
614
|
+
gameModeratorList: GameModerator[];
|
|
615
|
+
gameRunnerList: GameRunner[];
|
|
616
|
+
seriesList: Series[];
|
|
617
|
+
seriesModeratorList: SeriesModerator[];
|
|
618
|
+
boostAvailableTokens?: number;
|
|
619
|
+
boostNextTokenDate: number;
|
|
620
|
+
boostNextTokenAmount: number;
|
|
621
|
+
userFollowerList: UserFollower[];
|
|
622
|
+
enabledExperimentIds: string[];
|
|
623
|
+
challengeModeratorList: ChallengeModerator[];
|
|
624
624
|
}
|
|
625
625
|
export interface Conversation {
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
626
|
+
id: string;
|
|
627
|
+
participantUserIds: string[];
|
|
628
|
+
lastMessageId: string;
|
|
629
|
+
lastMessageUser: string;
|
|
630
|
+
lastMessageText: string;
|
|
631
|
+
lastMessageDate: number;
|
|
632
|
+
readDate: number;
|
|
633
633
|
}
|
|
634
634
|
export interface ConversationLightweight {
|
|
635
|
-
|
|
635
|
+
id: string;
|
|
636
636
|
/**TODO check if empty */
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
637
|
+
participantUserIds: string[];
|
|
638
|
+
lastMessageId: string;
|
|
639
|
+
lastMessageDate: number;
|
|
640
640
|
}
|
|
641
641
|
export interface ConversationParticipant {
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
642
|
+
conversationId: string;
|
|
643
|
+
userId: string;
|
|
644
|
+
joinedDate: number;
|
|
645
645
|
/**TODO check if optional*/
|
|
646
|
-
|
|
646
|
+
leftDate: number;
|
|
647
647
|
}
|
|
648
648
|
export interface ConversationMessage {
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
649
|
+
id: string;
|
|
650
|
+
conversationId: string;
|
|
651
|
+
userId: string;
|
|
652
|
+
text: string;
|
|
653
|
+
date: number;
|
|
654
654
|
}
|
|
655
655
|
export interface SystemMessage {
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
656
|
+
id: string;
|
|
657
|
+
userId: string;
|
|
658
|
+
text: string;
|
|
659
|
+
date: number;
|
|
660
|
+
read: boolean;
|
|
661
661
|
}
|
|
662
662
|
/**
|
|
663
663
|
* The basic data of a game.
|
|
@@ -666,106 +666,106 @@ export interface Game {
|
|
|
666
666
|
/**
|
|
667
667
|
* ID of the game.
|
|
668
668
|
*/
|
|
669
|
-
|
|
669
|
+
id: string;
|
|
670
670
|
/**
|
|
671
671
|
* Name of the game.
|
|
672
672
|
*/
|
|
673
|
-
|
|
673
|
+
name: string;
|
|
674
674
|
/**
|
|
675
675
|
* Page URL of the game.
|
|
676
676
|
*/
|
|
677
|
-
|
|
677
|
+
url: string;
|
|
678
678
|
/**
|
|
679
679
|
* Unused enum that is always `1`. todo check if gameType is this
|
|
680
680
|
*/
|
|
681
|
-
|
|
681
|
+
type: 1;
|
|
682
682
|
/**
|
|
683
683
|
* Whether or not a game has Load Removed Time (LRT) as a timing method.
|
|
684
684
|
*/
|
|
685
|
-
|
|
685
|
+
loadtimes: boolean;
|
|
686
686
|
/**
|
|
687
687
|
* Whether or not the game supports entering milliseconds when entering a time into a run.
|
|
688
688
|
*/
|
|
689
|
-
|
|
689
|
+
milliseconds: boolean;
|
|
690
690
|
/**
|
|
691
691
|
* Whether or not a game has In Game Time (IGT) as a timing method.
|
|
692
692
|
*/
|
|
693
|
-
|
|
693
|
+
igt: boolean;
|
|
694
694
|
/**
|
|
695
695
|
* Whether or not runs require moderators to verify them.
|
|
696
696
|
*/
|
|
697
|
-
|
|
697
|
+
verification: boolean;
|
|
698
698
|
/**
|
|
699
699
|
* Whether or not the default option for 'Automatically Verify Run' is true.
|
|
700
700
|
*/
|
|
701
|
-
|
|
701
|
+
autoVerify?: boolean;
|
|
702
702
|
/**
|
|
703
703
|
* Whether or not videos are required for submission.
|
|
704
704
|
*/
|
|
705
|
-
|
|
705
|
+
requireVideo: boolean;
|
|
706
706
|
/**
|
|
707
707
|
* Emulator allowability in a game.
|
|
708
708
|
*/
|
|
709
|
-
|
|
709
|
+
emulator: Enums.EmulatorType;
|
|
710
710
|
/**
|
|
711
711
|
* Default timing method of the game.
|
|
712
712
|
*/
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
713
|
+
defaultTimer: Enums.TimingMethod;
|
|
714
|
+
validTimers: Enums.TimingMethod[];
|
|
715
|
+
releaseDate?: number;
|
|
716
|
+
addedDate: number;
|
|
717
|
+
touchDate: number;
|
|
718
|
+
baseGameId?: string;
|
|
719
|
+
coverPath?: string;
|
|
720
|
+
trophy1stPath?: string;
|
|
721
|
+
trophy2ndPath?: string;
|
|
722
|
+
trophy3rdPath?: string;
|
|
723
|
+
trophy4thPath?: string;
|
|
724
|
+
runCommentsMode: Enums.ItemPermissionType;
|
|
725
|
+
runCount: number;
|
|
726
|
+
activePlayerCount: number;
|
|
727
|
+
totalPlayerCount: number;
|
|
728
|
+
boostReceivedCount: number;
|
|
729
|
+
boostDistinctDonorsCount: number;
|
|
730
|
+
rules?: string;
|
|
731
|
+
viewPowerLevel: Enums.SitePowerLevel;
|
|
732
|
+
platformIds: string[];
|
|
733
|
+
regionIds: string[];
|
|
734
|
+
gameTypeIds: Enums.GameType[];
|
|
735
|
+
websiteUrl?: string;
|
|
736
|
+
discordUrl?: string;
|
|
737
|
+
defaultView: Enums.DefaultViewType;
|
|
738
|
+
guidePermissionType: Enums.ItemPermissionType;
|
|
739
|
+
resourcePermissionType: Enums.ItemPermissionType;
|
|
740
|
+
staticAssets: StaticAsset[];
|
|
741
|
+
embargoDate?: number;
|
|
742
|
+
embargoText?: string;
|
|
743
743
|
}
|
|
744
744
|
export interface GameStats {
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
745
|
+
gameId: string;
|
|
746
|
+
totalRuns: number;
|
|
747
|
+
totalRunsFG: number;
|
|
748
|
+
totalRunsIL: number;
|
|
749
|
+
totalRunTime: number;
|
|
750
|
+
recentRuns: number;
|
|
751
|
+
recentRunsFG: number;
|
|
752
|
+
recentRunsIL: number;
|
|
753
|
+
totalPlayers: number;
|
|
754
|
+
activePlayers: number;
|
|
755
|
+
followers: number;
|
|
756
|
+
guides: number;
|
|
757
|
+
resources: number;
|
|
758
758
|
}
|
|
759
759
|
export interface GameNews {
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
760
|
+
id: string;
|
|
761
|
+
gameId: string;
|
|
762
|
+
userId: string;
|
|
763
|
+
title: string;
|
|
764
764
|
/**
|
|
765
765
|
* Omitted for all but the first item in `GetGameSummary.newsList[]`.
|
|
766
766
|
*/
|
|
767
|
-
|
|
768
|
-
|
|
767
|
+
body?: string;
|
|
768
|
+
dateSubmitted: number;
|
|
769
769
|
}
|
|
770
770
|
export interface GameModerator {
|
|
771
771
|
gameId: string;
|
|
@@ -773,24 +773,24 @@ export interface GameModerator {
|
|
|
773
773
|
level: Enums.GamePowerLevel;
|
|
774
774
|
}
|
|
775
775
|
export interface GameBoost {
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
776
|
+
id: string;
|
|
777
|
+
createdAt: number;
|
|
778
|
+
updatedAt: number;
|
|
779
|
+
gameId: string;
|
|
780
|
+
donorUserId: string;
|
|
781
|
+
anonymous: boolean;
|
|
782
|
+
recipientUserIds: [];
|
|
783
783
|
}
|
|
784
784
|
export interface GameTypeDetails {
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
785
|
+
id: Enums.GameType;
|
|
786
|
+
name: string;
|
|
787
|
+
url: string;
|
|
788
|
+
description: string;
|
|
789
|
+
allowBaseGame: boolean;
|
|
790
790
|
}
|
|
791
791
|
/**TODO: Check for optional properties*/
|
|
792
792
|
export interface GameSettings {
|
|
793
|
-
|
|
793
|
+
id: string;
|
|
794
794
|
name: string;
|
|
795
795
|
url: string;
|
|
796
796
|
twitchName: string;
|
|
@@ -827,58 +827,58 @@ export interface GameSettings {
|
|
|
827
827
|
staticAssetUpdates: StaticAssetUpdate[];
|
|
828
828
|
}
|
|
829
829
|
export interface GameModerationStats {
|
|
830
|
-
|
|
830
|
+
gameId: string;
|
|
831
831
|
/**enum? appears to always be 0*/
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
832
|
+
state: number;
|
|
833
|
+
count: number;
|
|
834
|
+
minDate?: number;
|
|
835
|
+
maxDate?: number;
|
|
836
836
|
}
|
|
837
837
|
export interface GameFollower {
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
838
|
+
gameId: string;
|
|
839
|
+
followerId: string;
|
|
840
|
+
pos?: number;
|
|
841
|
+
accessCount: number;
|
|
842
|
+
lastAccessDate: number;
|
|
843
843
|
}
|
|
844
844
|
export interface GameRunner {
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
845
|
+
gameId: string;
|
|
846
|
+
userId: string;
|
|
847
|
+
runCount: number;
|
|
848
848
|
}
|
|
849
849
|
export interface NewLevel {
|
|
850
|
-
|
|
850
|
+
gameId: string;
|
|
851
851
|
name: string;
|
|
852
852
|
rules?: string;
|
|
853
853
|
archived: boolean;
|
|
854
854
|
}
|
|
855
855
|
export interface Level extends NewLevel {
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
856
|
+
id: string;
|
|
857
|
+
url: string;
|
|
858
|
+
pos: number;
|
|
859
859
|
}
|
|
860
860
|
export interface Notification {
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
861
|
+
id: string;
|
|
862
|
+
date: number;
|
|
863
|
+
title: string;
|
|
864
|
+
path: string;
|
|
865
|
+
read: boolean;
|
|
866
866
|
}
|
|
867
867
|
export interface NotificationSetting {
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
868
|
+
type: number;
|
|
869
|
+
gameId?: string;
|
|
870
|
+
site: boolean;
|
|
871
|
+
email: boolean;
|
|
872
872
|
}
|
|
873
873
|
/**A different type of notification are returned by `GetStaticData` than in other areas.*/
|
|
874
874
|
export interface NotificationSettingStaticData {
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
875
|
+
id: number;
|
|
876
|
+
group: string;
|
|
877
|
+
title: string;
|
|
878
|
+
pos: number;
|
|
879
|
+
gameSpecific: boolean;
|
|
880
|
+
siteDefault: number;
|
|
881
|
+
emailDefault: boolean;
|
|
882
882
|
}
|
|
883
883
|
export interface GameOrderGroup {
|
|
884
884
|
id: string;
|
|
@@ -889,100 +889,100 @@ export interface GameOrderGroup {
|
|
|
889
889
|
editing?: boolean;
|
|
890
890
|
}
|
|
891
891
|
export interface GameOrdering {
|
|
892
|
-
|
|
893
|
-
|
|
892
|
+
defaultGroups: GameOrderGroup[];
|
|
893
|
+
supporterGroups: GameOrderGroup[];
|
|
894
894
|
}
|
|
895
895
|
interface Run_Base {
|
|
896
896
|
/**
|
|
897
897
|
* Unique identification characters of a run.
|
|
898
898
|
*/
|
|
899
|
-
|
|
899
|
+
id: string;
|
|
900
900
|
/**
|
|
901
901
|
* Unique identification characters of the run's game.
|
|
902
902
|
*/
|
|
903
|
-
|
|
903
|
+
gameId: string;
|
|
904
904
|
/**
|
|
905
905
|
* Timing of the run, in seconds. If the run has an *LRT* (Load Removed Time) **and** an *RTA* (Real Time Attack) time, this property will be the LRT. If there is an RTA and not an LRT, this will be the RTA.
|
|
906
906
|
*/
|
|
907
|
-
|
|
907
|
+
time?: number;
|
|
908
908
|
/**
|
|
909
909
|
* Timing of the run, in seconds. If the run has an *LRT* (Load Removed Time) **and** an *RTA* (Real Time Attack) time, this property will be the RTA. If there is an LRT and not an RTA, this will be the LRT.
|
|
910
910
|
*/
|
|
911
|
-
|
|
911
|
+
timeWithLoads?: number;
|
|
912
912
|
/**
|
|
913
913
|
* In Game Time* of the run, in seconds.
|
|
914
914
|
*/
|
|
915
|
-
|
|
915
|
+
igt?: number;
|
|
916
916
|
/**
|
|
917
917
|
* Unique identification characters of a platform. Platforms can be accessed with `GetPlatformList`.
|
|
918
918
|
*/
|
|
919
|
-
|
|
919
|
+
platformId?: string;
|
|
920
920
|
/**
|
|
921
921
|
* Whether or not an emulator was used in the run.
|
|
922
922
|
*/
|
|
923
|
-
|
|
923
|
+
emulator: boolean;
|
|
924
924
|
/**
|
|
925
925
|
* Unique identification characters of a region. Found in older games that vary based on regions.
|
|
926
926
|
*/
|
|
927
|
-
|
|
927
|
+
regionId?: string;
|
|
928
928
|
/**
|
|
929
929
|
* Everything in the 'Video URL' box.
|
|
930
930
|
*/
|
|
931
|
-
|
|
931
|
+
video?: string;
|
|
932
932
|
/**
|
|
933
933
|
* Description of a run.
|
|
934
934
|
*/
|
|
935
|
-
|
|
935
|
+
comment?: string;
|
|
936
936
|
/**
|
|
937
937
|
* Unique user identification of the run submitter. Absent if the submitter is deleted.
|
|
938
938
|
*/
|
|
939
|
-
|
|
939
|
+
submittedById?: string;
|
|
940
940
|
/**
|
|
941
941
|
* A run's verification status.
|
|
942
942
|
*/
|
|
943
|
-
|
|
943
|
+
verified: Enums.RunStatus;
|
|
944
944
|
/**
|
|
945
945
|
* Unique user identification characters of the run resolver.
|
|
946
946
|
*
|
|
947
947
|
* Absent if the resolver is deleted.
|
|
948
948
|
*/
|
|
949
|
-
|
|
949
|
+
verifiedById?: string;
|
|
950
950
|
/**
|
|
951
951
|
* Run rejection reason if it was rejected.
|
|
952
952
|
*/
|
|
953
|
-
|
|
953
|
+
reason?: string;
|
|
954
954
|
/**
|
|
955
955
|
* UNIX timestamp of a run's (changeable) date.
|
|
956
956
|
*/
|
|
957
|
-
|
|
957
|
+
date: number;
|
|
958
958
|
/**
|
|
959
959
|
* UNIX timestamp of when the run was submitted.
|
|
960
960
|
*/
|
|
961
|
-
|
|
961
|
+
dateSubmitted?: number;
|
|
962
962
|
/**
|
|
963
963
|
* UNIX timestamp of when the run was resolved.
|
|
964
964
|
*/
|
|
965
|
-
|
|
965
|
+
dateVerified?: number;
|
|
966
966
|
/**
|
|
967
967
|
* Whether the run is obsolete or not - absent when false.
|
|
968
968
|
*/
|
|
969
|
-
|
|
969
|
+
obsolete?: boolean;
|
|
970
970
|
/**
|
|
971
971
|
* Leaderboard rank of the run. Absent when obsolete.
|
|
972
972
|
*/
|
|
973
|
-
|
|
973
|
+
place?: number;
|
|
974
974
|
/**
|
|
975
975
|
* Unique identification characters of players in the run.
|
|
976
976
|
*/
|
|
977
|
-
|
|
977
|
+
playerIds: string[];
|
|
978
978
|
/**
|
|
979
979
|
* Unused property that used to store reports of bad data for a run.
|
|
980
980
|
*/
|
|
981
|
-
|
|
981
|
+
issues: null;
|
|
982
982
|
/**
|
|
983
983
|
* Availibility and 'status' of the video of a run.
|
|
984
984
|
*/
|
|
985
|
-
|
|
985
|
+
videoState: Enums.VideoState;
|
|
986
986
|
}
|
|
987
987
|
/**
|
|
988
988
|
* A game speedrun's public data.
|
|
@@ -991,30 +991,30 @@ export interface GameRun extends Run_Base {
|
|
|
991
991
|
/**
|
|
992
992
|
* Unique identification characters of the run's category.
|
|
993
993
|
*/
|
|
994
|
-
|
|
994
|
+
categoryId: string;
|
|
995
995
|
/**
|
|
996
996
|
* Unique identification characters of the run's level, if the run is on an individual level (IL).
|
|
997
997
|
*/
|
|
998
|
-
|
|
998
|
+
levelId?: string;
|
|
999
999
|
/**
|
|
1000
1000
|
* Whether the run has *splits.io* splits. Splits.io has been shut down; this is `false` on all new runs.
|
|
1001
1001
|
*/
|
|
1002
|
-
|
|
1002
|
+
hasSplits: boolean;
|
|
1003
1003
|
/**
|
|
1004
1004
|
* Unique identification characters of values (subcategories and annotations) in the run.
|
|
1005
1005
|
*/
|
|
1006
|
-
|
|
1006
|
+
valueIds: string[];
|
|
1007
1007
|
/**
|
|
1008
1008
|
* Whether or not the run's category or subcategories were archived - absent when false.
|
|
1009
1009
|
*/
|
|
1010
|
-
|
|
1010
|
+
orphaned?: boolean;
|
|
1011
1011
|
}
|
|
1012
1012
|
export interface ChallengeRun extends Run_Base {
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1013
|
+
challengeId: string;
|
|
1014
|
+
screened: boolean;
|
|
1015
|
+
screenedById?: string;
|
|
1016
|
+
dateScreened?: number;
|
|
1017
|
+
commentsCount: number;
|
|
1018
1018
|
}
|
|
1019
1019
|
export interface ModerationRun extends GameRun {
|
|
1020
1020
|
/**
|
|
@@ -1022,7 +1022,7 @@ export interface ModerationRun extends GameRun {
|
|
|
1022
1022
|
*
|
|
1023
1023
|
* Missing when false.
|
|
1024
1024
|
*/
|
|
1025
|
-
|
|
1025
|
+
estimated?: true;
|
|
1026
1026
|
}
|
|
1027
1027
|
export interface RunTime {
|
|
1028
1028
|
hour: number;
|
|
@@ -1034,7 +1034,7 @@ export interface RunSettings {
|
|
|
1034
1034
|
/**
|
|
1035
1035
|
* Omitted when submitting a new run.
|
|
1036
1036
|
*/
|
|
1037
|
-
|
|
1037
|
+
runId?: string;
|
|
1038
1038
|
gameId: string;
|
|
1039
1039
|
categoryId: string;
|
|
1040
1040
|
playerNames: string[];
|
|
@@ -1052,18 +1052,18 @@ export interface RunSettings {
|
|
|
1052
1052
|
values?: VariableValue[];
|
|
1053
1053
|
}
|
|
1054
1054
|
export interface Series {
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1055
|
+
id: string;
|
|
1056
|
+
name: string;
|
|
1057
|
+
url: string;
|
|
1058
|
+
addedDate: number;
|
|
1059
|
+
touchDate: number;
|
|
1060
|
+
websiteUrl?: string;
|
|
1061
|
+
discordUrl?: string;
|
|
1062
|
+
runCount: number;
|
|
1063
|
+
activePlayerCount: number;
|
|
1064
|
+
totalPlayerCount: number;
|
|
1065
|
+
officialGameCount: number;
|
|
1066
|
+
staticAssets: StaticAsset[];
|
|
1067
1067
|
}
|
|
1068
1068
|
export interface SeriesModerator {
|
|
1069
1069
|
seriesId: string;
|
|
@@ -1090,43 +1090,43 @@ export interface StaticAssetUpdate {
|
|
|
1090
1090
|
deleteContent?: boolean;
|
|
1091
1091
|
}
|
|
1092
1092
|
export interface SupporterCredit {
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1093
|
+
id: string;
|
|
1094
|
+
userId: string;
|
|
1095
|
+
providerId: number;
|
|
1096
|
+
createdAt: number;
|
|
1097
|
+
updatedAt: number;
|
|
1098
|
+
creditType: number;
|
|
1099
|
+
amount: number;
|
|
1100
|
+
currency: string;
|
|
1101
|
+
receivedAt: number;
|
|
1102
|
+
subscriptionId: string;
|
|
1103
|
+
periodStartsAt: number;
|
|
1104
|
+
periodEndsAt: number;
|
|
1105
|
+
providerItemId: string;
|
|
1106
1106
|
}
|
|
1107
1107
|
export interface SupporterCode {
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1108
|
+
id: string;
|
|
1109
|
+
code: string;
|
|
1110
|
+
description: string;
|
|
1111
|
+
duration: number;
|
|
1112
|
+
userId: string;
|
|
1113
|
+
createdAt: number;
|
|
1114
|
+
updatedAt: number;
|
|
1115
1115
|
}
|
|
1116
1116
|
export interface SupporterSubscription {
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1117
|
+
id: string;
|
|
1118
|
+
userId: string;
|
|
1119
|
+
providerId: number;
|
|
1120
|
+
createdAt: number;
|
|
1121
|
+
updatedAt: number;
|
|
1122
|
+
expiresAt: number;
|
|
1123
|
+
planId: number;
|
|
1124
|
+
nextPeriodPlanId: number;
|
|
1125
|
+
status: number;
|
|
1126
1126
|
/**Default 0, undocumented but assume timestamp otherwise TODO*/
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1127
|
+
trialEndsAt: number;
|
|
1128
|
+
cancelAtPeriodEnd: boolean;
|
|
1129
|
+
canceledAt: number;
|
|
1130
1130
|
}
|
|
1131
1131
|
export interface Theme {
|
|
1132
1132
|
id: string;
|