@globalscoutme/api-client 1.0.6 → 1.0.9
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/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/sdk.gen.d.ts +8 -2
- package/dist/sdk.gen.js +19 -1
- package/dist/types.gen.d.ts +224 -242
- package/index.ts +15 -0
- package/package.json +1 -1
- package/sdk.gen.ts +43 -2
- package/types.gen.ts +246 -242
package/types.gen.ts
CHANGED
|
@@ -4,6 +4,17 @@ export type ClientOptions = {
|
|
|
4
4
|
baseUrl: string;
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
+
export type AuthMeResponseDto = {
|
|
8
|
+
/**
|
|
9
|
+
* Supabase auth user id (JWT sub)
|
|
10
|
+
*/
|
|
11
|
+
id: string;
|
|
12
|
+
/**
|
|
13
|
+
* user_types.code the user is registered as (e.g. "player", "coach", "club_admin", "scouter"). Null when not yet set.
|
|
14
|
+
*/
|
|
15
|
+
userType?: string | null;
|
|
16
|
+
};
|
|
17
|
+
|
|
7
18
|
export type PlayerResponseDto = {
|
|
8
19
|
/**
|
|
9
20
|
* Internal user_data id (UUID)
|
|
@@ -16,33 +27,23 @@ export type PlayerResponseDto = {
|
|
|
16
27
|
/**
|
|
17
28
|
* First name
|
|
18
29
|
*/
|
|
19
|
-
firstName?:
|
|
20
|
-
[key: string]: unknown;
|
|
21
|
-
};
|
|
30
|
+
firstName?: string | null;
|
|
22
31
|
/**
|
|
23
32
|
* Last name
|
|
24
33
|
*/
|
|
25
|
-
lastName?:
|
|
26
|
-
[key: string]: unknown;
|
|
27
|
-
};
|
|
34
|
+
lastName?: string | null;
|
|
28
35
|
/**
|
|
29
36
|
* Date of birth
|
|
30
37
|
*/
|
|
31
|
-
dateOfBirth?:
|
|
32
|
-
[key: string]: unknown;
|
|
33
|
-
};
|
|
38
|
+
dateOfBirth?: string | null;
|
|
34
39
|
/**
|
|
35
40
|
* Registration step code
|
|
36
41
|
*/
|
|
37
|
-
registrationStep?:
|
|
38
|
-
[key: string]: unknown;
|
|
39
|
-
};
|
|
42
|
+
registrationStep?: string | null;
|
|
40
43
|
/**
|
|
41
44
|
* User type code (player / scout / coach)
|
|
42
45
|
*/
|
|
43
|
-
userType?:
|
|
44
|
-
[key: string]: unknown;
|
|
45
|
-
};
|
|
46
|
+
userType?: string | null;
|
|
46
47
|
/**
|
|
47
48
|
* KYC verified flag
|
|
48
49
|
*/
|
|
@@ -50,42 +51,30 @@ export type PlayerResponseDto = {
|
|
|
50
51
|
/**
|
|
51
52
|
* Avatar URL
|
|
52
53
|
*/
|
|
53
|
-
avatarUrl?:
|
|
54
|
-
[key: string]: unknown;
|
|
55
|
-
};
|
|
54
|
+
avatarUrl?: string | null;
|
|
56
55
|
/**
|
|
57
56
|
* Created at
|
|
58
57
|
*/
|
|
59
|
-
createdAt?:
|
|
60
|
-
[key: string]: unknown;
|
|
61
|
-
};
|
|
58
|
+
createdAt?: string | null;
|
|
62
59
|
/**
|
|
63
60
|
* Updated at
|
|
64
61
|
*/
|
|
65
|
-
updatedAt?:
|
|
66
|
-
[key: string]: unknown;
|
|
67
|
-
};
|
|
62
|
+
updatedAt?: string | null;
|
|
68
63
|
};
|
|
69
64
|
|
|
70
65
|
export type DashboardResponseDto = {
|
|
71
66
|
/**
|
|
72
67
|
* First name
|
|
73
68
|
*/
|
|
74
|
-
firstName?:
|
|
75
|
-
[key: string]: unknown;
|
|
76
|
-
};
|
|
69
|
+
firstName?: string | null;
|
|
77
70
|
/**
|
|
78
71
|
* Last name
|
|
79
72
|
*/
|
|
80
|
-
lastName?:
|
|
81
|
-
[key: string]: unknown;
|
|
82
|
-
};
|
|
73
|
+
lastName?: string | null;
|
|
83
74
|
/**
|
|
84
75
|
* Avatar URL
|
|
85
76
|
*/
|
|
86
|
-
avatarUrl?:
|
|
87
|
-
[key: string]: unknown;
|
|
88
|
-
};
|
|
77
|
+
avatarUrl?: string | null;
|
|
89
78
|
/**
|
|
90
79
|
* Profile completion 0–100
|
|
91
80
|
*/
|
|
@@ -122,9 +111,15 @@ export type DashboardResponseDto = {
|
|
|
122
111
|
|
|
123
112
|
export type UpdatePlayerDto = {
|
|
124
113
|
/**
|
|
125
|
-
* Registration step code
|
|
114
|
+
* Registration step code (Part C onboarding).
|
|
126
115
|
*/
|
|
127
|
-
registrationStep?:
|
|
116
|
+
registrationStep?:
|
|
117
|
+
| 'signup'
|
|
118
|
+
| 'kyc_pending'
|
|
119
|
+
| 'kyc_submitted'
|
|
120
|
+
| 'profile_filling'
|
|
121
|
+
| 'ai_measurements'
|
|
122
|
+
| 'complete';
|
|
128
123
|
/**
|
|
129
124
|
* First name
|
|
130
125
|
*/
|
|
@@ -136,9 +131,7 @@ export type UpdatePlayerDto = {
|
|
|
136
131
|
/**
|
|
137
132
|
* Date of birth (ISO 8601 date)
|
|
138
133
|
*/
|
|
139
|
-
dateOfBirth?:
|
|
140
|
-
[key: string]: unknown;
|
|
141
|
-
};
|
|
134
|
+
dateOfBirth?: string | null;
|
|
142
135
|
/**
|
|
143
136
|
* User type code
|
|
144
137
|
*/
|
|
@@ -195,93 +188,63 @@ export type ProfileResponseDto = {
|
|
|
195
188
|
/**
|
|
196
189
|
* First name
|
|
197
190
|
*/
|
|
198
|
-
firstName?:
|
|
199
|
-
[key: string]: unknown;
|
|
200
|
-
};
|
|
191
|
+
firstName?: string | null;
|
|
201
192
|
/**
|
|
202
193
|
* Last name
|
|
203
194
|
*/
|
|
204
|
-
lastName?:
|
|
205
|
-
[key: string]: unknown;
|
|
206
|
-
};
|
|
195
|
+
lastName?: string | null;
|
|
207
196
|
/**
|
|
208
197
|
* Date of birth
|
|
209
198
|
*/
|
|
210
|
-
dateOfBirth?:
|
|
211
|
-
[key: string]: unknown;
|
|
212
|
-
};
|
|
199
|
+
dateOfBirth?: string | null;
|
|
213
200
|
/**
|
|
214
201
|
* Phone number
|
|
215
202
|
*/
|
|
216
|
-
phone?:
|
|
217
|
-
[key: string]: unknown;
|
|
218
|
-
};
|
|
203
|
+
phone?: string | null;
|
|
219
204
|
/**
|
|
220
205
|
* Country of residence (2-letter code)
|
|
221
206
|
*/
|
|
222
|
-
country?:
|
|
223
|
-
[key: string]: unknown;
|
|
224
|
-
};
|
|
207
|
+
country?: string | null;
|
|
225
208
|
/**
|
|
226
209
|
* Nationality (2-letter code)
|
|
227
210
|
*/
|
|
228
|
-
nationality?:
|
|
229
|
-
[key: string]: unknown;
|
|
230
|
-
};
|
|
211
|
+
nationality?: string | null;
|
|
231
212
|
/**
|
|
232
213
|
* Gender code
|
|
233
214
|
*/
|
|
234
|
-
gender?:
|
|
235
|
-
[key: string]: unknown;
|
|
236
|
-
};
|
|
215
|
+
gender?: string | null;
|
|
237
216
|
/**
|
|
238
217
|
* City
|
|
239
218
|
*/
|
|
240
|
-
city?:
|
|
241
|
-
[key: string]: unknown;
|
|
242
|
-
};
|
|
219
|
+
city?: string | null;
|
|
243
220
|
/**
|
|
244
221
|
* Bio
|
|
245
222
|
*/
|
|
246
|
-
bio?:
|
|
247
|
-
[key: string]: unknown;
|
|
248
|
-
};
|
|
223
|
+
bio?: string | null;
|
|
249
224
|
/**
|
|
250
225
|
* Avatar URL
|
|
251
226
|
*/
|
|
252
|
-
avatarUrl?:
|
|
253
|
-
[key: string]: unknown;
|
|
254
|
-
};
|
|
227
|
+
avatarUrl?: string | null;
|
|
255
228
|
/**
|
|
256
229
|
* Cover image URL
|
|
257
230
|
*/
|
|
258
|
-
coverImageUrl?:
|
|
259
|
-
[key: string]: unknown;
|
|
260
|
-
};
|
|
231
|
+
coverImageUrl?: string | null;
|
|
261
232
|
/**
|
|
262
233
|
* Is free agent
|
|
263
234
|
*/
|
|
264
|
-
isFreeAgent?:
|
|
265
|
-
[key: string]: unknown;
|
|
266
|
-
};
|
|
235
|
+
isFreeAgent?: boolean | null;
|
|
267
236
|
/**
|
|
268
237
|
* Is EU visa holder
|
|
269
238
|
*/
|
|
270
|
-
isEuVisaHolder?:
|
|
271
|
-
[key: string]: unknown;
|
|
272
|
-
};
|
|
239
|
+
isEuVisaHolder?: boolean | null;
|
|
273
240
|
/**
|
|
274
241
|
* Visa expiration date
|
|
275
242
|
*/
|
|
276
|
-
visaExpirationDate?:
|
|
277
|
-
[key: string]: unknown;
|
|
278
|
-
};
|
|
243
|
+
visaExpirationDate?: string | null;
|
|
279
244
|
/**
|
|
280
245
|
* Marital status code
|
|
281
246
|
*/
|
|
282
|
-
maritalStatusCode?:
|
|
283
|
-
[key: string]: unknown;
|
|
284
|
-
};
|
|
247
|
+
maritalStatusCode?: string | null;
|
|
285
248
|
/**
|
|
286
249
|
* Languages spoken (codes)
|
|
287
250
|
*/
|
|
@@ -289,27 +252,23 @@ export type ProfileResponseDto = {
|
|
|
289
252
|
/**
|
|
290
253
|
* Preferred foot code
|
|
291
254
|
*/
|
|
292
|
-
preferredFoot?:
|
|
293
|
-
|
|
294
|
-
|
|
255
|
+
preferredFoot?: string | null;
|
|
256
|
+
/**
|
|
257
|
+
* Preferred formation code (e.g. "4-3-3")
|
|
258
|
+
*/
|
|
259
|
+
preferredFormation?: string | null;
|
|
295
260
|
/**
|
|
296
261
|
* Height in cm
|
|
297
262
|
*/
|
|
298
|
-
heightCm?:
|
|
299
|
-
[key: string]: unknown;
|
|
300
|
-
};
|
|
263
|
+
heightCm?: number | null;
|
|
301
264
|
/**
|
|
302
265
|
* Weight in kg
|
|
303
266
|
*/
|
|
304
|
-
weightKg?:
|
|
305
|
-
[key: string]: unknown;
|
|
306
|
-
};
|
|
267
|
+
weightKg?: number | null;
|
|
307
268
|
/**
|
|
308
269
|
* Current club name
|
|
309
270
|
*/
|
|
310
|
-
currentClub?:
|
|
311
|
-
[key: string]: unknown;
|
|
312
|
-
};
|
|
271
|
+
currentClub?: string | null;
|
|
313
272
|
/**
|
|
314
273
|
* Previous clubs
|
|
315
274
|
*/
|
|
@@ -317,9 +276,7 @@ export type ProfileResponseDto = {
|
|
|
317
276
|
/**
|
|
318
277
|
* Main position code (e.g. "ST")
|
|
319
278
|
*/
|
|
320
|
-
mainPosition?:
|
|
321
|
-
[key: string]: unknown;
|
|
322
|
-
};
|
|
279
|
+
mainPosition?: string | null;
|
|
323
280
|
/**
|
|
324
281
|
* Additional position codes (e.g. ["RW","LW"])
|
|
325
282
|
*/
|
|
@@ -331,39 +288,27 @@ export type ProfileResponseDto = {
|
|
|
331
288
|
/**
|
|
332
289
|
* Agency name
|
|
333
290
|
*/
|
|
334
|
-
agencyName?:
|
|
335
|
-
[key: string]: unknown;
|
|
336
|
-
};
|
|
291
|
+
agencyName?: string | null;
|
|
337
292
|
/**
|
|
338
293
|
* Agency website URL
|
|
339
294
|
*/
|
|
340
|
-
agencyWebsite?:
|
|
341
|
-
[key: string]: unknown;
|
|
342
|
-
};
|
|
295
|
+
agencyWebsite?: string | null;
|
|
343
296
|
/**
|
|
344
297
|
* Primary market region code
|
|
345
298
|
*/
|
|
346
|
-
primaryMarket?:
|
|
347
|
-
[key: string]: unknown;
|
|
348
|
-
};
|
|
299
|
+
primaryMarket?: string | null;
|
|
349
300
|
/**
|
|
350
301
|
* Players represented (e.g. "1-5", "6-10", "more_than_10")
|
|
351
302
|
*/
|
|
352
|
-
playersRepresented?:
|
|
353
|
-
[key: string]: unknown;
|
|
354
|
-
};
|
|
303
|
+
playersRepresented?: string | null;
|
|
355
304
|
/**
|
|
356
305
|
* About the agency
|
|
357
306
|
*/
|
|
358
|
-
aboutAgency?:
|
|
359
|
-
[key: string]: unknown;
|
|
360
|
-
};
|
|
307
|
+
aboutAgency?: string | null;
|
|
361
308
|
/**
|
|
362
309
|
* Updated at
|
|
363
310
|
*/
|
|
364
|
-
updatedAt?:
|
|
365
|
-
[key: string]: unknown;
|
|
366
|
-
};
|
|
311
|
+
updatedAt?: string | null;
|
|
367
312
|
};
|
|
368
313
|
|
|
369
314
|
export type UpdateProfileDto = {
|
|
@@ -404,13 +349,13 @@ export type UpdateProfileDto = {
|
|
|
404
349
|
*/
|
|
405
350
|
bio?: string;
|
|
406
351
|
/**
|
|
407
|
-
* Avatar URL
|
|
352
|
+
* Avatar URL, null to clear
|
|
408
353
|
*/
|
|
409
|
-
avatarUrl?: string;
|
|
354
|
+
avatarUrl?: string | null;
|
|
410
355
|
/**
|
|
411
|
-
* Cover image URL
|
|
356
|
+
* Cover image URL, null to clear
|
|
412
357
|
*/
|
|
413
|
-
coverImageUrl?: string;
|
|
358
|
+
coverImageUrl?: string | null;
|
|
414
359
|
/**
|
|
415
360
|
* Is free agent
|
|
416
361
|
*/
|
|
@@ -435,6 +380,10 @@ export type UpdateProfileDto = {
|
|
|
435
380
|
* Preferred foot code
|
|
436
381
|
*/
|
|
437
382
|
preferredFoot?: string;
|
|
383
|
+
/**
|
|
384
|
+
* Preferred formation code (e.g. "4-3-3"), null to clear
|
|
385
|
+
*/
|
|
386
|
+
preferredFormation?: string | null;
|
|
438
387
|
/**
|
|
439
388
|
* Height in cm
|
|
440
389
|
*/
|
|
@@ -454,9 +403,7 @@ export type UpdateProfileDto = {
|
|
|
454
403
|
/**
|
|
455
404
|
* Main position code (e.g. "ST"), null to clear
|
|
456
405
|
*/
|
|
457
|
-
mainPosition?:
|
|
458
|
-
[key: string]: unknown;
|
|
459
|
-
};
|
|
406
|
+
mainPosition?: string | null;
|
|
460
407
|
/**
|
|
461
408
|
* Additional position codes (e.g. ["RW","LW"]), empty array to clear
|
|
462
409
|
*/
|
|
@@ -491,69 +438,35 @@ export type AchievementCatalogDto = {
|
|
|
491
438
|
id: string;
|
|
492
439
|
code: string;
|
|
493
440
|
name: string;
|
|
494
|
-
description?:
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
pointsAwarded?: {
|
|
501
|
-
[key: string]: unknown;
|
|
502
|
-
};
|
|
503
|
-
category?: {
|
|
504
|
-
[key: string]: unknown;
|
|
505
|
-
};
|
|
506
|
-
rarity?: {
|
|
507
|
-
[key: string]: unknown;
|
|
508
|
-
};
|
|
509
|
-
isActive?: {
|
|
510
|
-
[key: string]: unknown;
|
|
511
|
-
};
|
|
441
|
+
description?: string | null;
|
|
442
|
+
iconUrl?: string | null;
|
|
443
|
+
pointsAwarded?: number | null;
|
|
444
|
+
category?: string | null;
|
|
445
|
+
rarity?: string | null;
|
|
446
|
+
isActive?: boolean | null;
|
|
512
447
|
};
|
|
513
448
|
|
|
514
449
|
export type UserAchievementResponseDto = {
|
|
515
450
|
id: string;
|
|
516
451
|
userId: string;
|
|
517
452
|
achievementId: string;
|
|
518
|
-
earnedAt?:
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
progress?: {
|
|
522
|
-
[key: string]: unknown;
|
|
523
|
-
};
|
|
524
|
-
isCompleted?: {
|
|
525
|
-
[key: string]: unknown;
|
|
526
|
-
};
|
|
453
|
+
earnedAt?: string | null;
|
|
454
|
+
progress?: number | null;
|
|
455
|
+
isCompleted?: boolean | null;
|
|
527
456
|
achievement?: AchievementCatalogDto;
|
|
528
457
|
};
|
|
529
458
|
|
|
530
459
|
export type BodyMeasurementResponseDto = {
|
|
531
460
|
id: string;
|
|
532
461
|
userId: string;
|
|
533
|
-
measurementDate?:
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
};
|
|
542
|
-
chestCircumferenceCm?: {
|
|
543
|
-
[key: string]: unknown;
|
|
544
|
-
};
|
|
545
|
-
waistCircumferenceCm?: {
|
|
546
|
-
[key: string]: unknown;
|
|
547
|
-
};
|
|
548
|
-
hipCircumferenceCm?: {
|
|
549
|
-
[key: string]: unknown;
|
|
550
|
-
};
|
|
551
|
-
processingStatus?: {
|
|
552
|
-
[key: string]: unknown;
|
|
553
|
-
};
|
|
554
|
-
createdAt?: {
|
|
555
|
-
[key: string]: unknown;
|
|
556
|
-
};
|
|
462
|
+
measurementDate?: string | null;
|
|
463
|
+
imageUrl?: string | null;
|
|
464
|
+
shoulderWidthCm?: number | null;
|
|
465
|
+
chestCircumferenceCm?: number | null;
|
|
466
|
+
waistCircumferenceCm?: number | null;
|
|
467
|
+
hipCircumferenceCm?: number | null;
|
|
468
|
+
processingStatus?: string | null;
|
|
469
|
+
createdAt?: string | null;
|
|
557
470
|
};
|
|
558
471
|
|
|
559
472
|
export type CreateBodyMeasurementDto = {
|
|
@@ -566,21 +479,11 @@ export type CreateBodyMeasurementDto = {
|
|
|
566
479
|
export type DocumentResponseDto = {
|
|
567
480
|
id: string;
|
|
568
481
|
userId: string;
|
|
569
|
-
documentType?:
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
};
|
|
575
|
-
filePath?: {
|
|
576
|
-
[key: string]: unknown;
|
|
577
|
-
};
|
|
578
|
-
status?: {
|
|
579
|
-
[key: string]: unknown;
|
|
580
|
-
};
|
|
581
|
-
uploadedAt?: {
|
|
582
|
-
[key: string]: unknown;
|
|
583
|
-
};
|
|
482
|
+
documentType?: string | null;
|
|
483
|
+
fileUrl?: string | null;
|
|
484
|
+
filePath?: string | null;
|
|
485
|
+
status?: string | null;
|
|
486
|
+
uploadedAt?: string | null;
|
|
584
487
|
};
|
|
585
488
|
|
|
586
489
|
export type CreateDocumentDto = {
|
|
@@ -599,7 +502,7 @@ export type CreateDocumentDto = {
|
|
|
599
502
|
/**
|
|
600
503
|
* KYC verification id this document belongs to
|
|
601
504
|
*/
|
|
602
|
-
kycVerificationId
|
|
505
|
+
kycVerificationId?: string;
|
|
603
506
|
};
|
|
604
507
|
|
|
605
508
|
export type IndexItemDto = {
|
|
@@ -679,57 +582,39 @@ export type OrganizationResponseDto = {
|
|
|
679
582
|
/**
|
|
680
583
|
* Country code
|
|
681
584
|
*/
|
|
682
|
-
country?:
|
|
683
|
-
[key: string]: unknown;
|
|
684
|
-
};
|
|
585
|
+
country?: string | null;
|
|
685
586
|
/**
|
|
686
587
|
* League tier code
|
|
687
588
|
*/
|
|
688
|
-
leagueTier?:
|
|
689
|
-
[key: string]: unknown;
|
|
690
|
-
};
|
|
589
|
+
leagueTier?: string | null;
|
|
691
590
|
/**
|
|
692
591
|
* FIFA club category code
|
|
693
592
|
*/
|
|
694
|
-
fifaCategory?:
|
|
695
|
-
[key: string]: unknown;
|
|
696
|
-
};
|
|
593
|
+
fifaCategory?: string | null;
|
|
697
594
|
/**
|
|
698
595
|
* Stadium name
|
|
699
596
|
*/
|
|
700
|
-
stadiumName?:
|
|
701
|
-
[key: string]: unknown;
|
|
702
|
-
};
|
|
597
|
+
stadiumName?: string | null;
|
|
703
598
|
/**
|
|
704
599
|
* Official club email
|
|
705
600
|
*/
|
|
706
|
-
email?:
|
|
707
|
-
[key: string]: unknown;
|
|
708
|
-
};
|
|
601
|
+
email?: string | null;
|
|
709
602
|
/**
|
|
710
603
|
* Official website
|
|
711
604
|
*/
|
|
712
|
-
website?:
|
|
713
|
-
[key: string]: unknown;
|
|
714
|
-
};
|
|
605
|
+
website?: string | null;
|
|
715
606
|
/**
|
|
716
607
|
* Club description
|
|
717
608
|
*/
|
|
718
|
-
description?:
|
|
719
|
-
[key: string]: unknown;
|
|
720
|
-
};
|
|
609
|
+
description?: string | null;
|
|
721
610
|
/**
|
|
722
611
|
* Phone
|
|
723
612
|
*/
|
|
724
|
-
phone?:
|
|
725
|
-
[key: string]: unknown;
|
|
726
|
-
};
|
|
613
|
+
phone?: string | null;
|
|
727
614
|
/**
|
|
728
615
|
* Updated at
|
|
729
616
|
*/
|
|
730
|
-
updatedAt?:
|
|
731
|
-
[key: string]: unknown;
|
|
732
|
-
};
|
|
617
|
+
updatedAt?: string | null;
|
|
733
618
|
};
|
|
734
619
|
|
|
735
620
|
export type UpdateOrganizationDto = {
|
|
@@ -771,46 +656,83 @@ export type UpdateOrganizationDto = {
|
|
|
771
656
|
phone?: string;
|
|
772
657
|
};
|
|
773
658
|
|
|
659
|
+
export type CreateUploadUrlDto = {
|
|
660
|
+
/**
|
|
661
|
+
* Target storage bucket
|
|
662
|
+
*/
|
|
663
|
+
bucket: 'videos' | 'avatars' | 'documents';
|
|
664
|
+
/**
|
|
665
|
+
* MIME type of the file being uploaded
|
|
666
|
+
*/
|
|
667
|
+
contentType: string;
|
|
668
|
+
/**
|
|
669
|
+
* Size of the file in bytes
|
|
670
|
+
*/
|
|
671
|
+
sizeBytes: number;
|
|
672
|
+
/**
|
|
673
|
+
* Optional filename hint (not used for path)
|
|
674
|
+
*/
|
|
675
|
+
filenameHint?: string;
|
|
676
|
+
};
|
|
677
|
+
|
|
678
|
+
export type UploadUrlResponseDto = {
|
|
679
|
+
/**
|
|
680
|
+
* Signed URL the client PUTs raw bytes to
|
|
681
|
+
*/
|
|
682
|
+
uploadUrl: string;
|
|
683
|
+
/**
|
|
684
|
+
* Signed-upload token (opaque)
|
|
685
|
+
*/
|
|
686
|
+
token: string;
|
|
687
|
+
/**
|
|
688
|
+
* Storage path (persist this as video_path / file_path)
|
|
689
|
+
*/
|
|
690
|
+
path: string;
|
|
691
|
+
/**
|
|
692
|
+
* Bucket the upload targets
|
|
693
|
+
*/
|
|
694
|
+
bucket: string;
|
|
695
|
+
/**
|
|
696
|
+
* URL validity window in seconds
|
|
697
|
+
*/
|
|
698
|
+
expiresIn: number;
|
|
699
|
+
};
|
|
700
|
+
|
|
774
701
|
export type VideoResponseDto = {
|
|
775
702
|
id: string;
|
|
776
703
|
userId: string;
|
|
777
704
|
title: string;
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
processingStatus?: {
|
|
789
|
-
[key: string]: unknown;
|
|
790
|
-
};
|
|
791
|
-
isPublic?: {
|
|
792
|
-
[key: string]: unknown;
|
|
793
|
-
};
|
|
794
|
-
uploadDate?: {
|
|
795
|
-
[key: string]: unknown;
|
|
796
|
-
};
|
|
705
|
+
/**
|
|
706
|
+
* Signed URL for the thumbnail image, valid for ~1 hour. Null if no thumbnail was uploaded.
|
|
707
|
+
*/
|
|
708
|
+
thumbnailUrl?: string | null;
|
|
709
|
+
videoType?: string | null;
|
|
710
|
+
durationSeconds?: number | null;
|
|
711
|
+
uploadStatus?: string | null;
|
|
712
|
+
processingStatus?: string | null;
|
|
713
|
+
isPublic?: boolean | null;
|
|
714
|
+
uploadDate?: string | null;
|
|
797
715
|
};
|
|
798
716
|
|
|
799
717
|
export type CreateVideoDto = {
|
|
800
718
|
/**
|
|
801
|
-
*
|
|
719
|
+
* Storage path of the uploaded video file
|
|
802
720
|
*/
|
|
803
|
-
|
|
721
|
+
videoPath: string;
|
|
804
722
|
/**
|
|
805
|
-
*
|
|
723
|
+
* Legacy video URL. Ignored for new uploads — BE issues a signed play URL on demand via GET /videos/:id/play-url.
|
|
806
724
|
*/
|
|
807
|
-
|
|
725
|
+
videoUrl?: string;
|
|
726
|
+
/**
|
|
727
|
+
* Storage path of the thumbnail image (uploaded alongside the video)
|
|
728
|
+
*/
|
|
729
|
+
thumbnailPath?: string;
|
|
808
730
|
/**
|
|
809
731
|
* Title
|
|
810
732
|
*/
|
|
811
733
|
title: string;
|
|
812
734
|
/**
|
|
813
|
-
* Video type code (e.g. best_moment, cmj)
|
|
735
|
+
* Video type code (e.g. best_moment, cmj, highlight)
|
|
814
736
|
*/
|
|
815
737
|
videoType?: string;
|
|
816
738
|
/**
|
|
@@ -823,6 +745,17 @@ export type CreateVideoDto = {
|
|
|
823
745
|
isPublic?: boolean;
|
|
824
746
|
};
|
|
825
747
|
|
|
748
|
+
export type PlayUrlResponseDto = {
|
|
749
|
+
/**
|
|
750
|
+
* Short-lived signed URL for the video file
|
|
751
|
+
*/
|
|
752
|
+
url: string;
|
|
753
|
+
/**
|
|
754
|
+
* TTL of the signed URL in seconds
|
|
755
|
+
*/
|
|
756
|
+
expiresIn: number;
|
|
757
|
+
};
|
|
758
|
+
|
|
826
759
|
export type GetAuthMeData = {
|
|
827
760
|
body?: never;
|
|
828
761
|
path?: never;
|
|
@@ -830,10 +763,19 @@ export type GetAuthMeData = {
|
|
|
830
763
|
url: '/auth/me';
|
|
831
764
|
};
|
|
832
765
|
|
|
766
|
+
export type GetAuthMeErrors = {
|
|
767
|
+
/**
|
|
768
|
+
* Unauthorized
|
|
769
|
+
*/
|
|
770
|
+
401: unknown;
|
|
771
|
+
};
|
|
772
|
+
|
|
833
773
|
export type GetAuthMeResponses = {
|
|
834
|
-
200:
|
|
774
|
+
200: AuthMeResponseDto;
|
|
835
775
|
};
|
|
836
776
|
|
|
777
|
+
export type GetAuthMeResponse = GetAuthMeResponses[keyof GetAuthMeResponses];
|
|
778
|
+
|
|
837
779
|
export type DeletePlayersMeData = {
|
|
838
780
|
body?: never;
|
|
839
781
|
path?: never;
|
|
@@ -1210,6 +1152,38 @@ export type PutOrganizationsMeResponses = {
|
|
|
1210
1152
|
export type PutOrganizationsMeResponse =
|
|
1211
1153
|
PutOrganizationsMeResponses[keyof PutOrganizationsMeResponses];
|
|
1212
1154
|
|
|
1155
|
+
export type PostStorageUploadUrlData = {
|
|
1156
|
+
body: CreateUploadUrlDto;
|
|
1157
|
+
path?: never;
|
|
1158
|
+
query?: never;
|
|
1159
|
+
url: '/storage/upload-url';
|
|
1160
|
+
};
|
|
1161
|
+
|
|
1162
|
+
export type PostStorageUploadUrlErrors = {
|
|
1163
|
+
/**
|
|
1164
|
+
* Unknown bucket or disallowed MIME
|
|
1165
|
+
*/
|
|
1166
|
+
400: unknown;
|
|
1167
|
+
/**
|
|
1168
|
+
* Unauthorized
|
|
1169
|
+
*/
|
|
1170
|
+
401: unknown;
|
|
1171
|
+
/**
|
|
1172
|
+
* File too large for bucket
|
|
1173
|
+
*/
|
|
1174
|
+
413: unknown;
|
|
1175
|
+
};
|
|
1176
|
+
|
|
1177
|
+
export type PostStorageUploadUrlResponses = {
|
|
1178
|
+
/**
|
|
1179
|
+
* Signed upload URL issued
|
|
1180
|
+
*/
|
|
1181
|
+
201: UploadUrlResponseDto;
|
|
1182
|
+
};
|
|
1183
|
+
|
|
1184
|
+
export type PostStorageUploadUrlResponse =
|
|
1185
|
+
PostStorageUploadUrlResponses[keyof PostStorageUploadUrlResponses];
|
|
1186
|
+
|
|
1213
1187
|
export type GetVideosMeData = {
|
|
1214
1188
|
body?: never;
|
|
1215
1189
|
path?: never;
|
|
@@ -1263,6 +1237,36 @@ export type PostVideosResponses = {
|
|
|
1263
1237
|
|
|
1264
1238
|
export type PostVideosResponse = PostVideosResponses[keyof PostVideosResponses];
|
|
1265
1239
|
|
|
1240
|
+
export type GetVideosByIdPlayUrlData = {
|
|
1241
|
+
body?: never;
|
|
1242
|
+
path: {
|
|
1243
|
+
id: string;
|
|
1244
|
+
};
|
|
1245
|
+
query?: never;
|
|
1246
|
+
url: '/videos/{id}/play-url';
|
|
1247
|
+
};
|
|
1248
|
+
|
|
1249
|
+
export type GetVideosByIdPlayUrlErrors = {
|
|
1250
|
+
/**
|
|
1251
|
+
* Unauthorized
|
|
1252
|
+
*/
|
|
1253
|
+
401: unknown;
|
|
1254
|
+
/**
|
|
1255
|
+
* Video not found
|
|
1256
|
+
*/
|
|
1257
|
+
404: unknown;
|
|
1258
|
+
};
|
|
1259
|
+
|
|
1260
|
+
export type GetVideosByIdPlayUrlResponses = {
|
|
1261
|
+
/**
|
|
1262
|
+
* Short-lived signed URL for video playback
|
|
1263
|
+
*/
|
|
1264
|
+
200: PlayUrlResponseDto;
|
|
1265
|
+
};
|
|
1266
|
+
|
|
1267
|
+
export type GetVideosByIdPlayUrlResponse =
|
|
1268
|
+
GetVideosByIdPlayUrlResponses[keyof GetVideosByIdPlayUrlResponses];
|
|
1269
|
+
|
|
1266
1270
|
export type DeleteVideosByIdData = {
|
|
1267
1271
|
body?: never;
|
|
1268
1272
|
path: {
|