@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/dist/types.gen.d.ts
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
export type ClientOptions = {
|
|
2
2
|
baseUrl: string;
|
|
3
3
|
};
|
|
4
|
+
export type AuthMeResponseDto = {
|
|
5
|
+
/**
|
|
6
|
+
* Supabase auth user id (JWT sub)
|
|
7
|
+
*/
|
|
8
|
+
id: string;
|
|
9
|
+
/**
|
|
10
|
+
* user_types.code the user is registered as (e.g. "player", "coach", "club_admin", "scouter"). Null when not yet set.
|
|
11
|
+
*/
|
|
12
|
+
userType?: string | null;
|
|
13
|
+
};
|
|
4
14
|
export type PlayerResponseDto = {
|
|
5
15
|
/**
|
|
6
16
|
* Internal user_data id (UUID)
|
|
@@ -13,33 +23,23 @@ export type PlayerResponseDto = {
|
|
|
13
23
|
/**
|
|
14
24
|
* First name
|
|
15
25
|
*/
|
|
16
|
-
firstName?:
|
|
17
|
-
[key: string]: unknown;
|
|
18
|
-
};
|
|
26
|
+
firstName?: string | null;
|
|
19
27
|
/**
|
|
20
28
|
* Last name
|
|
21
29
|
*/
|
|
22
|
-
lastName?:
|
|
23
|
-
[key: string]: unknown;
|
|
24
|
-
};
|
|
30
|
+
lastName?: string | null;
|
|
25
31
|
/**
|
|
26
32
|
* Date of birth
|
|
27
33
|
*/
|
|
28
|
-
dateOfBirth?:
|
|
29
|
-
[key: string]: unknown;
|
|
30
|
-
};
|
|
34
|
+
dateOfBirth?: string | null;
|
|
31
35
|
/**
|
|
32
36
|
* Registration step code
|
|
33
37
|
*/
|
|
34
|
-
registrationStep?:
|
|
35
|
-
[key: string]: unknown;
|
|
36
|
-
};
|
|
38
|
+
registrationStep?: string | null;
|
|
37
39
|
/**
|
|
38
40
|
* User type code (player / scout / coach)
|
|
39
41
|
*/
|
|
40
|
-
userType?:
|
|
41
|
-
[key: string]: unknown;
|
|
42
|
-
};
|
|
42
|
+
userType?: string | null;
|
|
43
43
|
/**
|
|
44
44
|
* KYC verified flag
|
|
45
45
|
*/
|
|
@@ -47,41 +47,29 @@ export type PlayerResponseDto = {
|
|
|
47
47
|
/**
|
|
48
48
|
* Avatar URL
|
|
49
49
|
*/
|
|
50
|
-
avatarUrl?:
|
|
51
|
-
[key: string]: unknown;
|
|
52
|
-
};
|
|
50
|
+
avatarUrl?: string | null;
|
|
53
51
|
/**
|
|
54
52
|
* Created at
|
|
55
53
|
*/
|
|
56
|
-
createdAt?:
|
|
57
|
-
[key: string]: unknown;
|
|
58
|
-
};
|
|
54
|
+
createdAt?: string | null;
|
|
59
55
|
/**
|
|
60
56
|
* Updated at
|
|
61
57
|
*/
|
|
62
|
-
updatedAt?:
|
|
63
|
-
[key: string]: unknown;
|
|
64
|
-
};
|
|
58
|
+
updatedAt?: string | null;
|
|
65
59
|
};
|
|
66
60
|
export type DashboardResponseDto = {
|
|
67
61
|
/**
|
|
68
62
|
* First name
|
|
69
63
|
*/
|
|
70
|
-
firstName?:
|
|
71
|
-
[key: string]: unknown;
|
|
72
|
-
};
|
|
64
|
+
firstName?: string | null;
|
|
73
65
|
/**
|
|
74
66
|
* Last name
|
|
75
67
|
*/
|
|
76
|
-
lastName?:
|
|
77
|
-
[key: string]: unknown;
|
|
78
|
-
};
|
|
68
|
+
lastName?: string | null;
|
|
79
69
|
/**
|
|
80
70
|
* Avatar URL
|
|
81
71
|
*/
|
|
82
|
-
avatarUrl?:
|
|
83
|
-
[key: string]: unknown;
|
|
84
|
-
};
|
|
72
|
+
avatarUrl?: string | null;
|
|
85
73
|
/**
|
|
86
74
|
* Profile completion 0–100
|
|
87
75
|
*/
|
|
@@ -117,9 +105,9 @@ export type DashboardResponseDto = {
|
|
|
117
105
|
};
|
|
118
106
|
export type UpdatePlayerDto = {
|
|
119
107
|
/**
|
|
120
|
-
* Registration step code
|
|
108
|
+
* Registration step code (Part C onboarding).
|
|
121
109
|
*/
|
|
122
|
-
registrationStep?:
|
|
110
|
+
registrationStep?: 'signup' | 'kyc_pending' | 'kyc_submitted' | 'profile_filling' | 'ai_measurements' | 'complete';
|
|
123
111
|
/**
|
|
124
112
|
* First name
|
|
125
113
|
*/
|
|
@@ -131,9 +119,7 @@ export type UpdatePlayerDto = {
|
|
|
131
119
|
/**
|
|
132
120
|
* Date of birth (ISO 8601 date)
|
|
133
121
|
*/
|
|
134
|
-
dateOfBirth?:
|
|
135
|
-
[key: string]: unknown;
|
|
136
|
-
};
|
|
122
|
+
dateOfBirth?: string | null;
|
|
137
123
|
/**
|
|
138
124
|
* User type code
|
|
139
125
|
*/
|
|
@@ -187,93 +173,63 @@ export type ProfileResponseDto = {
|
|
|
187
173
|
/**
|
|
188
174
|
* First name
|
|
189
175
|
*/
|
|
190
|
-
firstName?:
|
|
191
|
-
[key: string]: unknown;
|
|
192
|
-
};
|
|
176
|
+
firstName?: string | null;
|
|
193
177
|
/**
|
|
194
178
|
* Last name
|
|
195
179
|
*/
|
|
196
|
-
lastName?:
|
|
197
|
-
[key: string]: unknown;
|
|
198
|
-
};
|
|
180
|
+
lastName?: string | null;
|
|
199
181
|
/**
|
|
200
182
|
* Date of birth
|
|
201
183
|
*/
|
|
202
|
-
dateOfBirth?:
|
|
203
|
-
[key: string]: unknown;
|
|
204
|
-
};
|
|
184
|
+
dateOfBirth?: string | null;
|
|
205
185
|
/**
|
|
206
186
|
* Phone number
|
|
207
187
|
*/
|
|
208
|
-
phone?:
|
|
209
|
-
[key: string]: unknown;
|
|
210
|
-
};
|
|
188
|
+
phone?: string | null;
|
|
211
189
|
/**
|
|
212
190
|
* Country of residence (2-letter code)
|
|
213
191
|
*/
|
|
214
|
-
country?:
|
|
215
|
-
[key: string]: unknown;
|
|
216
|
-
};
|
|
192
|
+
country?: string | null;
|
|
217
193
|
/**
|
|
218
194
|
* Nationality (2-letter code)
|
|
219
195
|
*/
|
|
220
|
-
nationality?:
|
|
221
|
-
[key: string]: unknown;
|
|
222
|
-
};
|
|
196
|
+
nationality?: string | null;
|
|
223
197
|
/**
|
|
224
198
|
* Gender code
|
|
225
199
|
*/
|
|
226
|
-
gender?:
|
|
227
|
-
[key: string]: unknown;
|
|
228
|
-
};
|
|
200
|
+
gender?: string | null;
|
|
229
201
|
/**
|
|
230
202
|
* City
|
|
231
203
|
*/
|
|
232
|
-
city?:
|
|
233
|
-
[key: string]: unknown;
|
|
234
|
-
};
|
|
204
|
+
city?: string | null;
|
|
235
205
|
/**
|
|
236
206
|
* Bio
|
|
237
207
|
*/
|
|
238
|
-
bio?:
|
|
239
|
-
[key: string]: unknown;
|
|
240
|
-
};
|
|
208
|
+
bio?: string | null;
|
|
241
209
|
/**
|
|
242
210
|
* Avatar URL
|
|
243
211
|
*/
|
|
244
|
-
avatarUrl?:
|
|
245
|
-
[key: string]: unknown;
|
|
246
|
-
};
|
|
212
|
+
avatarUrl?: string | null;
|
|
247
213
|
/**
|
|
248
214
|
* Cover image URL
|
|
249
215
|
*/
|
|
250
|
-
coverImageUrl?:
|
|
251
|
-
[key: string]: unknown;
|
|
252
|
-
};
|
|
216
|
+
coverImageUrl?: string | null;
|
|
253
217
|
/**
|
|
254
218
|
* Is free agent
|
|
255
219
|
*/
|
|
256
|
-
isFreeAgent?:
|
|
257
|
-
[key: string]: unknown;
|
|
258
|
-
};
|
|
220
|
+
isFreeAgent?: boolean | null;
|
|
259
221
|
/**
|
|
260
222
|
* Is EU visa holder
|
|
261
223
|
*/
|
|
262
|
-
isEuVisaHolder?:
|
|
263
|
-
[key: string]: unknown;
|
|
264
|
-
};
|
|
224
|
+
isEuVisaHolder?: boolean | null;
|
|
265
225
|
/**
|
|
266
226
|
* Visa expiration date
|
|
267
227
|
*/
|
|
268
|
-
visaExpirationDate?:
|
|
269
|
-
[key: string]: unknown;
|
|
270
|
-
};
|
|
228
|
+
visaExpirationDate?: string | null;
|
|
271
229
|
/**
|
|
272
230
|
* Marital status code
|
|
273
231
|
*/
|
|
274
|
-
maritalStatusCode?:
|
|
275
|
-
[key: string]: unknown;
|
|
276
|
-
};
|
|
232
|
+
maritalStatusCode?: string | null;
|
|
277
233
|
/**
|
|
278
234
|
* Languages spoken (codes)
|
|
279
235
|
*/
|
|
@@ -281,27 +237,23 @@ export type ProfileResponseDto = {
|
|
|
281
237
|
/**
|
|
282
238
|
* Preferred foot code
|
|
283
239
|
*/
|
|
284
|
-
preferredFoot?:
|
|
285
|
-
|
|
286
|
-
|
|
240
|
+
preferredFoot?: string | null;
|
|
241
|
+
/**
|
|
242
|
+
* Preferred formation code (e.g. "4-3-3")
|
|
243
|
+
*/
|
|
244
|
+
preferredFormation?: string | null;
|
|
287
245
|
/**
|
|
288
246
|
* Height in cm
|
|
289
247
|
*/
|
|
290
|
-
heightCm?:
|
|
291
|
-
[key: string]: unknown;
|
|
292
|
-
};
|
|
248
|
+
heightCm?: number | null;
|
|
293
249
|
/**
|
|
294
250
|
* Weight in kg
|
|
295
251
|
*/
|
|
296
|
-
weightKg?:
|
|
297
|
-
[key: string]: unknown;
|
|
298
|
-
};
|
|
252
|
+
weightKg?: number | null;
|
|
299
253
|
/**
|
|
300
254
|
* Current club name
|
|
301
255
|
*/
|
|
302
|
-
currentClub?:
|
|
303
|
-
[key: string]: unknown;
|
|
304
|
-
};
|
|
256
|
+
currentClub?: string | null;
|
|
305
257
|
/**
|
|
306
258
|
* Previous clubs
|
|
307
259
|
*/
|
|
@@ -309,9 +261,7 @@ export type ProfileResponseDto = {
|
|
|
309
261
|
/**
|
|
310
262
|
* Main position code (e.g. "ST")
|
|
311
263
|
*/
|
|
312
|
-
mainPosition?:
|
|
313
|
-
[key: string]: unknown;
|
|
314
|
-
};
|
|
264
|
+
mainPosition?: string | null;
|
|
315
265
|
/**
|
|
316
266
|
* Additional position codes (e.g. ["RW","LW"])
|
|
317
267
|
*/
|
|
@@ -323,39 +273,27 @@ export type ProfileResponseDto = {
|
|
|
323
273
|
/**
|
|
324
274
|
* Agency name
|
|
325
275
|
*/
|
|
326
|
-
agencyName?:
|
|
327
|
-
[key: string]: unknown;
|
|
328
|
-
};
|
|
276
|
+
agencyName?: string | null;
|
|
329
277
|
/**
|
|
330
278
|
* Agency website URL
|
|
331
279
|
*/
|
|
332
|
-
agencyWebsite?:
|
|
333
|
-
[key: string]: unknown;
|
|
334
|
-
};
|
|
280
|
+
agencyWebsite?: string | null;
|
|
335
281
|
/**
|
|
336
282
|
* Primary market region code
|
|
337
283
|
*/
|
|
338
|
-
primaryMarket?:
|
|
339
|
-
[key: string]: unknown;
|
|
340
|
-
};
|
|
284
|
+
primaryMarket?: string | null;
|
|
341
285
|
/**
|
|
342
286
|
* Players represented (e.g. "1-5", "6-10", "more_than_10")
|
|
343
287
|
*/
|
|
344
|
-
playersRepresented?:
|
|
345
|
-
[key: string]: unknown;
|
|
346
|
-
};
|
|
288
|
+
playersRepresented?: string | null;
|
|
347
289
|
/**
|
|
348
290
|
* About the agency
|
|
349
291
|
*/
|
|
350
|
-
aboutAgency?:
|
|
351
|
-
[key: string]: unknown;
|
|
352
|
-
};
|
|
292
|
+
aboutAgency?: string | null;
|
|
353
293
|
/**
|
|
354
294
|
* Updated at
|
|
355
295
|
*/
|
|
356
|
-
updatedAt?:
|
|
357
|
-
[key: string]: unknown;
|
|
358
|
-
};
|
|
296
|
+
updatedAt?: string | null;
|
|
359
297
|
};
|
|
360
298
|
export type UpdateProfileDto = {
|
|
361
299
|
/**
|
|
@@ -395,13 +333,13 @@ export type UpdateProfileDto = {
|
|
|
395
333
|
*/
|
|
396
334
|
bio?: string;
|
|
397
335
|
/**
|
|
398
|
-
* Avatar URL
|
|
336
|
+
* Avatar URL, null to clear
|
|
399
337
|
*/
|
|
400
|
-
avatarUrl?: string;
|
|
338
|
+
avatarUrl?: string | null;
|
|
401
339
|
/**
|
|
402
|
-
* Cover image URL
|
|
340
|
+
* Cover image URL, null to clear
|
|
403
341
|
*/
|
|
404
|
-
coverImageUrl?: string;
|
|
342
|
+
coverImageUrl?: string | null;
|
|
405
343
|
/**
|
|
406
344
|
* Is free agent
|
|
407
345
|
*/
|
|
@@ -426,6 +364,10 @@ export type UpdateProfileDto = {
|
|
|
426
364
|
* Preferred foot code
|
|
427
365
|
*/
|
|
428
366
|
preferredFoot?: string;
|
|
367
|
+
/**
|
|
368
|
+
* Preferred formation code (e.g. "4-3-3"), null to clear
|
|
369
|
+
*/
|
|
370
|
+
preferredFormation?: string | null;
|
|
429
371
|
/**
|
|
430
372
|
* Height in cm
|
|
431
373
|
*/
|
|
@@ -445,9 +387,7 @@ export type UpdateProfileDto = {
|
|
|
445
387
|
/**
|
|
446
388
|
* Main position code (e.g. "ST"), null to clear
|
|
447
389
|
*/
|
|
448
|
-
mainPosition?:
|
|
449
|
-
[key: string]: unknown;
|
|
450
|
-
};
|
|
390
|
+
mainPosition?: string | null;
|
|
451
391
|
/**
|
|
452
392
|
* Additional position codes (e.g. ["RW","LW"]), empty array to clear
|
|
453
393
|
*/
|
|
@@ -481,67 +421,33 @@ export type AchievementCatalogDto = {
|
|
|
481
421
|
id: string;
|
|
482
422
|
code: string;
|
|
483
423
|
name: string;
|
|
484
|
-
description?:
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
pointsAwarded?: {
|
|
491
|
-
[key: string]: unknown;
|
|
492
|
-
};
|
|
493
|
-
category?: {
|
|
494
|
-
[key: string]: unknown;
|
|
495
|
-
};
|
|
496
|
-
rarity?: {
|
|
497
|
-
[key: string]: unknown;
|
|
498
|
-
};
|
|
499
|
-
isActive?: {
|
|
500
|
-
[key: string]: unknown;
|
|
501
|
-
};
|
|
424
|
+
description?: string | null;
|
|
425
|
+
iconUrl?: string | null;
|
|
426
|
+
pointsAwarded?: number | null;
|
|
427
|
+
category?: string | null;
|
|
428
|
+
rarity?: string | null;
|
|
429
|
+
isActive?: boolean | null;
|
|
502
430
|
};
|
|
503
431
|
export type UserAchievementResponseDto = {
|
|
504
432
|
id: string;
|
|
505
433
|
userId: string;
|
|
506
434
|
achievementId: string;
|
|
507
|
-
earnedAt?:
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
progress?: {
|
|
511
|
-
[key: string]: unknown;
|
|
512
|
-
};
|
|
513
|
-
isCompleted?: {
|
|
514
|
-
[key: string]: unknown;
|
|
515
|
-
};
|
|
435
|
+
earnedAt?: string | null;
|
|
436
|
+
progress?: number | null;
|
|
437
|
+
isCompleted?: boolean | null;
|
|
516
438
|
achievement?: AchievementCatalogDto;
|
|
517
439
|
};
|
|
518
440
|
export type BodyMeasurementResponseDto = {
|
|
519
441
|
id: string;
|
|
520
442
|
userId: string;
|
|
521
|
-
measurementDate?:
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
};
|
|
530
|
-
chestCircumferenceCm?: {
|
|
531
|
-
[key: string]: unknown;
|
|
532
|
-
};
|
|
533
|
-
waistCircumferenceCm?: {
|
|
534
|
-
[key: string]: unknown;
|
|
535
|
-
};
|
|
536
|
-
hipCircumferenceCm?: {
|
|
537
|
-
[key: string]: unknown;
|
|
538
|
-
};
|
|
539
|
-
processingStatus?: {
|
|
540
|
-
[key: string]: unknown;
|
|
541
|
-
};
|
|
542
|
-
createdAt?: {
|
|
543
|
-
[key: string]: unknown;
|
|
544
|
-
};
|
|
443
|
+
measurementDate?: string | null;
|
|
444
|
+
imageUrl?: string | null;
|
|
445
|
+
shoulderWidthCm?: number | null;
|
|
446
|
+
chestCircumferenceCm?: number | null;
|
|
447
|
+
waistCircumferenceCm?: number | null;
|
|
448
|
+
hipCircumferenceCm?: number | null;
|
|
449
|
+
processingStatus?: string | null;
|
|
450
|
+
createdAt?: string | null;
|
|
545
451
|
};
|
|
546
452
|
export type CreateBodyMeasurementDto = {
|
|
547
453
|
/**
|
|
@@ -552,21 +458,11 @@ export type CreateBodyMeasurementDto = {
|
|
|
552
458
|
export type DocumentResponseDto = {
|
|
553
459
|
id: string;
|
|
554
460
|
userId: string;
|
|
555
|
-
documentType?:
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
};
|
|
561
|
-
filePath?: {
|
|
562
|
-
[key: string]: unknown;
|
|
563
|
-
};
|
|
564
|
-
status?: {
|
|
565
|
-
[key: string]: unknown;
|
|
566
|
-
};
|
|
567
|
-
uploadedAt?: {
|
|
568
|
-
[key: string]: unknown;
|
|
569
|
-
};
|
|
461
|
+
documentType?: string | null;
|
|
462
|
+
fileUrl?: string | null;
|
|
463
|
+
filePath?: string | null;
|
|
464
|
+
status?: string | null;
|
|
465
|
+
uploadedAt?: string | null;
|
|
570
466
|
};
|
|
571
467
|
export type CreateDocumentDto = {
|
|
572
468
|
/**
|
|
@@ -584,7 +480,7 @@ export type CreateDocumentDto = {
|
|
|
584
480
|
/**
|
|
585
481
|
* KYC verification id this document belongs to
|
|
586
482
|
*/
|
|
587
|
-
kycVerificationId
|
|
483
|
+
kycVerificationId?: string;
|
|
588
484
|
};
|
|
589
485
|
export type IndexItemDto = {
|
|
590
486
|
/**
|
|
@@ -660,57 +556,39 @@ export type OrganizationResponseDto = {
|
|
|
660
556
|
/**
|
|
661
557
|
* Country code
|
|
662
558
|
*/
|
|
663
|
-
country?:
|
|
664
|
-
[key: string]: unknown;
|
|
665
|
-
};
|
|
559
|
+
country?: string | null;
|
|
666
560
|
/**
|
|
667
561
|
* League tier code
|
|
668
562
|
*/
|
|
669
|
-
leagueTier?:
|
|
670
|
-
[key: string]: unknown;
|
|
671
|
-
};
|
|
563
|
+
leagueTier?: string | null;
|
|
672
564
|
/**
|
|
673
565
|
* FIFA club category code
|
|
674
566
|
*/
|
|
675
|
-
fifaCategory?:
|
|
676
|
-
[key: string]: unknown;
|
|
677
|
-
};
|
|
567
|
+
fifaCategory?: string | null;
|
|
678
568
|
/**
|
|
679
569
|
* Stadium name
|
|
680
570
|
*/
|
|
681
|
-
stadiumName?:
|
|
682
|
-
[key: string]: unknown;
|
|
683
|
-
};
|
|
571
|
+
stadiumName?: string | null;
|
|
684
572
|
/**
|
|
685
573
|
* Official club email
|
|
686
574
|
*/
|
|
687
|
-
email?:
|
|
688
|
-
[key: string]: unknown;
|
|
689
|
-
};
|
|
575
|
+
email?: string | null;
|
|
690
576
|
/**
|
|
691
577
|
* Official website
|
|
692
578
|
*/
|
|
693
|
-
website?:
|
|
694
|
-
[key: string]: unknown;
|
|
695
|
-
};
|
|
579
|
+
website?: string | null;
|
|
696
580
|
/**
|
|
697
581
|
* Club description
|
|
698
582
|
*/
|
|
699
|
-
description?:
|
|
700
|
-
[key: string]: unknown;
|
|
701
|
-
};
|
|
583
|
+
description?: string | null;
|
|
702
584
|
/**
|
|
703
585
|
* Phone
|
|
704
586
|
*/
|
|
705
|
-
phone?:
|
|
706
|
-
[key: string]: unknown;
|
|
707
|
-
};
|
|
587
|
+
phone?: string | null;
|
|
708
588
|
/**
|
|
709
589
|
* Updated at
|
|
710
590
|
*/
|
|
711
|
-
updatedAt?:
|
|
712
|
-
[key: string]: unknown;
|
|
713
|
-
};
|
|
591
|
+
updatedAt?: string | null;
|
|
714
592
|
};
|
|
715
593
|
export type UpdateOrganizationDto = {
|
|
716
594
|
/**
|
|
@@ -750,45 +628,80 @@ export type UpdateOrganizationDto = {
|
|
|
750
628
|
*/
|
|
751
629
|
phone?: string;
|
|
752
630
|
};
|
|
631
|
+
export type CreateUploadUrlDto = {
|
|
632
|
+
/**
|
|
633
|
+
* Target storage bucket
|
|
634
|
+
*/
|
|
635
|
+
bucket: 'videos' | 'avatars' | 'documents';
|
|
636
|
+
/**
|
|
637
|
+
* MIME type of the file being uploaded
|
|
638
|
+
*/
|
|
639
|
+
contentType: string;
|
|
640
|
+
/**
|
|
641
|
+
* Size of the file in bytes
|
|
642
|
+
*/
|
|
643
|
+
sizeBytes: number;
|
|
644
|
+
/**
|
|
645
|
+
* Optional filename hint (not used for path)
|
|
646
|
+
*/
|
|
647
|
+
filenameHint?: string;
|
|
648
|
+
};
|
|
649
|
+
export type UploadUrlResponseDto = {
|
|
650
|
+
/**
|
|
651
|
+
* Signed URL the client PUTs raw bytes to
|
|
652
|
+
*/
|
|
653
|
+
uploadUrl: string;
|
|
654
|
+
/**
|
|
655
|
+
* Signed-upload token (opaque)
|
|
656
|
+
*/
|
|
657
|
+
token: string;
|
|
658
|
+
/**
|
|
659
|
+
* Storage path (persist this as video_path / file_path)
|
|
660
|
+
*/
|
|
661
|
+
path: string;
|
|
662
|
+
/**
|
|
663
|
+
* Bucket the upload targets
|
|
664
|
+
*/
|
|
665
|
+
bucket: string;
|
|
666
|
+
/**
|
|
667
|
+
* URL validity window in seconds
|
|
668
|
+
*/
|
|
669
|
+
expiresIn: number;
|
|
670
|
+
};
|
|
753
671
|
export type VideoResponseDto = {
|
|
754
672
|
id: string;
|
|
755
673
|
userId: string;
|
|
756
674
|
title: string;
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
processingStatus?: {
|
|
768
|
-
[key: string]: unknown;
|
|
769
|
-
};
|
|
770
|
-
isPublic?: {
|
|
771
|
-
[key: string]: unknown;
|
|
772
|
-
};
|
|
773
|
-
uploadDate?: {
|
|
774
|
-
[key: string]: unknown;
|
|
775
|
-
};
|
|
675
|
+
/**
|
|
676
|
+
* Signed URL for the thumbnail image, valid for ~1 hour. Null if no thumbnail was uploaded.
|
|
677
|
+
*/
|
|
678
|
+
thumbnailUrl?: string | null;
|
|
679
|
+
videoType?: string | null;
|
|
680
|
+
durationSeconds?: number | null;
|
|
681
|
+
uploadStatus?: string | null;
|
|
682
|
+
processingStatus?: string | null;
|
|
683
|
+
isPublic?: boolean | null;
|
|
684
|
+
uploadDate?: string | null;
|
|
776
685
|
};
|
|
777
686
|
export type CreateVideoDto = {
|
|
778
687
|
/**
|
|
779
|
-
*
|
|
688
|
+
* Storage path of the uploaded video file
|
|
780
689
|
*/
|
|
781
|
-
|
|
690
|
+
videoPath: string;
|
|
782
691
|
/**
|
|
783
|
-
*
|
|
692
|
+
* Legacy video URL. Ignored for new uploads — BE issues a signed play URL on demand via GET /videos/:id/play-url.
|
|
784
693
|
*/
|
|
785
|
-
|
|
694
|
+
videoUrl?: string;
|
|
695
|
+
/**
|
|
696
|
+
* Storage path of the thumbnail image (uploaded alongside the video)
|
|
697
|
+
*/
|
|
698
|
+
thumbnailPath?: string;
|
|
786
699
|
/**
|
|
787
700
|
* Title
|
|
788
701
|
*/
|
|
789
702
|
title: string;
|
|
790
703
|
/**
|
|
791
|
-
* Video type code (e.g. best_moment, cmj)
|
|
704
|
+
* Video type code (e.g. best_moment, cmj, highlight)
|
|
792
705
|
*/
|
|
793
706
|
videoType?: string;
|
|
794
707
|
/**
|
|
@@ -800,15 +713,32 @@ export type CreateVideoDto = {
|
|
|
800
713
|
*/
|
|
801
714
|
isPublic?: boolean;
|
|
802
715
|
};
|
|
716
|
+
export type PlayUrlResponseDto = {
|
|
717
|
+
/**
|
|
718
|
+
* Short-lived signed URL for the video file
|
|
719
|
+
*/
|
|
720
|
+
url: string;
|
|
721
|
+
/**
|
|
722
|
+
* TTL of the signed URL in seconds
|
|
723
|
+
*/
|
|
724
|
+
expiresIn: number;
|
|
725
|
+
};
|
|
803
726
|
export type GetAuthMeData = {
|
|
804
727
|
body?: never;
|
|
805
728
|
path?: never;
|
|
806
729
|
query?: never;
|
|
807
730
|
url: '/auth/me';
|
|
808
731
|
};
|
|
732
|
+
export type GetAuthMeErrors = {
|
|
733
|
+
/**
|
|
734
|
+
* Unauthorized
|
|
735
|
+
*/
|
|
736
|
+
401: unknown;
|
|
737
|
+
};
|
|
809
738
|
export type GetAuthMeResponses = {
|
|
810
|
-
200:
|
|
739
|
+
200: AuthMeResponseDto;
|
|
811
740
|
};
|
|
741
|
+
export type GetAuthMeResponse = GetAuthMeResponses[keyof GetAuthMeResponses];
|
|
812
742
|
export type DeletePlayersMeData = {
|
|
813
743
|
body?: never;
|
|
814
744
|
path?: never;
|
|
@@ -1106,6 +1036,33 @@ export type PutOrganizationsMeResponses = {
|
|
|
1106
1036
|
200: OrganizationResponseDto;
|
|
1107
1037
|
};
|
|
1108
1038
|
export type PutOrganizationsMeResponse = PutOrganizationsMeResponses[keyof PutOrganizationsMeResponses];
|
|
1039
|
+
export type PostStorageUploadUrlData = {
|
|
1040
|
+
body: CreateUploadUrlDto;
|
|
1041
|
+
path?: never;
|
|
1042
|
+
query?: never;
|
|
1043
|
+
url: '/storage/upload-url';
|
|
1044
|
+
};
|
|
1045
|
+
export type PostStorageUploadUrlErrors = {
|
|
1046
|
+
/**
|
|
1047
|
+
* Unknown bucket or disallowed MIME
|
|
1048
|
+
*/
|
|
1049
|
+
400: unknown;
|
|
1050
|
+
/**
|
|
1051
|
+
* Unauthorized
|
|
1052
|
+
*/
|
|
1053
|
+
401: unknown;
|
|
1054
|
+
/**
|
|
1055
|
+
* File too large for bucket
|
|
1056
|
+
*/
|
|
1057
|
+
413: unknown;
|
|
1058
|
+
};
|
|
1059
|
+
export type PostStorageUploadUrlResponses = {
|
|
1060
|
+
/**
|
|
1061
|
+
* Signed upload URL issued
|
|
1062
|
+
*/
|
|
1063
|
+
201: UploadUrlResponseDto;
|
|
1064
|
+
};
|
|
1065
|
+
export type PostStorageUploadUrlResponse = PostStorageUploadUrlResponses[keyof PostStorageUploadUrlResponses];
|
|
1109
1066
|
export type GetVideosMeData = {
|
|
1110
1067
|
body?: never;
|
|
1111
1068
|
path?: never;
|
|
@@ -1150,6 +1107,31 @@ export type PostVideosResponses = {
|
|
|
1150
1107
|
201: VideoResponseDto;
|
|
1151
1108
|
};
|
|
1152
1109
|
export type PostVideosResponse = PostVideosResponses[keyof PostVideosResponses];
|
|
1110
|
+
export type GetVideosByIdPlayUrlData = {
|
|
1111
|
+
body?: never;
|
|
1112
|
+
path: {
|
|
1113
|
+
id: string;
|
|
1114
|
+
};
|
|
1115
|
+
query?: never;
|
|
1116
|
+
url: '/videos/{id}/play-url';
|
|
1117
|
+
};
|
|
1118
|
+
export type GetVideosByIdPlayUrlErrors = {
|
|
1119
|
+
/**
|
|
1120
|
+
* Unauthorized
|
|
1121
|
+
*/
|
|
1122
|
+
401: unknown;
|
|
1123
|
+
/**
|
|
1124
|
+
* Video not found
|
|
1125
|
+
*/
|
|
1126
|
+
404: unknown;
|
|
1127
|
+
};
|
|
1128
|
+
export type GetVideosByIdPlayUrlResponses = {
|
|
1129
|
+
/**
|
|
1130
|
+
* Short-lived signed URL for video playback
|
|
1131
|
+
*/
|
|
1132
|
+
200: PlayUrlResponseDto;
|
|
1133
|
+
};
|
|
1134
|
+
export type GetVideosByIdPlayUrlResponse = GetVideosByIdPlayUrlResponses[keyof GetVideosByIdPlayUrlResponses];
|
|
1153
1135
|
export type DeleteVideosByIdData = {
|
|
1154
1136
|
body?: never;
|
|
1155
1137
|
path: {
|