@vertikalx/vtx-backend-client 3.0.0-dev-max.99 → 3.0.0-dev-max.101

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 (94) hide show
  1. package/package.json +1 -1
  2. package/src/api/api-call-headers.ts +35 -0
  3. package/src/api/backend-response.ts +14 -0
  4. package/src/api/domains.ts +6 -0
  5. package/src/api/response-builder.ts +165 -0
  6. package/src/api/types.ts +9 -0
  7. package/src/api/vtx-apikey-api.ts +23 -0
  8. package/src/api/vtx-base-api.ts +14079 -0
  9. package/src/api/vtx-mobile-api.ts +74 -0
  10. package/src/api/vtx-web-browser-api.ts +45 -0
  11. package/src/api/vtx-web-server-api.ts +40 -0
  12. package/src/client/index.ts +65 -0
  13. package/src/client/runtime/batcher.ts +275 -0
  14. package/src/client/runtime/createClient.ts +68 -0
  15. package/src/client/runtime/error.ts +29 -0
  16. package/src/client/runtime/fetcher.ts +97 -0
  17. package/src/client/runtime/generateGraphqlOperation.ts +225 -0
  18. package/src/client/runtime/index.ts +13 -0
  19. package/src/client/runtime/linkTypeMap.ts +156 -0
  20. package/src/client/runtime/typeSelection.ts +95 -0
  21. package/src/client/runtime/types.ts +69 -0
  22. package/src/client/schema.graphql +3465 -0
  23. package/src/client/schema.ts +7030 -0
  24. package/src/client/{types.js → types.ts} +87 -53
  25. package/src/{index.d.ts → index.ts} +3 -2
  26. package/tsconfig.lib.json +10 -0
  27. package/src/api/api-call-headers.d.ts +0 -12
  28. package/src/api/api-call-headers.js +0 -16
  29. package/src/api/api-call-headers.js.map +0 -1
  30. package/src/api/backend-response.d.ts +0 -10
  31. package/src/api/backend-response.js +0 -3
  32. package/src/api/backend-response.js.map +0 -1
  33. package/src/api/domains.d.ts +0 -4
  34. package/src/api/domains.js +0 -8
  35. package/src/api/domains.js.map +0 -1
  36. package/src/api/response-builder.d.ts +0 -4
  37. package/src/api/response-builder.js +0 -123
  38. package/src/api/response-builder.js.map +0 -1
  39. package/src/api/types.d.ts +0 -2
  40. package/src/api/types.js +0 -3
  41. package/src/api/types.js.map +0 -1
  42. package/src/api/vtx-apikey-api.d.ts +0 -6
  43. package/src/api/vtx-apikey-api.js +0 -19
  44. package/src/api/vtx-apikey-api.js.map +0 -1
  45. package/src/api/vtx-base-api.d.ts +0 -243
  46. package/src/api/vtx-base-api.js +0 -11060
  47. package/src/api/vtx-base-api.js.map +0 -1
  48. package/src/api/vtx-mobile-api.d.ts +0 -9
  49. package/src/api/vtx-mobile-api.js +0 -62
  50. package/src/api/vtx-mobile-api.js.map +0 -1
  51. package/src/api/vtx-web-browser-api.d.ts +0 -7
  52. package/src/api/vtx-web-browser-api.js +0 -36
  53. package/src/api/vtx-web-browser-api.js.map +0 -1
  54. package/src/api/vtx-web-server-api.d.ts +0 -7
  55. package/src/api/vtx-web-server-api.js +0 -33
  56. package/src/api/vtx-web-server-api.js.map +0 -1
  57. package/src/client/index.d.ts +0 -25
  58. package/src/client/index.js +0 -44
  59. package/src/client/index.js.map +0 -1
  60. package/src/client/runtime/batcher.d.ts +0 -36
  61. package/src/client/runtime/batcher.js +0 -123
  62. package/src/client/runtime/batcher.js.map +0 -1
  63. package/src/client/runtime/createClient.d.ts +0 -17
  64. package/src/client/runtime/createClient.js +0 -28
  65. package/src/client/runtime/createClient.js.map +0 -1
  66. package/src/client/runtime/error.d.ts +0 -15
  67. package/src/client/runtime/error.js +0 -19
  68. package/src/client/runtime/error.js.map +0 -1
  69. package/src/client/runtime/fetcher.d.ts +0 -10
  70. package/src/client/runtime/fetcher.js +0 -68
  71. package/src/client/runtime/fetcher.js.map +0 -1
  72. package/src/client/runtime/generateGraphqlOperation.d.ts +0 -30
  73. package/src/client/runtime/generateGraphqlOperation.js +0 -134
  74. package/src/client/runtime/generateGraphqlOperation.js.map +0 -1
  75. package/src/client/runtime/index.d.ts +0 -11
  76. package/src/client/runtime/index.js +0 -17
  77. package/src/client/runtime/index.js.map +0 -1
  78. package/src/client/runtime/linkTypeMap.d.ts +0 -9
  79. package/src/client/runtime/linkTypeMap.js +0 -95
  80. package/src/client/runtime/linkTypeMap.js.map +0 -1
  81. package/src/client/runtime/typeSelection.d.ts +0 -28
  82. package/src/client/runtime/typeSelection.js +0 -3
  83. package/src/client/runtime/typeSelection.js.map +0 -1
  84. package/src/client/runtime/types.d.ts +0 -55
  85. package/src/client/runtime/types.js +0 -3
  86. package/src/client/runtime/types.js.map +0 -1
  87. package/src/client/schema.d.ts +0 -6656
  88. package/src/client/schema.js +0 -1458
  89. package/src/client/schema.js.map +0 -1
  90. package/src/client/types.d.ts +0 -3501
  91. package/src/client/types.js.map +0 -1
  92. package/src/index.js +0 -28
  93. package/src/index.js.map +0 -1
  94. package/tsconfig.lib.tsbuildinfo +0 -1
@@ -0,0 +1,3465 @@
1
+ type User {
2
+ _id: String!
3
+ loginEmail: String!
4
+ suspended: Boolean!
5
+ domains: [DomainCredential!]
6
+ loginMethods: [String!]
7
+ }
8
+
9
+ type UserWithToken {
10
+ _id: String!
11
+ loginEmail: String!
12
+ suspended: Boolean!
13
+ domains: [DomainCredential!]
14
+ loginMethods: [String!]
15
+ token: UserToken!
16
+ }
17
+
18
+ type BaseTenant {
19
+ _id: String!
20
+ name: String!
21
+ tenant_uri: String!
22
+ domain: Domain!
23
+ }
24
+
25
+ type Tenant {
26
+ _id: String!
27
+ name: String!
28
+ tenant_uri: String!
29
+ domain: Domain!
30
+ email: String!
31
+ owner: User
32
+ }
33
+
34
+ type Domain {
35
+ _id: String!
36
+ name: String!
37
+ description: String
38
+ }
39
+
40
+ type DomainCredential {
41
+ _id: String!
42
+ name: String!
43
+ description: String
44
+ tenant: BaseTenant
45
+ }
46
+
47
+ type UserToken {
48
+ actualToken: String!
49
+ refreshToken: String!
50
+ }
51
+
52
+ type DecodedToken {
53
+ tokenId: String!
54
+ systemId: String!
55
+ userId: String!
56
+ email: String!
57
+ refreshTokenId: String!
58
+ domains: [DomainCredential!]!
59
+ clientType: String
60
+ }
61
+
62
+ type DecodedRefreshToken {
63
+ userId: String!
64
+ email: String!
65
+ originalTokenId: String!
66
+ }
67
+
68
+ type TenantWithUserLogin {
69
+ _id: String!
70
+ name: String!
71
+ tenant_uri: String!
72
+ domain: Domain!
73
+ email: String!
74
+ owner: User
75
+ user: UserWithToken!
76
+ }
77
+
78
+ type UriAvailableType {
79
+ available: Boolean!
80
+ valid: Boolean!
81
+ }
82
+
83
+ type Agreement {
84
+ _id: String!
85
+ kind: String!
86
+ domain: String!
87
+ isActiveAgreement: Boolean!
88
+ encoding: String!
89
+ version: String!
90
+ publishedDate: DateTime
91
+ unPublishedDate: DateTime
92
+ locked: Boolean!
93
+ name: String!
94
+ description: String
95
+ content: String
96
+ httpContentType: String
97
+ createdDate: DateTime!
98
+ updatedDate: DateTime!
99
+ }
100
+
101
+ """
102
+ A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format.
103
+ """
104
+ scalar DateTime
105
+
106
+ type SignedAgreement {
107
+ _id: String!
108
+ agreement: Agreement!
109
+ createdDate: DateTime!
110
+ signerReference: String
111
+ json: String
112
+ signedDate: DateTime!
113
+ ipAddress: String
114
+ userAgent: String
115
+ signedFromLocation: String
116
+ comments: String
117
+ updatedDate: DateTime!
118
+ }
119
+
120
+ type BillEntity {
121
+ name: String!
122
+ taxId: String
123
+ line1: String
124
+ line2: String
125
+ line3: String
126
+ city: String
127
+ state: String
128
+ country: String
129
+ zip: String
130
+ }
131
+
132
+ type InvoiceItem {
133
+ _id: String!
134
+ unitPrice: Float!
135
+ unitTax: Float!
136
+ quantity: Float!
137
+ unit: String!
138
+ itemPrice: Float!
139
+ itemTotal: Float!
140
+ }
141
+
142
+ type Payment {
143
+ _id: String!
144
+ amount: Float!
145
+ currency: String!
146
+ datePaid: DateTime!
147
+ paymentComment: String
148
+ transactionId: String
149
+ processorType: String
150
+ processorReference: String
151
+ paidItemReference: String
152
+ payeeReference: String
153
+ payorReference: String
154
+ paymentMethodType: String
155
+ paymentMethodReference: String
156
+ }
157
+
158
+ type PlaFeature {
159
+ _id: String!
160
+ title: String!
161
+ description: String
162
+ quantity: Float
163
+ quantityUnit: String
164
+ }
165
+
166
+ type Plan {
167
+ _id: String!
168
+ name: String
169
+ description: String
170
+ prices: [PlanPrice!]!
171
+ features: [PlaFeature!]!
172
+ isPublic: Boolean!
173
+ active: Boolean!
174
+ startOfferingDate: DateTime
175
+ endOfferingDate: DateTime
176
+ termsAndConditions: String
177
+ }
178
+
179
+ type PlanPrice {
180
+ _id: String!
181
+ currency: String!
182
+ price: Float!
183
+ taxMode: String!
184
+ period: String!
185
+ customDays: Float
186
+ plan: Plan
187
+ }
188
+
189
+ type Invoice {
190
+ _id: String!
191
+ invoiceDate: DateTime!
192
+ billedEntity: BillEntity!
193
+ dueDate: DateTime!
194
+ billAmount: Float!
195
+ tax: Float!
196
+ total: Float!
197
+ currency: String!
198
+ items: [InvoiceItem!]
199
+ payments: [Payment!]
200
+ }
201
+
202
+ type SubscriptionInvoice {
203
+ _id: String!
204
+ invoice: Invoice!
205
+ billedPlan: PlanPrice!
206
+ subscriber: PlanSubscription!
207
+ }
208
+
209
+ type PlanSubscription {
210
+ _id: String!
211
+ currentPlan: PlanPrice!
212
+ billPrice: Float!
213
+ billCurrency: String!
214
+ billPriceComment: String
215
+ lastBillDate: DateTime!
216
+ endAccessDate: DateTime!
217
+ autoRenew: Boolean!
218
+ autoRenewPlan: PlanPrice
219
+ autoRenewDate: DateTime!
220
+ payments: [SubscriptionPayment!]!
221
+ invoices: [SubscriptionInvoice!]!
222
+ }
223
+
224
+ type SubscriptionPayment {
225
+ _id: String!
226
+ payment: Payment!
227
+ subscriber: PlanSubscription!
228
+ }
229
+
230
+ type AWSS3File {
231
+ _id: String!
232
+ name: String
233
+ contentType: String
234
+ size: Float
235
+ useType: String
236
+ url: String!
237
+ key: String!
238
+ pendingDelete: Boolean!
239
+ }
240
+
241
+ type MagicLink {
242
+ _id: String!
243
+ code: String!
244
+ type: String!
245
+ url: String!
246
+ expires: DateTime
247
+ data: String
248
+ isExpired: Boolean!
249
+ }
250
+
251
+ type VerificationCode {
252
+ _id: String!
253
+ type: String
254
+ recipient: String
255
+ expires: DateTime
256
+ data: String
257
+ isExpired: Boolean!
258
+ createdDate: DateTime!
259
+ }
260
+
261
+ type ErrorInfo {
262
+ errorCode: Float!
263
+ errorMessage: String!
264
+ }
265
+
266
+ type HttpRequestField {
267
+ key: String!
268
+ value: String!
269
+ }
270
+
271
+ type AWSS3UploadUrl {
272
+ uploadUrl: String!
273
+ fields: [HttpRequestField!]!
274
+ downloadUrl: String!
275
+ bucket: String!
276
+ key: String!
277
+ }
278
+
279
+ type AWSS3CallResult {
280
+ httpStatus: Float!
281
+ result: String!
282
+ message: String!
283
+ errors: [String!]
284
+ }
285
+
286
+ type DatabaseFile {
287
+ _id: String!
288
+ identifier: String!
289
+ version: String!
290
+ contentType: String!
291
+ updated: DateTime!
292
+ created: DateTime!
293
+ }
294
+
295
+ type TextDatabaseFile {
296
+ _id: String!
297
+ identifier: String!
298
+ version: String!
299
+ contentType: String!
300
+ updated: DateTime!
301
+ created: DateTime!
302
+ content: String!
303
+ }
304
+
305
+ type CodeVerificationResponse {
306
+ result: String!
307
+ code: VerificationCode
308
+ error: ErrorInfo
309
+ }
310
+
311
+ type Industry {
312
+ _id: String!
313
+ name: String!
314
+ }
315
+
316
+ type SponsorStats {
317
+ sponsoredAthletes: Float!
318
+ totalBrands: Float!
319
+ activeCampaigns: Float!
320
+ activeSponsorships: Float!
321
+ }
322
+
323
+ type City {
324
+ _id: String!
325
+ name: String!
326
+ localizedName: String!
327
+ state: State
328
+ latitude: Float
329
+ longitude: Float
330
+ timezone: String
331
+ }
332
+
333
+ type State {
334
+ _id: String!
335
+ name: String!
336
+ country: Country
337
+ cities: [City!]
338
+ }
339
+
340
+ type Country {
341
+ _id: String!
342
+ name: String!
343
+ states: [State!]
344
+ }
345
+
346
+ type AgeQualification {
347
+ type: String!
348
+ value: Float!
349
+ operator: String!
350
+ }
351
+
352
+ type GenderQualification {
353
+ type: String!
354
+ operator: String!
355
+ values: [String!]!
356
+ }
357
+
358
+ type ScoreQualification {
359
+ type: String!
360
+ scoreType: String!
361
+ operator: String!
362
+ value: Float!
363
+ }
364
+
365
+ type LocationQualification {
366
+ type: String!
367
+ operator: String!
368
+ countries: [Country!]!
369
+ states: [State!]!
370
+ cities: [City!]!
371
+ }
372
+
373
+ type NationalityQualification {
374
+ type: String!
375
+ operator: String!
376
+ countries: [Country!]!
377
+ }
378
+
379
+ type DistanceQualification {
380
+ type: String!
381
+ maxDistance: Float!
382
+ latitude: Float
383
+ longitude: Float
384
+ cityId: String
385
+ }
386
+
387
+ type SportsQualification {
388
+ type: String!
389
+ sports: [String!]!
390
+ operator: String!
391
+ }
392
+
393
+ type SportsLevelQualification {
394
+ type: String!
395
+ operator: String!
396
+ level: String!
397
+ }
398
+
399
+ type AthleteCriteria {
400
+ _id: String!
401
+ label: String
402
+ qualifications: [QualificationTypeUnion!]
403
+
404
+ """Minimum age requirement"""
405
+ minAge: Int
406
+
407
+ """Maximum age requirement"""
408
+ maxAge: Int
409
+
410
+ """Allowed genders (male, female, other)"""
411
+ allowedGenders: [String!]
412
+ }
413
+
414
+ union QualificationTypeUnion = AgeQualification | GenderQualification | ScoreQualification | LocationQualification | NationalityQualification | DistanceQualification | SportsQualification | SportsLevelQualification
415
+
416
+ type SponsorshipItem {
417
+ _id: String!
418
+ quantity: Float!
419
+ title: String!
420
+ value: Float!
421
+ type: String!
422
+ }
423
+
424
+ type SponsorshipCommitment {
425
+ _id: String!
426
+ title: String!
427
+ details: String
428
+ hashTags: String!
429
+ media: String!
430
+ actionType: String!
431
+ frequency: Float
432
+ periodicity: String!
433
+ autoMeasurable: Boolean!
434
+ }
435
+
436
+ type Duration {
437
+ length: Float!
438
+ unit: String!
439
+ }
440
+
441
+ type SponsorshipStats {
442
+ totalSponsorships: Float
443
+ totalApplications: Float
444
+ newApplications: Float
445
+ discardedApplications: Float
446
+ selectedApplications: Float
447
+ approvedApplications: Float
448
+ grantedSponsorships: Float
449
+ remainingSponsorships: Float
450
+ }
451
+
452
+ type SponsorshipTranslation {
453
+ _id: String!
454
+ sponsorshipId: String!
455
+ language: String!
456
+ title: String
457
+ description: String
458
+ terms: String
459
+ banner: AWSS3File
460
+ }
461
+
462
+ type Sponsorship {
463
+ _id: String!
464
+ title: String!
465
+ description: String
466
+ cashValue: Float!
467
+ otherValue: Float!
468
+ brand: Brand
469
+ banner: AWSS3File
470
+ criteria: AthleteCriteria
471
+ deadline: DateTime
472
+ startDate: DateTime
473
+ duration: Duration!
474
+ sponsor: Sponsor
475
+ sponsorshipItems: [SponsorshipItem!]
476
+ commitments: [SponsorshipCommitment!]
477
+ terms: String
478
+ stats: SponsorshipStats
479
+ isPrivate: Boolean!
480
+ approved: Boolean!
481
+ published: Boolean!
482
+ translations: [SponsorshipTranslation!]
483
+ }
484
+
485
+ type Sponsor {
486
+ _id: String!
487
+ name: String!
488
+ description: String
489
+ tenant: Tenant
490
+ industry: Industry
491
+ stats: SponsorStats
492
+ brands: [SponsorBrand!]
493
+ sponsorships: [Sponsorship!]
494
+ approved: Boolean!
495
+ }
496
+
497
+ type SponsorBrand {
498
+ _id: String!
499
+ sponsor: Sponsor
500
+ authorizedUse: Boolean!
501
+ isAuthorizer: Boolean!
502
+ }
503
+
504
+ type BrandStats {
505
+ campaigns: Float
506
+ sponsorships: Float
507
+ sports: Float
508
+ athletes: Float
509
+ }
510
+
511
+ type BrandTranslation {
512
+ _id: String!
513
+ brandId: String!
514
+ language: String!
515
+ name: String
516
+ slogan: String
517
+ description: String
518
+ logo: AWSS3File
519
+ banner: AWSS3File
520
+ }
521
+
522
+ type Brand {
523
+ _id: String!
524
+ name: String!
525
+ slogan: String
526
+ website: String
527
+ affiliateLink: String
528
+ description: String
529
+ approved: Boolean!
530
+ published: Boolean!
531
+ logo: AWSS3File
532
+ banner: AWSS3File
533
+ stats: BrandStats
534
+ operatorIds: [String!]
535
+ translations: [BrandTranslation!]
536
+ sponsors: [SponsorBrand!]
537
+ }
538
+
539
+ type StravaTpiRideDto {
540
+ distanceKm: Float!
541
+ distanceKmLast: Float!
542
+ elapsedTimeMin: Float!
543
+ elapsedTimeMinLast: Float!
544
+ averageSpeedKmh: Float!
545
+ averageSpeedKmhLast: Float!
546
+ maxSpeedKmh: Float!
547
+ maxSpeedKmhLast: Float!
548
+ averageHeartRateBpm: Float!
549
+ averageHeartRateBpmLast: Float!
550
+ maxHeartRateBpm: Float!
551
+ maxHeartRateBpmLast: Float!
552
+ averageCadenceStm: Float!
553
+ averageCadenceStmLast: Float!
554
+ lastDate: DateTime
555
+ country: String
556
+ state: String
557
+ city: String
558
+ tpi: Float!
559
+ }
560
+
561
+ type StravaTpiRunDto {
562
+ distanceKm: Float!
563
+ distanceKmLast: Float!
564
+ elapsedTimeMin: Float!
565
+ elapsedTimeMinLast: Float!
566
+ averageSpeedKmh: Float!
567
+ averageSpeedKmhLast: Float!
568
+ maxSpeedKmh: Float!
569
+ maxSpeedKmhLast: Float!
570
+ averageHeartRateBpm: Float!
571
+ averageHeartRateBpmLast: Float!
572
+ maxHeartRateBpm: Float!
573
+ maxHeartRateBpmLast: Float!
574
+ averageCadenceStm: Float!
575
+ averageCadenceStmLast: Float!
576
+ elevHigh: Float!
577
+ elevHighLast: Float!
578
+ elevLow: Float!
579
+ elevLowLast: Float!
580
+ lastDate: DateTime
581
+ country: String
582
+ state: String
583
+ city: String
584
+ tpi: Float!
585
+ }
586
+
587
+ type StravaTpiSwimDto {
588
+ distanceKm: Float!
589
+ distanceKmLast: Float!
590
+ elapsedTimeMin: Float!
591
+ elapsedTimeMinLast: Float!
592
+ averageSpeedKmh: Float!
593
+ averageSpeedKmhLast: Float!
594
+ maxSpeedKmh: Float!
595
+ maxSpeedKmhLast: Float!
596
+ averageHeartRateBpm: Float!
597
+ averageHeartRateBpmLast: Float!
598
+ maxHeartRateBpm: Float!
599
+ maxHeartRateBpmLast: Float!
600
+ averageCadenceStm: Float!
601
+ averageCadenceStmLast: Float!
602
+ lastDate: DateTime
603
+ country: String
604
+ state: String
605
+ city: String
606
+ tpi: Float!
607
+ }
608
+
609
+ type FollowStats {
610
+ followers: Float!
611
+ followed: Float!
612
+ raves: Float!
613
+ favorites: Float!
614
+ }
615
+
616
+ type Sport {
617
+ _id: String!
618
+ name: String!
619
+ resultType: String!
620
+ verified: Boolean
621
+ priority: Float
622
+ }
623
+
624
+ type VtxScores {
625
+ vtxScore: Float!
626
+ socialScore: Float!
627
+ trainingScore: Float!
628
+ competitionScore: Float!
629
+ }
630
+
631
+ type SportLevelTranslation {
632
+ _id: String!
633
+ language: String!
634
+ label: String!
635
+ }
636
+
637
+ type SportLevel {
638
+ _id: String!
639
+ label: String!
640
+ index: Float!
641
+ translations: [SportLevelTranslation!]
642
+ }
643
+
644
+ type Ranking {
645
+ scope: String!
646
+ scopeId: String!
647
+ scopeName: String!
648
+ position: Float!
649
+ total: Float!
650
+ }
651
+
652
+ type AthleteRankings {
653
+ worldRanking: Ranking
654
+ countryRanking: Ranking
655
+ stateRanking: Ranking
656
+ cityRanking: Ranking
657
+ }
658
+
659
+ type Team {
660
+ _id: String!
661
+ name: String!
662
+ description: String
663
+ sports: [Sport!]
664
+ approved: Boolean
665
+ logo: AWSS3File
666
+ banner: AWSS3File
667
+ }
668
+
669
+ type WorldLocation {
670
+ _id: String!
671
+ userProvidedLatitude: Float
672
+ userProvidedLongitude: Float
673
+ cityNameGeocode: String
674
+ stateNameGeocode: String
675
+ countryIso2CodeGeocode: String
676
+ timeZoneGeocode: String
677
+ latitudeGeocode: Float
678
+ longitudeGeocode: Float
679
+ city: City
680
+ }
681
+
682
+ type SportsEvent {
683
+ _id: String!
684
+ name: String!
685
+ mainSport: Sport
686
+ eventWebSite: String
687
+ startDate: DateTime!
688
+ endDate: DateTime
689
+ verified: Boolean!
690
+ banner: AWSS3File
691
+ location: WorldLocation
692
+ eventLevel: String
693
+ registeredAthletesCount: Float
694
+ }
695
+
696
+ type AthleteCompetitionResult {
697
+ _id: String!
698
+ resultType: String!
699
+ position: Float
700
+ totalParticipants: Float
701
+ score: String
702
+ finishTimeMS: Float
703
+ resultWebLink: String
704
+ outcome: String!
705
+ adversary: String
706
+ genderPosition: Float
707
+ genderParticipants: Float
708
+ categoryPosition: Float
709
+ categoryParticipants: Float
710
+ categoryName: String
711
+ pointsEarned: Float
712
+ }
713
+
714
+ type BudgetItem {
715
+ _id: String!
716
+ quantity: Float!
717
+ concept: String!
718
+ itemCost: Float!
719
+ unit: String
720
+ }
721
+
722
+ type Budget {
723
+ _id: String!
724
+ initialFunds: Float!
725
+ totalRequired: Float!
726
+ items: [BudgetItem!]
727
+ }
728
+
729
+ type PhotoAlbum {
730
+ _id: String!
731
+ photo: AWSS3File
732
+ }
733
+
734
+ type Album {
735
+ _id: String!
736
+ label: String!
737
+ description: String
738
+ photos: [PhotoAlbum!]
739
+ displayIndex: Float!
740
+ competitionId: String
741
+ visibility: String!
742
+ }
743
+
744
+ type AthleteCompetition {
745
+ _id: String!
746
+ event: SportsEvent!
747
+ participationDate: DateTime
748
+ competitionNumber: String
749
+ result: AthleteCompetitionResult
750
+ fundRaisingCampaignIds: [String!]
751
+ budget: Budget
752
+ albums: [Album!]
753
+ }
754
+
755
+ type MembershipOrganizationReference {
756
+ _id: String!
757
+ shortName: String
758
+ acronym: String
759
+ fullName: String!
760
+ website: String
761
+ verified: Boolean!
762
+ logo: AWSS3File
763
+ country: Country
764
+ sport: Sport
765
+ }
766
+
767
+ type MembershipOrganization {
768
+ _id: String!
769
+ shortName: String
770
+ acronym: String
771
+ fullName: String!
772
+ website: String
773
+ verified: Boolean!
774
+ logo: AWSS3File
775
+ country: Country
776
+ sport: Sport
777
+ memberships: [AthleteMembership!]
778
+ }
779
+
780
+ type AthleteMembership {
781
+ _id: String!
782
+ organization: MembershipOrganizationReference!
783
+ athlete: AthleteReference!
784
+ membershipNumber: String
785
+ membershipType: String
786
+ issueDate: DateTime
787
+ expirationDate: DateTime
788
+ }
789
+
790
+ type NewsLink {
791
+ _id: String!
792
+ title: String!
793
+ url: String!
794
+ abstract: String
795
+ }
796
+
797
+ type Channel {
798
+ _id: String!
799
+ type: String!
800
+ handle: String
801
+ url: String!
802
+ linked: Boolean!
803
+ }
804
+
805
+ type AthletePreferences {
806
+ _id: String!
807
+ showProfileHelper: Boolean!
808
+ defaultAlbum: Album
809
+ }
810
+
811
+ type Video {
812
+ _id: String!
813
+ source: String!
814
+ url: String!
815
+ sourceData: String!
816
+ }
817
+
818
+ type FundRaisingCampaign {
819
+ _id: String!
820
+ athlete: AthleteReference!
821
+ budgetMode: String!
822
+ status: String!
823
+ title: String!
824
+ motivation: String
825
+ website: String
826
+ fundsRequired: Float!
827
+ initialFundsObtained: Float!
828
+ fundsObtained: Float!
829
+ location: WorldLocation
830
+ createdDate: DateTime!
831
+ endingDate: DateTime!
832
+ budget: Budget
833
+ competitions: [AthleteCompetition!]
834
+ vtxComissionPct: Float!
835
+ video: Video
836
+ }
837
+
838
+ type StripeCapabilityType {
839
+ acss_debit_payments: String
840
+ affirm_payments: String
841
+ afterpay_clearpay_payments: String
842
+ alma_payments: String
843
+ amazon_pay_payments: String
844
+ au_becs_debit_payments: String
845
+ bacs_debit_payments: String
846
+ bancontact_payments: String
847
+ bank_transfer_payments: String
848
+ blik_payments: String
849
+ boleto_payments: String
850
+ card_issuing: String
851
+ card_payments: String
852
+ cartes_bancaires_payments: String
853
+ cashapp_payments: String
854
+ eps_payments: String
855
+ fpx_payments: String
856
+ gb_bank_transfer_payments: String
857
+ giropay_payments: String
858
+ grabpay_payments: String
859
+ ideal_payments: String
860
+ india_international_payments: String
861
+ jcb_payments: String
862
+ jp_bank_transfer_payments: String
863
+ kakao_pay_payments: String
864
+ klarna_payments: String
865
+ konbini_payments: String
866
+ kr_card_payments: String
867
+ legacy_payments: String
868
+ link_payments: String
869
+ mobilepay_payments: String
870
+ multibanco_payments: String
871
+ mx_bank_transfer_payments: String
872
+ naver_pay_payments: String
873
+ oxxo_payments: String
874
+ p24_payments: String
875
+ pay_by_bank_payments: String
876
+ payco_payments: String
877
+ paynow_payments: String
878
+ promptpay_payments: String
879
+ revolut_pay_payments: String
880
+ samsung_pay_payments: String
881
+ sepa_bank_transfer_payments: String
882
+ sepa_debit_payments: String
883
+ sofort_payments: String
884
+ swish_payments: String
885
+ tax_reporting_us_1099_k: String
886
+ tax_reporting_us_1099_misc: String
887
+ transfers: String
888
+ treasury: String
889
+ twint_payments: String
890
+ us_bank_account_ach_payments: String
891
+ us_bank_transfer_payments: String
892
+ zip_payments: String
893
+ }
894
+
895
+ type StripeRequirementAlternativeType {
896
+ alternative_fields_due: [String!]!
897
+ original_fields_due: [String!]!
898
+ }
899
+
900
+ type StripeFutureRequirementAlternativeType {
901
+ alternative_fields_due: [String!]!
902
+ original_fields_due: [String!]!
903
+ }
904
+
905
+ type StripeErrorType {
906
+ code: String!
907
+ reason: String!
908
+ requirement: String!
909
+ }
910
+
911
+ type StripeRequirementType {
912
+ alternatives: [StripeRequirementAlternativeType!]
913
+ current_deadline: DateTime
914
+ currently_due: [String!]
915
+ disabled_reason: String
916
+ errors: [StripeErrorType!]
917
+ eventually_due: [String!]
918
+ past_due: [String!]
919
+ pending_verification: [String!]
920
+ }
921
+
922
+ type StripeFutureRequirementType {
923
+ alternatives: [StripeFutureRequirementAlternativeType!]
924
+ current_deadline: DateTime
925
+ currently_due: [String!]
926
+ disabled_reason: String
927
+ errors: [StripeErrorType!]
928
+ eventually_due: [String!]
929
+ past_due: [String!]
930
+ pending_verification: [String!]
931
+ }
932
+
933
+ type StripeAccount {
934
+ id: String!
935
+ object: String!
936
+ business_type: String
937
+ country: String!
938
+ email: String
939
+ capabilities: StripeCapabilityType
940
+ requirements: StripeRequirementType
941
+ future_requirements: StripeFutureRequirementType
942
+ type: String!
943
+ charges_enabled: Boolean!
944
+ payouts_enabled: Boolean!
945
+ created: DateTime
946
+ default_currency: String
947
+ }
948
+
949
+ type StripeAccountReference {
950
+ _id: String!
951
+ stripeAccountId: String!
952
+ account: StripeAccount
953
+ }
954
+
955
+ type HistoricalScore {
956
+ _id: String!
957
+ scoreType: String!
958
+ score: Float!
959
+ date: DateTime!
960
+ athleteId: String!
961
+ }
962
+
963
+ type AthleteReference {
964
+ _id: String!
965
+ firstName: String!
966
+ lastName: String!
967
+ screenName: String
968
+ dob: DateTime
969
+ lgbt: Boolean
970
+ competitionGender: String
971
+ country: Country
972
+ location: WorldLocation
973
+ trainer: String
974
+ trainerUrl: String
975
+ followStats: FollowStats
976
+ mainSport: Sport!
977
+ mainSportLevel: SportLevel!
978
+ scores: VtxScores!
979
+ rankings: AthleteRankings
980
+ totalUpcomingCompetitions: Float
981
+ totalPastCompetitions: Float
982
+ profilePicture: AWSS3File
983
+ cardPicture: AWSS3File
984
+ bannerPicture: AWSS3File
985
+ aboutMe: String
986
+ biography: String
987
+ preferences: AthletePreferences!
988
+ suspended: Boolean!
989
+ }
990
+
991
+ type Athlete {
992
+ _id: String!
993
+ firstName: String!
994
+ lastName: String!
995
+ screenName: String
996
+ dob: DateTime
997
+ lgbt: Boolean
998
+ competitionGender: String
999
+ country: Country
1000
+ location: WorldLocation
1001
+ trainer: String
1002
+ trainerUrl: String
1003
+ followStats: FollowStats
1004
+ mainSport: Sport!
1005
+ mainSportLevel: SportLevel!
1006
+ scores: VtxScores!
1007
+ rankings: AthleteRankings
1008
+ totalUpcomingCompetitions: Float
1009
+ totalPastCompetitions: Float
1010
+ profilePicture: AWSS3File
1011
+ cardPicture: AWSS3File
1012
+ bannerPicture: AWSS3File
1013
+ aboutMe: String
1014
+ biography: String
1015
+ preferences: AthletePreferences!
1016
+ suspended: Boolean!
1017
+ allSports: [Sport!]
1018
+ teams: [Team!]
1019
+ sponsorBrands: [Brand!]
1020
+ competitions: [AthleteCompetition!]
1021
+ affiliations: [AthleteMembership!]
1022
+ newsLinks: [NewsLink!]
1023
+ channels: [Channel!]
1024
+ currentCampaign: FundRaisingCampaign
1025
+ fundingCampaigns: [FundRaisingCampaign!]
1026
+ stripeAccountReference: StripeAccountReference
1027
+ albums: [Album!]
1028
+ historicalScores: [HistoricalScore!]
1029
+ signedAgreements: [SignedAgreement!]
1030
+ }
1031
+
1032
+ type CheckoutSession {
1033
+ _id: ID!
1034
+ type: String
1035
+ estimatedStripeComission: Float
1036
+ stripeSessionId: String!
1037
+ stripeAccountId: String!
1038
+ donationAmount: Float!
1039
+ fromEmail: String
1040
+ confirmed: Boolean!
1041
+ completed: Boolean!
1042
+ completedDate: DateTime
1043
+ createdDate: DateTime!
1044
+ }
1045
+
1046
+ type FundingCheckoutSessionData {
1047
+ _id: ID!
1048
+ session: CheckoutSession
1049
+ fromName: String
1050
+ paidToAthlete: Float
1051
+ paidToVtx: Float
1052
+ fundingCampaign: FundRaisingCampaign
1053
+ mode: DonationMode!
1054
+ athleteId: String!
1055
+ athleteName: String!
1056
+ fromPhone: String
1057
+ message: String
1058
+ }
1059
+
1060
+ type SponsorAthleteInvitation {
1061
+ _id: String!
1062
+ name: String
1063
+ email: String!
1064
+ dateSent: DateTime!
1065
+ sponsor: Sponsor!
1066
+ magicLink: MagicLink!
1067
+ brand: Brand
1068
+ status: String!
1069
+ }
1070
+
1071
+ type StripeSession {
1072
+ account: String!
1073
+ client_secret: String!
1074
+ expires_at: Float!
1075
+ livemode: Boolean!
1076
+ }
1077
+
1078
+ type StripeCheckoutSession {
1079
+ id: String!
1080
+ vtxCheckoutSessionId: String!
1081
+ client_secret: String!
1082
+ expires_at: Float!
1083
+ livemode: Boolean!
1084
+ url: String!
1085
+ }
1086
+
1087
+ type StravaAthleteData {
1088
+ id: Float!
1089
+ username: String
1090
+ firstname: String!
1091
+ lastname: String!
1092
+ bio: String
1093
+ city: String
1094
+ state: String
1095
+ country: String
1096
+ sex: String
1097
+ premium: Boolean!
1098
+ profile: String
1099
+ created_at: String
1100
+ updated_at: String
1101
+ weight: Float
1102
+ }
1103
+
1104
+ type InstagramCursors {
1105
+ before: String
1106
+ after: String
1107
+ }
1108
+
1109
+ type InstagramPaging {
1110
+ cursors: InstagramCursors
1111
+ next: String
1112
+ }
1113
+
1114
+ type InstagramMetric {
1115
+ name: String!
1116
+ period: String!
1117
+ values: String!
1118
+ }
1119
+
1120
+ type InstagramInsights {
1121
+ data: [InstagramMetric!]
1122
+ }
1123
+
1124
+ type InstagramMediaItem {
1125
+ id: String!
1126
+ caption: String
1127
+ media_type: String!
1128
+ media_url: String
1129
+ permalink: String!
1130
+ thumbnail_url: String
1131
+ timestamp: String!
1132
+ username: String!
1133
+ like_count: Float
1134
+ comments_count: Float
1135
+ insights: InstagramInsights
1136
+ }
1137
+
1138
+ type InstagramMediaData {
1139
+ data: [InstagramMediaItem!]
1140
+ paging: InstagramPaging
1141
+ }
1142
+
1143
+ type InstagramUserData {
1144
+ user_id: String!
1145
+ username: String!
1146
+ name: String
1147
+ account_type: String
1148
+ followers_count: String
1149
+ media_count: Float
1150
+ }
1151
+
1152
+ type AthleteIntegrationReference {
1153
+ _id: String!
1154
+ athlete: AthleteReference!
1155
+ hasStravaIntegration: Boolean
1156
+ stravaTokenExpires: DateTime
1157
+ stravaAthleteData: StravaAthleteData
1158
+ hasInstagramIntegration: Boolean
1159
+ instagramTokenExpires: DateTime
1160
+ instagramUserData: InstagramUserData
1161
+ instagramMediaData: InstagramMediaData
1162
+ }
1163
+
1164
+ type Receipt {
1165
+ receiptId: String!
1166
+ campaignName: String
1167
+ athleteName: String
1168
+ donorName: String!
1169
+ amount: Float!
1170
+ currency: String!
1171
+ dateIssued: DateTime!
1172
+ confirmed: Boolean!
1173
+ message: String
1174
+ }
1175
+
1176
+ type ReceiptUrl {
1177
+ receiptId: String!
1178
+ }
1179
+
1180
+ type ErrorType {
1181
+ code: Float!
1182
+ message: String!
1183
+ }
1184
+
1185
+ type DeleteValuesResponse {
1186
+ deleted: [String!]!
1187
+ failedToDelete: [String!]!
1188
+ failureReason: [ErrorType!]!
1189
+ result: String!
1190
+ }
1191
+
1192
+ type BudgetItemReference {
1193
+ _id: String!
1194
+ concept: String!
1195
+ quantity: Float!
1196
+ itemCost: Float!
1197
+ unit: String
1198
+ totalCost: Float!
1199
+ }
1200
+
1201
+ type BudgetReference {
1202
+ _id: String!
1203
+ items: [BudgetItemReference!]!
1204
+ totalAmount: Float!
1205
+ }
1206
+
1207
+ type CompetitionBudgetReference {
1208
+ competitionId: String!
1209
+ eventName: String!
1210
+ budget: BudgetReference!
1211
+ }
1212
+
1213
+ type BaseBudgetData {
1214
+ id: String!
1215
+ dateCreated: String!
1216
+ type: String!
1217
+ name: String!
1218
+ budget: Float!
1219
+ }
1220
+
1221
+ type CompetitionBudgetData {
1222
+ id: String!
1223
+ dateCreated: String!
1224
+ type: String!
1225
+ name: String!
1226
+ budget: Float!
1227
+ eventDate: String!
1228
+ campaign: String
1229
+ items: [BudgetItemReference!]!
1230
+ }
1231
+
1232
+ type CampaignBudgetData {
1233
+ id: String!
1234
+ dateCreated: String!
1235
+ type: String!
1236
+ name: String!
1237
+ budget: Float!
1238
+ endingDate: String!
1239
+ competitions: Float
1240
+ fundsRequired: Float!
1241
+ initialFundsObtained: Float!
1242
+ status: FundingStatus!
1243
+ budgetMode: FundingMode!
1244
+ items: [BudgetItemReference!]
1245
+ competitionBudgets: [CompetitionBudgetReference!]
1246
+ }
1247
+
1248
+ enum FundingStatus {
1249
+ CREATED
1250
+ ACTIVE
1251
+ PAUSED
1252
+ COMPLETED
1253
+ CANCELLED
1254
+ }
1255
+
1256
+ enum FundingMode {
1257
+ FIXED_AMOUNT
1258
+ SINGLE_BUDGET
1259
+ COMPETITION_BUDGETS
1260
+ }
1261
+
1262
+ type BudgetData {
1263
+ competitions: [CompetitionBudgetData!]!
1264
+ campaigns: [CampaignBudgetData!]!
1265
+ }
1266
+
1267
+ type MergeEventsResponse {
1268
+ success: Boolean!
1269
+ mergedEvent: SportsEvent
1270
+ }
1271
+
1272
+ type BudgetItemUnit {
1273
+ _id: String!
1274
+ label: String!
1275
+ }
1276
+
1277
+ type BudgetConcept {
1278
+ _id: String!
1279
+ label: String
1280
+ }
1281
+
1282
+ type Donation {
1283
+ checkoutSessionId: String!
1284
+ fundingCheckoutSessionDataId: String!
1285
+ donationMode: String!
1286
+ donorName: String!
1287
+ donorEmail: String
1288
+ completed: Boolean!
1289
+ confirmed: Boolean!
1290
+ donationAmount: Float!
1291
+ completedDate: DateTime
1292
+ createdDate: DateTime
1293
+ athleteId: String!
1294
+ athleteName: String!
1295
+ message: String
1296
+ athleteReference: AthleteReference
1297
+ campaignReference: FundRaisingCampaign
1298
+ }
1299
+
1300
+ type Member {
1301
+ _id: String!
1302
+ fullName: String!
1303
+ screenName: String
1304
+ memberPicture: AWSS3File
1305
+ donations: [Donation!]!
1306
+ }
1307
+
1308
+ type AdminUserView {
1309
+ _id: String!
1310
+ loginEmail: String!
1311
+ firstName: String!
1312
+ lastName: String!
1313
+ screenName: String!
1314
+ domains: [DomainCredential!]
1315
+ athlete: Athlete
1316
+ member: Member
1317
+ suspended: Boolean!
1318
+ }
1319
+
1320
+ type AdminTransactionFundingDetails {
1321
+ paidToVtx: Float
1322
+ paidToAthlete: Float
1323
+ athleteId: String!
1324
+ athleteName: String!
1325
+ fromName: String
1326
+ fromPhone: String
1327
+ message: String
1328
+ mode: String
1329
+ }
1330
+
1331
+ type AdminTransactionView {
1332
+ _id: ID!
1333
+ createdDate: DateTime!
1334
+ stripeSessionId: String!
1335
+ concept: String
1336
+ donationAmount: Float!
1337
+ fromEmail: String
1338
+ type: String!
1339
+ confirmed: Boolean!
1340
+ completed: Boolean!
1341
+ completedDate: DateTime
1342
+ stripeAccountId: String!
1343
+ fundingDetails: AdminTransactionFundingDetails
1344
+ }
1345
+
1346
+ type Offer {
1347
+ _id: String!
1348
+ name: String
1349
+ label: String!
1350
+ decription: String
1351
+ offerImage: AWSS3File
1352
+ type: String!
1353
+ status: String!
1354
+ discountType: String!
1355
+ discountTypeData: String!
1356
+ conditions: [String!]
1357
+ brand: Brand!
1358
+ sponsor: Sponsor!
1359
+ criteria: AthleteCriteria
1360
+ dateStart: DateTime
1361
+ dateEnd: DateTime
1362
+ dateCreated: DateTime!
1363
+ totalCodes: Int!
1364
+ availableCodes: Int!
1365
+ availableCountries: [Country!]
1366
+ disclaimer: String
1367
+ genericCode: String
1368
+ featured: Boolean!
1369
+ }
1370
+
1371
+ type Promotion {
1372
+ _id: String!
1373
+ name: String
1374
+ label: String!
1375
+ decription: String
1376
+ offerImage: AWSS3File
1377
+ type: String!
1378
+ status: String!
1379
+ discountType: String!
1380
+ discountTypeData: String!
1381
+ conditions: [String!]
1382
+ brand: Brand!
1383
+ sponsor: Sponsor!
1384
+ criteria: AthleteCriteria
1385
+ dateStart: DateTime
1386
+ dateEnd: DateTime
1387
+ dateCreated: DateTime!
1388
+ totalCodes: Int!
1389
+ availableCodes: Int!
1390
+ availableCountries: [Country!]
1391
+ disclaimer: String
1392
+ genericCode: String!
1393
+ featured: Boolean!
1394
+ }
1395
+
1396
+ type CouponCode {
1397
+ _id: String!
1398
+ couponId: String!
1399
+ code: String!
1400
+ expires: DateTime
1401
+ dateCreated: DateTime!
1402
+ }
1403
+
1404
+ type Coupon {
1405
+ _id: String!
1406
+ name: String
1407
+ label: String!
1408
+ decription: String
1409
+ offerImage: AWSS3File
1410
+ type: String!
1411
+ status: String!
1412
+ discountType: String!
1413
+ discountTypeData: String!
1414
+ conditions: [String!]
1415
+ brand: Brand!
1416
+ sponsor: Sponsor!
1417
+ criteria: AthleteCriteria
1418
+ dateStart: DateTime
1419
+ dateEnd: DateTime
1420
+ dateCreated: DateTime!
1421
+ totalCodes: Int!
1422
+ availableCodes: Int!
1423
+ availableCountries: [Country!]
1424
+ disclaimer: String
1425
+ genericCode: String
1426
+ featured: Boolean!
1427
+ couponCodes: [CouponCode!]
1428
+ }
1429
+
1430
+ type OfferClaim {
1431
+ _id: String!
1432
+ offer: Offer!
1433
+ athlete: Athlete!
1434
+ claimedAt: DateTime!
1435
+ code: String
1436
+ }
1437
+
1438
+ type EligibilityResult {
1439
+ status: EligibilityStatus!
1440
+
1441
+ """Keys of criteria that failed (e.g., age, gender, location)"""
1442
+ failedCriteria: [String!]!
1443
+
1444
+ """Keys of criteria with missing athlete data"""
1445
+ missingFields: [String!]!
1446
+
1447
+ """User-facing messages for UI display"""
1448
+ messages: [String!]!
1449
+ }
1450
+
1451
+ """Status of athlete eligibility for an offer"""
1452
+ enum EligibilityStatus {
1453
+ ELIGIBLE
1454
+ NOT_ELIGIBLE
1455
+ UNKNOWN
1456
+ }
1457
+
1458
+ type EnhancedPaginationInfoType {
1459
+ """Current page number (0-based)"""
1460
+ currentPage: Int!
1461
+
1462
+ """Total number of pages"""
1463
+ totalPages: Int!
1464
+
1465
+ """Total number of items across all pages"""
1466
+ totalItems: Int!
1467
+
1468
+ """Number of items per page"""
1469
+ itemsPerPage: Int!
1470
+
1471
+ """Whether there is a next page available"""
1472
+ hasNextPage: Boolean!
1473
+
1474
+ """Whether there is a previous page available"""
1475
+ hasPreviousPage: Boolean!
1476
+
1477
+ """Starting index of items on current page (1-based for display)"""
1478
+ startIndex: Int!
1479
+
1480
+ """Ending index of items on current page (1-based for display)"""
1481
+ endIndex: Int!
1482
+ }
1483
+
1484
+ type OfferWithEligibility {
1485
+ _id: String!
1486
+ name: String
1487
+ label: String!
1488
+ decription: String
1489
+ offerImage: AWSS3File
1490
+ type: String!
1491
+ status: String!
1492
+ discountType: String!
1493
+ discountTypeData: String!
1494
+ conditions: [String!]
1495
+ brand: Brand!
1496
+ sponsor: Sponsor!
1497
+ criteria: AthleteCriteria
1498
+ dateStart: DateTime
1499
+ dateEnd: DateTime
1500
+ dateCreated: DateTime!
1501
+ totalCodes: Int!
1502
+ availableCodes: Int!
1503
+ availableCountries: [Country!]
1504
+ disclaimer: String
1505
+ featured: Boolean!
1506
+
1507
+ """Athlete eligibility status for this offer"""
1508
+ eligibility: EligibilityResult!
1509
+ }
1510
+
1511
+ type PaginatedOffersWithEligibility {
1512
+ items: [OfferWithEligibility!]!
1513
+ pagination: EnhancedPaginationInfoType!
1514
+ }
1515
+
1516
+ type PaginatedBrands {
1517
+ items: [Brand!]!
1518
+ pagination: EnhancedPaginationInfoType!
1519
+ }
1520
+
1521
+ type PaginatedSponsors {
1522
+ items: [Sponsor!]!
1523
+ pagination: EnhancedPaginationInfoType!
1524
+ }
1525
+
1526
+ type EditValueResponse {
1527
+ field: String!
1528
+ oldValue: String
1529
+ newValue: String
1530
+ changed: Boolean!
1531
+ }
1532
+
1533
+ type DeleteSingleValueResponse {
1534
+ idToDelete: String!
1535
+ deleted: Boolean!
1536
+ failureReason: ErrorType
1537
+ }
1538
+
1539
+ type ScoreRefreshDetail {
1540
+ status: ForceScoreRefreshStatus!
1541
+ message: String
1542
+ }
1543
+
1544
+ enum ForceScoreRefreshStatus {
1545
+ success
1546
+ failed
1547
+ skipped
1548
+ }
1549
+
1550
+ type ForceScoreRefreshResult {
1551
+ athleteId: String!
1552
+ athleteName: String
1553
+ status: ForceScoreRefreshStatus!
1554
+ message: String
1555
+ tpi: ScoreRefreshDetail
1556
+ spi: ScoreRefreshDetail
1557
+ api: ScoreRefreshDetail
1558
+ }
1559
+
1560
+ type ForceScoreRefreshResponse {
1561
+ results: [ForceScoreRefreshResult!]!
1562
+ successCount: Float!
1563
+ failureCount: Float!
1564
+ skippedCount: Float!
1565
+ }
1566
+
1567
+ type SortOrder {
1568
+ sortField: String!
1569
+ order: String!
1570
+ }
1571
+
1572
+ type CursorPaginationResponse {
1573
+ sort: SortOrder
1574
+ initialCursorId: String
1575
+ nextCursorId: String
1576
+ initialCursorValue: String
1577
+ nextCursorValue: String
1578
+ limit: Float!
1579
+ retrieved: Float!
1580
+ isLastPage: Boolean!
1581
+ }
1582
+
1583
+ type AthleteQueryResponse {
1584
+ athletes: [Athlete!]!
1585
+ cursor: CursorPaginationResponse!
1586
+ }
1587
+
1588
+ type EditPictureResponse {
1589
+ field: String!
1590
+ oldValue: AWSS3File
1591
+ newValue: AWSS3File
1592
+ changed: Boolean!
1593
+ }
1594
+
1595
+ type AddValuesResponse {
1596
+ added: [String!]!
1597
+ failedToAdd: [String!]
1598
+ failureReason: [ErrorType!]
1599
+ result: String!
1600
+ }
1601
+
1602
+ type ExistValueResponse {
1603
+ exist: Boolean!
1604
+ }
1605
+
1606
+ type CompetitionDeleteVerificationReason {
1607
+ code: String!
1608
+ message: String!
1609
+ details: String
1610
+ }
1611
+
1612
+ type CompetitionDeleteVerificationResponse {
1613
+ reasons: [CompetitionDeleteVerificationReason!]!
1614
+ }
1615
+
1616
+ type HistoricalScoresPeriod {
1617
+ athleteId: String!
1618
+ athleteFirstName: String!
1619
+ athleteLastName: String!
1620
+ screenName: String!
1621
+ minTimestampInclusive: DateTime!
1622
+ maxTimestampExclusive: DateTime!
1623
+ vtxScores: [HistoricalScore!]
1624
+ tpiScores: [HistoricalScore!]
1625
+ spiScores: [HistoricalScore!]
1626
+ apiScores: [HistoricalScore!]
1627
+ }
1628
+
1629
+ type StripeObject {
1630
+ type: String!
1631
+ json: JSONObject!
1632
+ }
1633
+
1634
+ """
1635
+ The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
1636
+ """
1637
+ scalar JSONObject
1638
+
1639
+ type ScoreRefreshCapability {
1640
+ athleteId: String!
1641
+ athleteName: String
1642
+ canRefreshTpi: Boolean!
1643
+ canRefreshSpi: Boolean!
1644
+ canRefreshApi: Boolean!
1645
+ tpiReason: String
1646
+ spiReason: String
1647
+ apiReason: String
1648
+ }
1649
+
1650
+ type CheckScoreRefreshCapabilityResponse {
1651
+ capabilities: [ScoreRefreshCapability!]!
1652
+ }
1653
+
1654
+ type PaginatedSports {
1655
+ items: [Sport!]!
1656
+ pagination: EnhancedPaginationInfoType!
1657
+ }
1658
+
1659
+ type UserImages {
1660
+ profilePictureUrl: String
1661
+ cardPictureUrl: String
1662
+ bannerPictureUrl: String
1663
+ }
1664
+
1665
+ type ValidatedToken {
1666
+ accessToken: String!
1667
+ refreshToken: String!
1668
+ expiresAt: Float!
1669
+ refreshExpiresAt: Float!
1670
+ }
1671
+
1672
+ type DeleteVtxUserResponse {
1673
+ success: Boolean!
1674
+ deletedUserId: String
1675
+ deletedUserEmail: String
1676
+ deletedUserType: String
1677
+ servicesDeleted: [String!]
1678
+ cognitoDeleted: Boolean
1679
+ dbDeleted: Boolean
1680
+ errorMessage: String
1681
+ }
1682
+
1683
+ type PaginatedUsers {
1684
+ items: [AdminUserView!]!
1685
+ pagination: EnhancedPaginationInfoType!
1686
+ }
1687
+
1688
+ type TransactionDetails {
1689
+ stripeCheckoutSessionId: String!
1690
+ vtxCheckoutSessionId: String!
1691
+ checkoutSessionType: String!
1692
+ transactionType: String!
1693
+ confirmed: Boolean!
1694
+ completed: Boolean!
1695
+ currency: String!
1696
+ createdDate: DateTime!
1697
+ email: String
1698
+ name: String
1699
+ phone: String
1700
+ payment_status: String
1701
+ status: String
1702
+ amount_subtotal: Float
1703
+ amount_total: Float
1704
+ completedDate: DateTime
1705
+ athleteDonationReceipt: Receipt
1706
+ }
1707
+
1708
+ type PaginatedEvents {
1709
+ items: [SportsEvent!]!
1710
+ pagination: EnhancedPaginationInfoType!
1711
+ }
1712
+
1713
+ type CurrencyAmountType {
1714
+ amount: Float!
1715
+ currency: String!
1716
+ }
1717
+
1718
+ type StripeBalance {
1719
+ availableUSD: Float!
1720
+ pendingUSD: Float!
1721
+ currency: String!
1722
+ availableBalances: [CurrencyAmountType!]!
1723
+ pendingBalances: [CurrencyAmountType!]!
1724
+ }
1725
+
1726
+ type StripeTransfer {
1727
+ _id: ID!
1728
+ stripeId: String
1729
+ amount: Float!
1730
+ amount_reversed: Float!
1731
+ currency: String!
1732
+ destination: String
1733
+ description: String
1734
+ reversed: Boolean!
1735
+ livemode: Boolean!
1736
+ transfer_group: String
1737
+ status: StripeTransferStatus!
1738
+ lastError: String
1739
+ json: String!
1740
+ }
1741
+
1742
+ """Status of the Stripe transfer"""
1743
+ enum StripeTransferStatus {
1744
+ not_applicable
1745
+ pending
1746
+ failed
1747
+ completed
1748
+ }
1749
+
1750
+ type UserDomain {
1751
+ _id: String!
1752
+ user: User
1753
+ }
1754
+
1755
+ type PaginatedTransactions {
1756
+ items: [AdminTransactionView!]!
1757
+ pagination: EnhancedPaginationInfoType!
1758
+ }
1759
+
1760
+ type PaginatedOffers {
1761
+ items: [Offer!]!
1762
+ pagination: EnhancedPaginationInfoType!
1763
+ }
1764
+
1765
+ type UploadResult {
1766
+ addedCodes: Int!
1767
+ duplicateCodes: Int!
1768
+ invalidRows: [String!]!
1769
+ }
1770
+
1771
+ type OfferAvailability {
1772
+ available: Boolean!
1773
+ reason: String
1774
+ }
1775
+
1776
+ type LeaderboardEntry {
1777
+ rank: Int!
1778
+
1779
+ """
1780
+ Rank change since yesterday. Positive = moved up, negative = moved down, null = new/no history
1781
+ """
1782
+ rankChange: Int
1783
+ athleteId: String!
1784
+ screenName: String
1785
+ firstName: String
1786
+ lastName: String
1787
+ profilePicture: String
1788
+ score: Float!
1789
+ countryCode: String
1790
+ cityName: String
1791
+ countryRank: Int
1792
+ sportId: String
1793
+ vtxScore: Float
1794
+ trainingScore: Float
1795
+ socialScore: Float
1796
+ competitionScore: Float
1797
+ mainSport: String
1798
+ mainSportLevel: String
1799
+ }
1800
+
1801
+ type LeaderboardPagination {
1802
+ page: Int!
1803
+ limit: Int!
1804
+ total: Int!
1805
+ totalPages: Int!
1806
+ }
1807
+
1808
+ type LeaderboardFilters {
1809
+ scoreType: String!
1810
+ sportId: String
1811
+ countryCode: String
1812
+ }
1813
+
1814
+ type LeaderboardResponse {
1815
+ entries: [LeaderboardEntry!]!
1816
+ pagination: LeaderboardPagination!
1817
+ filters: LeaderboardFilters!
1818
+ }
1819
+
1820
+ type UserRank {
1821
+ globalRank: Int!
1822
+ countryRank: Int
1823
+ score: Float!
1824
+ scoreType: String!
1825
+ }
1826
+
1827
+ type DashboardSummary {
1828
+ vtxScore: Float!
1829
+ socialScore: Float!
1830
+ trainingScore: Float!
1831
+ competitionScore: Float!
1832
+ lastUpdated: DateTime!
1833
+ }
1834
+
1835
+ type ScoreHistoryEntry {
1836
+ date: DateTime!
1837
+ vtxScore: Float
1838
+ socialScore: Float
1839
+ trainingScore: Float
1840
+ competitionScore: Float
1841
+ }
1842
+
1843
+ type RankHistoryEntry {
1844
+ date: DateTime!
1845
+ globalRank: Int
1846
+ countryRank: Int
1847
+ }
1848
+
1849
+ type RankContext {
1850
+ globalRank: Int
1851
+ countryRank: Int
1852
+
1853
+ """Rank change since previous snapshot"""
1854
+ rankChange: Int
1855
+
1856
+ """
1857
+ e.g., "Top 8%"
1858
+ """
1859
+ percentile: String
1860
+
1861
+ """Points needed to reach next rank"""
1862
+ gapToNext: Float
1863
+
1864
+ """Points buffer above rank below"""
1865
+ gapFromPrevious: Float
1866
+
1867
+ """Total athletes in scope"""
1868
+ totalAthletes: Int
1869
+ }
1870
+
1871
+ type ActivityEntry {
1872
+ id: String!
1873
+ date: DateTime!
1874
+
1875
+ """Activity type (e.g., running, post, competition)"""
1876
+ type: String!
1877
+
1878
+ """Activity-specific metrics"""
1879
+ metrics: JSONObject
1880
+ pointsEarned: Float!
1881
+ counted: Boolean!
1882
+
1883
+ """Reason if not counted"""
1884
+ notCountedReason: String
1885
+
1886
+ """Metric keys where this activity set a new personal record"""
1887
+ prMetrics: [String!]
1888
+ }
1889
+
1890
+ type ActivitiesResponse {
1891
+ items: [ActivityEntry!]!
1892
+ total: Int!
1893
+ hasMore: Boolean!
1894
+ }
1895
+
1896
+ type MetricComparison {
1897
+ name: String!
1898
+ value: Float
1899
+ unit: String
1900
+ athleteAverage: Float
1901
+
1902
+ """Athlete personal best for this metric"""
1903
+ athleteMax: Float
1904
+
1905
+ """Percentage difference from average: ((value - avg) / avg) * 100"""
1906
+ comparisonPercent: Float
1907
+ }
1908
+
1909
+ type ScoreInfo {
1910
+ earned: Float!
1911
+ maxPossible: Float!
1912
+ componentAverage: Float
1913
+ }
1914
+
1915
+ type ActivityDetail {
1916
+ id: String!
1917
+ date: DateTime!
1918
+ type: String!
1919
+
1920
+ """training or social"""
1921
+ category: String!
1922
+ metrics: [MetricComparison!]!
1923
+ scoreInfo: ScoreInfo!
1924
+
1925
+ """Metric keys where this activity set a new personal record"""
1926
+ prMetrics: [String!]
1927
+ }
1928
+
1929
+ type TopMetric {
1930
+ name: String!
1931
+
1932
+ """strong, weak, or average"""
1933
+ status: String!
1934
+ }
1935
+
1936
+ type ComponentSummary {
1937
+ name: String!
1938
+ score: Float!
1939
+ maxScore: Float!
1940
+
1941
+ """Score change from 7 days ago"""
1942
+ trend: Float
1943
+ trendPeriod: String!
1944
+ activityCount: Int!
1945
+ avgScorePerActivity: Float
1946
+ topMetrics: [TopMetric!]!
1947
+
1948
+ """Activity IDs that set a new max for any metric"""
1949
+ newMaxActivityIds: [String!]
1950
+ }
1951
+
1952
+ type ActivityDateEntry {
1953
+ date: DateTime!
1954
+ category: ActivityCategory!
1955
+ count: Int!
1956
+ types: [String!]!
1957
+ }
1958
+
1959
+ """Category of athlete activity"""
1960
+ enum ActivityCategory {
1961
+ TRAINING
1962
+ SOCIAL
1963
+ COMPETITION
1964
+ }
1965
+
1966
+ type ActivityDatesResponse {
1967
+ dates: [ActivityDateEntry!]!
1968
+ }
1969
+
1970
+ type SocialAggregateType {
1971
+ _id: ID!
1972
+ athleteId: String!
1973
+ platform: Platform!
1974
+ contentType: ContentType
1975
+ periodType: PeriodType!
1976
+ periodLabel: String!
1977
+ periodStart: DateTime!
1978
+ periodEnd: DateTime!
1979
+ totalLikes: Int!
1980
+ totalComments: Int!
1981
+ totalShares: Int!
1982
+ totalSaves: Int!
1983
+ totalReach: Int!
1984
+ totalViews: Int!
1985
+ totalImpressions: Int!
1986
+ postCount: Int!
1987
+ followerCount: Int!
1988
+ avgEngagementRate: Float!
1989
+ avgPostEngagement: Float!
1990
+ }
1991
+
1992
+ """Social media platform"""
1993
+ enum Platform {
1994
+ INSTAGRAM
1995
+ TIKTOK
1996
+ YOUTUBE
1997
+ }
1998
+
1999
+ """Type of social media content"""
2000
+ enum ContentType {
2001
+ POST
2002
+ REEL
2003
+ LIVE
2004
+ SHORT
2005
+ VIDEO
2006
+ }
2007
+
2008
+ """Aggregation period type"""
2009
+ enum PeriodType {
2010
+ DAILY
2011
+ WEEKLY
2012
+ }
2013
+
2014
+ type PostMetricType {
2015
+ id: ID!
2016
+ postId: String!
2017
+ permalink: String
2018
+ thumbnailUrl: String
2019
+ contentType: ContentType
2020
+ caption: String
2021
+ postedAt: DateTime!
2022
+ likes: Int!
2023
+ comments: Int!
2024
+ shares: Int!
2025
+ saves: Int!
2026
+ reach: Int
2027
+ vsAvgPercent: Float!
2028
+ }
2029
+
2030
+ type AveragesType {
2031
+ likes: Float!
2032
+ comments: Float!
2033
+ reach: Float
2034
+ engagementRate: Float!
2035
+ }
2036
+
2037
+ type PostComparisonResultType {
2038
+ posts: [PostMetricType!]!
2039
+ averages: AveragesType!
2040
+ total: Int!
2041
+ hasMore: Boolean!
2042
+ }
2043
+
2044
+ input CreateDatabaseFileDto {
2045
+ identifier: String!
2046
+ version: String! = "1.0.0"
2047
+ contentType: String!
2048
+ }
2049
+
2050
+ input CreateTextDatabaseFileDto {
2051
+ identifier: String!
2052
+ version: String! = "1.0.0"
2053
+ contentType: String!
2054
+ content: String! = ""
2055
+ }
2056
+
2057
+ input UpdateDatabaseFileDto {
2058
+ _id: String!
2059
+ identifier: String
2060
+ version: String
2061
+ contentType: String
2062
+ }
2063
+
2064
+ input UpdateTextDatabaseFileDto {
2065
+ _id: String!
2066
+ identifier: String
2067
+ version: String
2068
+ contentType: String
2069
+ content: String
2070
+ }
2071
+
2072
+ input CloneDatabaseFileDto {
2073
+ _id: String!
2074
+ version: String
2075
+ }
2076
+
2077
+ input FindDatabaseFilesDto {
2078
+ _id: String
2079
+ identifier: String
2080
+ version: String
2081
+ }
2082
+
2083
+ input GetDatabaseFileDto {
2084
+ identifier: String!
2085
+ version: String!
2086
+ }
2087
+
2088
+ input CreateVerificationCodeDto {
2089
+ type: String
2090
+ recipient: String
2091
+ expiresTime: Float = 10
2092
+ expiresUnit: String = "MINUTES"
2093
+ data: String
2094
+ }
2095
+
2096
+ input VerifyCodeDto {
2097
+ codeId: String!
2098
+ enteredCodeValue: String!
2099
+ type: String
2100
+ }
2101
+
2102
+ input DonationCheckoutDto {
2103
+ fundingCampaignId: String!
2104
+ donationAmount: Float!
2105
+ mode: String! = "private"
2106
+ fromName: String
2107
+ fromEmail: String
2108
+ fromPhone: String
2109
+ message: String
2110
+ clientType: String = "WEB"
2111
+ }
2112
+
2113
+ input CreateBrandDto {
2114
+ name: String!
2115
+ description: String
2116
+ slogan: String
2117
+ website: String
2118
+ affiliateLink: String
2119
+ logo: AWSS3UploadedFileDto
2120
+ banner: AWSS3UploadedFileDto
2121
+ translations: [BrandTranslationDto!]
2122
+ sponsorId: String
2123
+ approved: Boolean
2124
+ published: Boolean
2125
+ }
2126
+
2127
+ input AWSS3UploadedFileDto {
2128
+ key: String!
2129
+ useType: String!
2130
+ contentType: String!
2131
+ originalFileName: String
2132
+ fileSize: Float
2133
+ }
2134
+
2135
+ input BrandTranslationDto {
2136
+ brandId: String!
2137
+ language: String!
2138
+ name: String
2139
+ description: String
2140
+ slogan: String
2141
+ logo: AWSS3UploadedFileDto
2142
+ banner: AWSS3UploadedFileDto
2143
+ }
2144
+
2145
+ input BrandQueryDto {
2146
+ """Page number (0-based)"""
2147
+ page: Int = 0
2148
+
2149
+ """Number of items per page"""
2150
+ limit: Int = 25
2151
+
2152
+ """Search query for brand name, slogan, or website"""
2153
+ search: String
2154
+
2155
+ """Filter by approved status"""
2156
+ approved: String
2157
+
2158
+ """Filter by published status"""
2159
+ published: String
2160
+
2161
+ """Sort field"""
2162
+ sortField: String = "name"
2163
+
2164
+ """Sort order"""
2165
+ sortOrder: String = "asc"
2166
+ }
2167
+
2168
+ input CreateSponsorDto {
2169
+ name: String!
2170
+ description: String
2171
+ email: String!
2172
+ }
2173
+
2174
+ input AthleteInvitationDto {
2175
+ email: String!
2176
+ name: String
2177
+ sender: String
2178
+ brandId: String
2179
+ }
2180
+
2181
+ input InviteAthletesDto {
2182
+ language: String = "en"
2183
+ invitations: [AthleteInvitationDto!]!
2184
+ }
2185
+
2186
+ input SponsorQueryDto {
2187
+ """Page number (0-based)"""
2188
+ page: Int = 0
2189
+
2190
+ """Number of items per page"""
2191
+ limit: Int = 25
2192
+
2193
+ """Search query for sponsor name or description"""
2194
+ search: String
2195
+
2196
+ """Filter by approved status"""
2197
+ approved: String
2198
+
2199
+ """Filter by published status"""
2200
+ published: String
2201
+
2202
+ """Sort field"""
2203
+ sortField: String = "name"
2204
+
2205
+ """Sort order"""
2206
+ sortOrder: String = "asc"
2207
+ }
2208
+
2209
+ input CompetitionResultDto {
2210
+ resultType: String!
2211
+ position: Float
2212
+ score: String
2213
+ finishTimeMS: Float
2214
+ resultWebLink: String
2215
+ totalParticipants: Float
2216
+ outcome: String!
2217
+ adversary: String
2218
+ genderPosition: Float
2219
+ genderParticipants: Float
2220
+ categoryPosition: Float
2221
+ categoryParticipants: Float
2222
+ categoryName: String
2223
+ }
2224
+
2225
+ input SetCompetitionResultDto {
2226
+ resultType: String!
2227
+ position: Float
2228
+ score: String
2229
+ finishTimeMS: Float
2230
+ resultWebLink: String
2231
+ totalParticipants: Float
2232
+ outcome: String!
2233
+ adversary: String
2234
+ genderPosition: Float
2235
+ genderParticipants: Float
2236
+ categoryPosition: Float
2237
+ categoryParticipants: Float
2238
+ categoryName: String
2239
+ competitionId: String!
2240
+ }
2241
+
2242
+ input CreateAthleteCompetitionDto {
2243
+ event: String!
2244
+ date: DateTime!
2245
+ eventWebsite: String
2246
+ competitionNumber: String
2247
+ result: CompetitionResultDto
2248
+ cityId: String
2249
+ }
2250
+
2251
+ input CreateAthleteCompetitionForDto {
2252
+ event: String!
2253
+ date: DateTime!
2254
+ eventWebsite: String
2255
+ competitionNumber: String
2256
+ result: CompetitionResultDto
2257
+ cityId: String
2258
+ loginEmail: String!
2259
+ }
2260
+
2261
+ input SortCriteriaDto {
2262
+ sortField: String!
2263
+ order: String! = "ASC"
2264
+ }
2265
+
2266
+ input CursorPositionDto {
2267
+ cursorId: String!
2268
+ cursorFieldValue: String!
2269
+ }
2270
+
2271
+ input CursorPaginationDto {
2272
+ sortCriteria: SortCriteriaDto
2273
+ limit: Float = 25
2274
+ cursorPosition: CursorPositionDto
2275
+ }
2276
+
2277
+ input DeleteSingleValueDto {
2278
+ idToDelete: String!
2279
+ }
2280
+
2281
+ input FundCampaignFilterDto {
2282
+ campaignTitle: String
2283
+ status: String
2284
+ minCompletion: Float
2285
+ maxCompletion: Float
2286
+ minFundsRequired: Float
2287
+ maxFundsRequired: Float
2288
+ minEndingDate: DateTime
2289
+ maxEndingDate: DateTime
2290
+ competitions: [String!]
2291
+ cities: [String!]
2292
+ states: [String!]
2293
+ countries: [String!]
2294
+ }
2295
+
2296
+ input AthleteFilterDto {
2297
+ name: String
2298
+ cities: [String!]
2299
+ states: [String!]
2300
+ countries: [String!]
2301
+ nacionalities: [String!]
2302
+ teams: [String!]
2303
+ currentCampaign: FundCampaignFilterDto
2304
+ sports: [String!]
2305
+ sportLevels: [String!]
2306
+ mainSportOnly: Boolean = true
2307
+ gender: String
2308
+ minAge: Float
2309
+ maxAge: Float
2310
+ minDob: DateTime
2311
+ maxDob: DateTime
2312
+ minVTXScore: Float
2313
+ maxVTXScore: Float
2314
+ minSocialScore: Float
2315
+ maxSocialScore: Float
2316
+ minTrainingScore: Float
2317
+ maxTrainingScore: Float
2318
+ minPerformanceScore: Float
2319
+ maxPerformanceScore: Float
2320
+ futureEventIds: [String!]
2321
+ pastEventIds: [String!]
2322
+ }
2323
+
2324
+ input AthleteQueryDto {
2325
+ cursor: CursorPaginationDto
2326
+ filters: AthleteFilterDto
2327
+ }
2328
+
2329
+ input EditPictureDto {
2330
+ field: String!
2331
+ newPicture: AWSS3UploadedFileDto
2332
+ }
2333
+
2334
+ input UploadAlbumsPicturesDto {
2335
+ label: String!
2336
+ description: String
2337
+ pictures: [AWSS3UploadedFileDto!]
2338
+ albumId: String
2339
+ visibility: String
2340
+ competitionId: String
2341
+ }
2342
+
2343
+ input DeleteValuesDto {
2344
+ idsToDelete: [String!]!
2345
+ allOrNone: Boolean = true
2346
+ }
2347
+
2348
+ input existValueDto {
2349
+ Value: String!
2350
+ }
2351
+
2352
+ input GetMyHistoricalScoresDto {
2353
+ minTimestampInclusive: DateTime!
2354
+ maxTimestampExclusive: DateTime!
2355
+ scoreTypes: [String!]!
2356
+ }
2357
+
2358
+ input GetHistoricalScoresDto {
2359
+ minTimestampInclusive: DateTime!
2360
+ maxTimestampExclusive: DateTime!
2361
+ scoreTypes: [String!]!
2362
+ athleteIdOrEmail: String!
2363
+ }
2364
+
2365
+ input GetAthleteCampaignsDto {
2366
+ athleteId: String!
2367
+ }
2368
+
2369
+ input ForceScoreRefreshDto {
2370
+ athleteIds: [String!]!
2371
+ }
2372
+
2373
+ input CheckScoreRefreshCapabilityDto {
2374
+ athleteIds: [String!]!
2375
+ }
2376
+
2377
+ input SportQueryDto {
2378
+ """Page number (0-based)"""
2379
+ page: Int = 0
2380
+
2381
+ """Number of items per page"""
2382
+ limit: Int = 25
2383
+
2384
+ """Search query for sport name"""
2385
+ search: String
2386
+
2387
+ """Filter by result type (POSITION, TIME, etc.)"""
2388
+ resultType: String
2389
+
2390
+ """Filter by verified status"""
2391
+ verified: String
2392
+
2393
+ """Sort field"""
2394
+ sortField: String = "name"
2395
+
2396
+ """Sort order"""
2397
+ sortOrder: String = "asc"
2398
+ }
2399
+
2400
+ input QualificationDto {
2401
+ type: String!
2402
+ }
2403
+
2404
+ input AgeQualificationDto {
2405
+ type: String!
2406
+ value: Float!
2407
+ operator: String!
2408
+ }
2409
+
2410
+ input GenderQualificationDto {
2411
+ type: String!
2412
+ operator: String!
2413
+ values: [String!]!
2414
+ }
2415
+
2416
+ input NationalityQualificationDto {
2417
+ type: String!
2418
+ operator: String!
2419
+ countries: [String!]!
2420
+ }
2421
+
2422
+ input ScoreQualificationDto {
2423
+ type: String!
2424
+ scoreType: String!
2425
+ operator: String!
2426
+ value: Float!
2427
+ }
2428
+
2429
+ input LocationQualificationDto {
2430
+ type: String!
2431
+ operator: String!
2432
+ countries: [String!]!
2433
+ states: [String!]!
2434
+ cities: [String!]!
2435
+ }
2436
+
2437
+ input DistanceQualificationDto {
2438
+ type: String!
2439
+ maxDistance: Float!
2440
+ latitude: Float
2441
+ longitude: Float
2442
+ cityId: String
2443
+ }
2444
+
2445
+ input SportsQualificationDto {
2446
+ type: String!
2447
+ sports: [String!]!
2448
+ operator: String!
2449
+ }
2450
+
2451
+ input SportsLevelQualificationDto {
2452
+ type: String!
2453
+ operator: String!
2454
+ level: String!
2455
+ }
2456
+
2457
+ input RegisterUserDto {
2458
+ email: String!
2459
+ password: String!
2460
+ inviteCode: String
2461
+ }
2462
+
2463
+ input DeleteAthleteDto {
2464
+ userIdentifier: String!
2465
+ }
2466
+
2467
+ input resetPasswordDto {
2468
+ code: VerifyCodeDto!
2469
+ newPassword: String
2470
+ }
2471
+
2472
+ input UpdateUserSuspendedStatusDto {
2473
+ userId: String!
2474
+ suspended: Boolean!
2475
+ }
2476
+
2477
+ input UserQueryDto {
2478
+ """Page number (0-based)"""
2479
+ page: Int = 0
2480
+
2481
+ """Number of items per page"""
2482
+ limit: Int = 25
2483
+
2484
+ """Search query for user info"""
2485
+ search: String
2486
+
2487
+ """Filter by user type (athlete, member, sponsor)"""
2488
+ userType: String
2489
+
2490
+ """Filter by suspension status"""
2491
+ suspended: String
2492
+
2493
+ """Filter by sport (athlete-specific)"""
2494
+ sport: String
2495
+
2496
+ """Filter by sport level (athlete-specific)"""
2497
+ sportLevel: String
2498
+
2499
+ """Filter by gender (athlete-specific)"""
2500
+ gender: String
2501
+
2502
+ """Filter by location (athlete-specific)"""
2503
+ location: String
2504
+
2505
+ """Filter by nationality (athlete-specific)"""
2506
+ nationality: String
2507
+
2508
+ """Filter by minimum age (athlete-specific)"""
2509
+ ageMin: String
2510
+
2511
+ """Filter by maximum age (athlete-specific)"""
2512
+ ageMax: String
2513
+
2514
+ """Sort field"""
2515
+ sortField: String = "loginEmail"
2516
+
2517
+ """Sort order"""
2518
+ sortOrder: String = "asc"
2519
+ }
2520
+
2521
+ input DeleteVtxUserDto {
2522
+ userIdentifier: String!
2523
+ }
2524
+
2525
+ input GetReceiptDto {
2526
+ _id: String!
2527
+ }
2528
+
2529
+ input StripeQueryDto {
2530
+ operation: String!
2531
+ id: String!
2532
+ params: String
2533
+ }
2534
+
2535
+ input GetTransactionDetailsDto {
2536
+ vtxSessionId: String
2537
+ stripeSessionId: String
2538
+ }
2539
+
2540
+ input UpdateSportEventDto {
2541
+ _id: String!
2542
+ name: String
2543
+ cityId: String
2544
+ sportId: String
2545
+ startDate: DateTime
2546
+ endDate: DateTime
2547
+ website: String
2548
+ banner: AWSS3UploadedFileDto
2549
+ eventLevel: String
2550
+ }
2551
+
2552
+ input MergeSportsEventsDto {
2553
+ mergeTo: String!
2554
+ mergeName: String
2555
+ mergeStartDate: DateTime
2556
+ mergeEndDate: DateTime
2557
+ mergeWebsite: String
2558
+ mergeIds: [String!]!
2559
+ }
2560
+
2561
+ input EventQueryDto {
2562
+ """Page number (0-based)"""
2563
+ page: Int = 0
2564
+
2565
+ """Number of items per page"""
2566
+ limit: Int = 25
2567
+
2568
+ """Search query for event name or location"""
2569
+ search: String
2570
+
2571
+ """Filter by verified status"""
2572
+ verified: String
2573
+
2574
+ """Filter by sport name"""
2575
+ sport: String
2576
+
2577
+ """Filter by location (city, state, or country)"""
2578
+ location: String
2579
+
2580
+ """Filter by start date from (ISO string)"""
2581
+ dateFrom: String
2582
+
2583
+ """Filter by end date to (ISO string)"""
2584
+ dateTo: String
2585
+
2586
+ """Sort field"""
2587
+ sortField: String = "name"
2588
+
2589
+ """Sort order"""
2590
+ sortOrder: String = "asc"
2591
+ }
2592
+
2593
+ input BudgetItemDto {
2594
+ quantity: Float!
2595
+ concept: String!
2596
+ itemCost: Float!
2597
+ unit: String = ""
2598
+ }
2599
+
2600
+ input CreateBudgetItemDto {
2601
+ quantity: Float!
2602
+ concept: String!
2603
+ itemCost: Float!
2604
+ unit: String = ""
2605
+ budgetId: String!
2606
+ }
2607
+
2608
+ input CreateBudgetDto {
2609
+ initialFunds: Float = 0
2610
+ items: [BudgetItemDto!]
2611
+ }
2612
+
2613
+ input CreateCompetitionBudgetDto {
2614
+ initialFunds: Float = 0
2615
+ items: [BudgetItemDto!]
2616
+ athleteCompetitionId: String!
2617
+ }
2618
+
2619
+ input CreateVideoDto {
2620
+ source: String!
2621
+ url: String!
2622
+ sourceData: String! = "{}"
2623
+ }
2624
+
2625
+ input CreateFundingCampaignDto {
2626
+ budgetMode: String!
2627
+ title: String!
2628
+ motivation: String!
2629
+ website: String
2630
+ fundsRequired: Float!
2631
+ initialFundsObtained: Float! = 0
2632
+ cityId: String
2633
+ endingDate: DateTime!
2634
+ budget: CreateBudgetDto
2635
+ competitionBudgets: [CreateCompetitionBudgetDto!]
2636
+ competitionIds: [String!]
2637
+ video: CreateVideoDto
2638
+ }
2639
+
2640
+ input CreateFundingCampaignForDto {
2641
+ budgetMode: String!
2642
+ title: String!
2643
+ motivation: String!
2644
+ website: String
2645
+ fundsRequired: Float!
2646
+ initialFundsObtained: Float! = 0
2647
+ cityId: String
2648
+ endingDate: DateTime!
2649
+ budget: CreateBudgetDto
2650
+ competitionBudgets: [CreateCompetitionBudgetDto!]
2651
+ competitionIds: [String!]
2652
+ video: CreateVideoDto
2653
+ loginEmail: String!
2654
+ }
2655
+
2656
+ input UpdateFundingCampaignDto {
2657
+ budgetMode: String!
2658
+ title: String!
2659
+ motivation: String!
2660
+ website: String
2661
+ fundsRequired: Float!
2662
+ initialFundsObtained: Float! = 0
2663
+ cityId: String
2664
+ endingDate: DateTime!
2665
+ budget: CreateBudgetDto
2666
+ competitionBudgets: [CreateCompetitionBudgetDto!]
2667
+ competitionIds: [String!]
2668
+ video: CreateVideoDto
2669
+ _id: String!
2670
+ }
2671
+
2672
+ input SetFundingStatusDto {
2673
+ fundingCampaignId: String!
2674
+ newStatus: String!
2675
+ }
2676
+
2677
+ input BudgetDto {
2678
+ items: [BudgetItemDto!]!
2679
+ fundingMode: String
2680
+ }
2681
+
2682
+ input AddCompetitionBudgetDto {
2683
+ competitionId: String!
2684
+ budget: BudgetDto!
2685
+ }
2686
+
2687
+ input EditCompetitionBudgetDto {
2688
+ competitionId: String!
2689
+ budget: BudgetDto!
2690
+ }
2691
+
2692
+ input EditCampaignBudgetDto {
2693
+ campaignId: String!
2694
+ competitionId: String
2695
+ fundsRequired: Float
2696
+ initialFundsObtained: Float
2697
+ budget: BudgetDto
2698
+ }
2699
+
2700
+ input CreateMembershipOrganizationDto {
2701
+ shortName: String!
2702
+ acronym: String
2703
+ fullName: String!
2704
+ website: String
2705
+ logo: AWSS3UploadedFileDto
2706
+ countryId: String
2707
+ sportId: String
2708
+ }
2709
+
2710
+ input CreateAthleteMembershipDto {
2711
+ organizationId: String!
2712
+ membershipNumber: String
2713
+ membershipType: String
2714
+ issueDate: DateTime
2715
+ expirationDate: DateTime
2716
+ }
2717
+
2718
+ input CreateAthleteIntegrationDto {
2719
+ athleteId: String!
2720
+ accessToken: String!
2721
+ refreshToken: String!
2722
+ expiresIn: Float!
2723
+ refreshExpiresIn: Float
2724
+ }
2725
+
2726
+ input GetFundingCheckoutSessionDataDto {
2727
+ _id: String!
2728
+ }
2729
+
2730
+ input SocialState {
2731
+ systemId: String!
2732
+ loginEmail: String!
2733
+ client: String
2734
+ }
2735
+
2736
+ input RegisterMemberDto {
2737
+ email: String!
2738
+ firstName: String!
2739
+ lastName: String!
2740
+ screenName: String
2741
+ profilePicture: AWSS3UploadedFileDto
2742
+ }
2743
+
2744
+ input TransactionQueryDto {
2745
+ """Page number (0-based)"""
2746
+ page: Int = 0
2747
+
2748
+ """Number of items per page"""
2749
+ limit: Int = 25
2750
+
2751
+ """Search query for payer info, session ID, or checkout ID"""
2752
+ search: String
2753
+
2754
+ """Filter by transaction type"""
2755
+ type: String
2756
+
2757
+ """Filter by completion status"""
2758
+ completed: String
2759
+
2760
+ """Filter by athlete stripe account ID"""
2761
+ athleteStripeAccount: String
2762
+
2763
+ """Filter by athlete ID"""
2764
+ athleteId: String
2765
+
2766
+ """Filter by date from (ISO string)"""
2767
+ dateFrom: String
2768
+
2769
+ """Filter by date to (ISO string)"""
2770
+ dateTo: String
2771
+
2772
+ """Sort field"""
2773
+ sortField: String = "createdDate"
2774
+
2775
+ """Sort order"""
2776
+ sortOrder: String = "desc"
2777
+ }
2778
+
2779
+ input OffsetPaginationDto {
2780
+ pageNumber: Float! = 1
2781
+ pageSize: Float! = 25
2782
+ sortCriteria: SortCriteriaDto
2783
+ }
2784
+
2785
+ input CreateOfferDto {
2786
+ name: String
2787
+ label: String!
2788
+ decription: String
2789
+ offerImage: AWSS3UploadedFileDto
2790
+ type: String!
2791
+ status: String! = "INACTIVE"
2792
+ discountType: String! = "OTHER"
2793
+ discountTypeData: String = "{}"
2794
+ conditions: [String!] = []
2795
+ brandId: String!
2796
+ sponsorId: String!
2797
+ criteria: AthleteCriteriaDto
2798
+ dateStart: DateTime
2799
+ dateEnd: DateTime
2800
+ totalCodes: Int
2801
+ disclaimer: String
2802
+ availableCountryIds: [String!]
2803
+ genericCode: String
2804
+ featured: Boolean = false
2805
+ }
2806
+
2807
+ input AthleteCriteriaDto {
2808
+ _id: String!
2809
+ label: String
2810
+ qualificationsBag: QualificationsBagDto
2811
+ }
2812
+
2813
+ input QualificationsBagDto {
2814
+ ageQualifications: [AgeQualificationDto!]
2815
+ genderQualifications: [GenderQualificationDto!]
2816
+ scoreQualifications: [ScoreQualificationDto!]
2817
+ locationQualifications: [LocationQualificationDto!]
2818
+ nationalityQualifications: [NationalityQualificationDto!]
2819
+ distanceQualifications: [DistanceQualificationDto!]
2820
+ sportsQualifications: [SportsQualificationDto!]
2821
+ levelQualifications: [SportsLevelQualificationDto!]
2822
+ }
2823
+
2824
+ input OfferQueryDto {
2825
+ """Page number (0-based)"""
2826
+ page: Int = 0
2827
+
2828
+ """Number of items per page"""
2829
+ limit: Int = 25
2830
+
2831
+ """Search query for offer name or description"""
2832
+ search: String
2833
+
2834
+ """Filter by active status"""
2835
+ active: String
2836
+
2837
+ """Filter by offer type"""
2838
+ offerType: String
2839
+
2840
+ """Filter by featured status"""
2841
+ featured: String
2842
+
2843
+ """Filter by brand ID"""
2844
+ brandId: String
2845
+
2846
+ """Sort field"""
2847
+ sortField: String = "name"
2848
+
2849
+ """Sort order"""
2850
+ sortOrder: String = "asc"
2851
+
2852
+ """Filter to only show offers the athlete is eligible for"""
2853
+ filterEligibleOnly: Boolean = false
2854
+
2855
+ """Athlete ID to check eligibility against"""
2856
+ athleteId: String
2857
+ }
2858
+
2859
+ input OfferClaimQueryDto {
2860
+ status: OfferClaimStatus = ALL
2861
+ }
2862
+
2863
+ input LeaderboardQueryDto {
2864
+ """
2865
+ Score type: VTX_SCORE, SOCIAL_SCORE, TRANING_SCORE, or COMPETITION_SCORE
2866
+ """
2867
+ scoreType: String
2868
+
2869
+ """Filter by sport ID"""
2870
+ sportId: String
2871
+
2872
+ """Filter by country code (ISO 2-letter)"""
2873
+ countryCode: String
2874
+
2875
+ """Page number (1-based)"""
2876
+ page: Int = 1
2877
+
2878
+ """Number of entries per page (max 100)"""
2879
+ limit: Int = 20
2880
+ }
2881
+
2882
+ input UserRankQueryDto {
2883
+ """Athlete ID"""
2884
+ athleteId: String!
2885
+
2886
+ """
2887
+ Score type: VTX_SCORE, SOCIAL_SCORE, TRANING_SCORE, or COMPETITION_SCORE
2888
+ """
2889
+ scoreType: String
2890
+
2891
+ """Filter by sport ID"""
2892
+ sportId: String
2893
+
2894
+ """Filter by country code (ISO2)"""
2895
+ countryCode: String
2896
+ }
2897
+
2898
+ input ScoreHistoryQueryDto {
2899
+ athleteId: String!
2900
+ timeRange: TimeRange!
2901
+ }
2902
+
2903
+ """Time range for historical data queries"""
2904
+ enum TimeRange {
2905
+ SEVEN_DAYS
2906
+ THIRTY_DAYS
2907
+ NINETY_DAYS
2908
+ ONE_YEAR
2909
+ ALL_TIME
2910
+ }
2911
+
2912
+ input RankHistoryQueryDto {
2913
+ athleteId: String!
2914
+ timeRange: TimeRange!
2915
+ sportId: String
2916
+ countryCode: String
2917
+ }
2918
+
2919
+ input RankContextQueryDto {
2920
+ athleteId: String!
2921
+ sportId: String
2922
+ countryCode: String
2923
+ }
2924
+
2925
+ input MetricRangeInput {
2926
+ """Name of the metric to filter (e.g., "distance", "elevation_gain")"""
2927
+ metricName: String!
2928
+
2929
+ """Minimum value for the metric (inclusive)"""
2930
+ min: Float
2931
+
2932
+ """Maximum value for the metric (inclusive)"""
2933
+ max: Float
2934
+ }
2935
+
2936
+ input ActivityFiltersInput {
2937
+ """Filter to a specific date (ISO format YYYY-MM-DD)"""
2938
+ dateFilter: String
2939
+
2940
+ """
2941
+ Filter by activity types (e.g., ["Run", "Ride", "Swim"]). Schema placeholder - not yet implemented.
2942
+ """
2943
+ activityTypes: [String!]
2944
+
2945
+ """Filter by metric ranges. Schema placeholder - not yet implemented."""
2946
+ metricRanges: [MetricRangeInput!]
2947
+ }
2948
+
2949
+ input ActivitiesQueryDto {
2950
+ athleteId: String!
2951
+ category: ActivityCategory!
2952
+ timeRange: TimeRange!
2953
+ page: Int = 1
2954
+ limit: Int = 20
2955
+
2956
+ """Optional filters for activities"""
2957
+ filters: ActivityFiltersInput
2958
+ }
2959
+
2960
+ input ActivityDetailQueryDto {
2961
+ athleteId: String!
2962
+ activityId: String!
2963
+
2964
+ """Category: training or social"""
2965
+ category: String!
2966
+ }
2967
+
2968
+ input ComponentSummaryQueryDto {
2969
+ athleteId: String!
2970
+
2971
+ """Component: training or social"""
2972
+ component: String!
2973
+ }
2974
+
2975
+ input ActivityDatesQueryDto {
2976
+ athleteId: String!
2977
+ }
2978
+
2979
+ input DateRangeInput {
2980
+ start: DateTime!
2981
+ end: DateTime!
2982
+ }
2983
+
2984
+ input PostComparisonInput {
2985
+ comparisonWindowDays: Int = 90
2986
+ sortBy: PostSortOption = RECENT
2987
+ contentType: ContentType
2988
+ limit: Int = 10
2989
+ offset: Int = 0
2990
+ }
2991
+
2992
+ """Mode of donation for the funding checkout session"""
2993
+ enum DonationMode {
2994
+ PUBLIC
2995
+ PRIVATE
2996
+ ANONYMOUS
2997
+ }
2998
+
2999
+ enum OfferClaimStatus {
3000
+ ACTIVE
3001
+ EXPIRED
3002
+ ALL
3003
+ }
3004
+
3005
+ """Options for sorting posts"""
3006
+ enum PostSortOption {
3007
+ RECENT
3008
+ TOP
3009
+ UNDERPERFORMING
3010
+ }
3011
+
3012
+ type Query {
3013
+ findTenantById(_id: String!): Tenant!
3014
+ findTenantByEmail(email: String!, domainId: String!): Tenant!
3015
+ getTenants: [Tenant!]!
3016
+ isTenantUriAvailable(tenant_uri: String!): UriAvailableType!
3017
+ findUserById(_id: String!): User!
3018
+ findUserByEmail(email: String!): User!
3019
+ validateUserCredentials(username: String!, password: String!): User!
3020
+ getUploadUrl(input: AWSS3GetUploadDto!): AWSS3UploadUrl!
3021
+ industries: [Industry!]!
3022
+ findIndustryById(industryId: String!): Industry!
3023
+ brands: [Brand!]!
3024
+ getBrandsPaginated(query: BrandQueryDto): PaginatedBrands!
3025
+ getBrandByName(name: String!, translations: Boolean!): Brand!
3026
+ getBrandTranslation(brandId: String!, language: String!): BrandTranslation!
3027
+ existsValidSponsorForEmail(loginEmail: String!): Sponsor!
3028
+ sponsors: [Sponsor!]!
3029
+ getSponsorsPaginated(query: SponsorQueryDto): PaginatedSponsors!
3030
+ findSponsorAthleteInvitation(input: FindSponsorAthleteInvitationDto!): SponsorAthleteInvitation!
3031
+ verifyAthleteCompetitionLinkedForDelete(input: existValueDto!): CompetitionDeleteVerificationResponse!
3032
+ getAthletes: [Athlete!]!
3033
+ queryAthleteFundingCampaigns(input: AthleteQueryDto!): AthleteQueryResponse!
3034
+ searchAthletes(searchString: String!): [Athlete!]!
3035
+ findAthleteById(athleteId: String!): Athlete!
3036
+ findAthleteForUser(loginEmail: String!): Athlete!
3037
+ getRecommendedAthletes(loginEmail: String!): [Athlete!]!
3038
+ getSponsorAthletesForTenant: [Athlete!]!
3039
+ getAthleteCompetitions(input: GetAthleteCompetitionsDto!): [AthleteCompetition!]!
3040
+ getAthleteMemberships(athleteId: String!): [AthleteMembership!]!
3041
+ findAthletebyIdpublic(athleteId: String!): Athlete!
3042
+ getAthleteAlbums: [Album!]!
3043
+ getAndSetAlbumById(input: String!): Album!
3044
+ getAthleteAlbumId(input: String!): Album!
3045
+ queryAthleteWithFilter(input: AthleteQueryDto!): AthleteQueryResponse!
3046
+ getPublicAthleteAlbums(athleteId: String!): [Album!]!
3047
+ screenNameAvailability(input: existValueDto!): ExistValueResponse!
3048
+ checkScoreRefreshCapabilities(input: CheckScoreRefreshCapabilityDto!): CheckScoreRefreshCapabilityResponse!
3049
+ getAthleteHistoricalScoresPeriod(input: GetHistoricalScoresDto!): HistoricalScoresPeriod!
3050
+ getAthleteHistoricalScores(input: GetHistoricalScoresDto!): [HistoricalScore!]!
3051
+ getMyHistoricalScoresPeriod(input: GetMyHistoricalScoresDto!): HistoricalScoresPeriod!
3052
+ getMyHistoricalScores(input: GetMyHistoricalScoresDto!): [HistoricalScore!]!
3053
+ getAthleteCampaigns(input: GetAthleteCampaignsDto!): [FundRaisingCampaign!]!
3054
+ getSports: [Sport!]!
3055
+ getSportsPaginated(query: SportQueryDto): PaginatedSports!
3056
+ findSportById(sportId: String!): Sport!
3057
+ getSportLevels: [SportLevel!]!
3058
+ getPublicSponsorships: [Sponsorship!]!
3059
+ getTenantSponsorships: [Sponsorship!]!
3060
+ getCountries: [Country!]!
3061
+ getCountryStates(countryId: String!): [State!]!
3062
+ getStates: [State!]!
3063
+ getStateCities(stateId: String!): [City!]!
3064
+ findCitiesStartingWith(text: String!): [City!]!
3065
+ findCityById(cityId: String!): City!
3066
+ findVtxUser(input: FindVtxUserDto!): User!
3067
+ validateUserCredentialsVtx(username: String!, password: String!): User!
3068
+ getUserImagesFromEmail(loginEmail: String!): UserImages!
3069
+ getResetVerificationCode(input: String!): VerificationCode!
3070
+ verifyCode(input: VerifyCodeDto!): CodeVerificationResponse!
3071
+ isUserSuspended(loginEmail: String!): Boolean!
3072
+ getAllUsers: [AdminUserView!]!
3073
+ getUsersPaginated(query: UserQueryDto): PaginatedUsers!
3074
+ getStravaLoginUrl: String!
3075
+ getSportsEvents(input: GetSportEventsDto!): [SportsEvent!]!
3076
+ getSportsEventsPaginated(query: EventQueryDto): PaginatedEvents!
3077
+ getBudgetsByAthlete: BudgetData!
3078
+ getDonationsByAthlete: [Receipt!]!
3079
+ getDonationsToAthlete(athleteId: String!): [Donation!]!
3080
+ getDonationsToMe: [Donation!]!
3081
+ getBudgetConcepts: [BudgetConcept!]!
3082
+ getBudgetItemUnits: [BudgetItemUnit!]!
3083
+ getMembershipOrganizations: [MembershipOrganizationReference!]!
3084
+ getAthleteStravaIntegration: AthleteIntegrationReference!
3085
+ getAthleteInstagramIntegration: AthleteIntegrationReference!
3086
+ getAthleteIntegrations: AthleteIntegrationReference!
3087
+ stripeQuery(input: StripeQueryDto!): StripeObject!
3088
+ getStripeBalance: StripeBalance!
3089
+ getDatabaseTextFile(input: GetDatabaseFileDto!): TextDatabaseFile!
3090
+ getS3UploadUrl(input: AWSS3GetUploadDto!): AWSS3UploadUrl!
3091
+ getReceipt(input: GetReceiptDto!): Receipt!
3092
+ getReceiptUrl(input: GetReceiptDto!): ReceiptUrl!
3093
+ getTransactionDetails(input: GetTransactionDetailsDto!): TransactionDetails!
3094
+ findMemberForUser(loginEmail: String!): Member!
3095
+ getDonationsByMember: [Donation!]!
3096
+ getDonationsByUser(email: String!): [Donation!]!
3097
+ getAllTransactions: [AdminTransactionView!]!
3098
+ getTransactionsPaginated(query: TransactionQueryDto): PaginatedTransactions!
3099
+ offers: [Offer!]!
3100
+ getOffersPaginated(query: OfferQueryDto): PaginatedOffers!
3101
+ offersForAthlete(athleteId: String): [Offer!]!
3102
+ offer(id: String!): Offer!
3103
+ myOfferClaims(athleteId: String!, query: OfferClaimQueryDto): [OfferClaim!]!
3104
+ offerAvailability(offerId: String!, athleteId: String!): OfferAvailability!
3105
+ offersWithEligibility(query: OfferQueryDto): PaginatedOffersWithEligibility!
3106
+ getLeaderboard(input: LeaderboardQueryDto): LeaderboardResponse!
3107
+ getUserRank(input: UserRankQueryDto!): UserRank!
3108
+ athleteDashboard(athleteId: String!): DashboardSummary!
3109
+ athleteScoreHistory(input: ScoreHistoryQueryDto!): [ScoreHistoryEntry!]!
3110
+ athleteRankHistory(input: RankHistoryQueryDto!): [RankHistoryEntry!]!
3111
+ athleteRankContext(input: RankContextQueryDto!): RankContext!
3112
+ athleteActivities(input: ActivitiesQueryDto!): ActivitiesResponse!
3113
+ athleteActivityDetail(input: ActivityDetailQueryDto!): ActivityDetail!
3114
+ athleteComponentSummary(input: ComponentSummaryQueryDto!): ComponentSummary!
3115
+ athleteActivityDates(input: ActivityDatesQueryDto!): ActivityDatesResponse!
3116
+ socialAggregates(athleteId: ID!, platform: Platform!, range: DateRangeInput!, periodType: PeriodType): [SocialAggregateType!]!
3117
+ postsWithComparison(athleteId: ID!, platform: Platform!, options: PostComparisonInput): PostComparisonResultType!
3118
+ }
3119
+
3120
+ input AWSS3GetUploadDto {
3121
+ useType: String!
3122
+ name: String
3123
+ }
3124
+
3125
+ input FindSponsorAthleteInvitationDto {
3126
+ code: String!
3127
+ type: String
3128
+ }
3129
+
3130
+ input GetAthleteCompetitionsDto {
3131
+ athleteId: String!
3132
+ fromInclusive: DateTime
3133
+ toExclusive: DateTime
3134
+ }
3135
+
3136
+ input FindVtxUserDto {
3137
+ loginEmail: String!
3138
+ }
3139
+
3140
+ input GetSportEventsDto {
3141
+ matchString: String
3142
+ }
3143
+
3144
+ type Mutation {
3145
+ registerNewDomainTenant(tenant: CreateTenantInput!): Tenant!
3146
+ registerNewDomainTenantWithLogin(tenant: CreateTenantInput!): TenantWithUserLogin!
3147
+ createUserAndLogin(user: CreateActiveUserInput!): UserWithToken!
3148
+ loginUserFromEmail(email: String!, loginMethod: String!): UserToken!
3149
+ loginUserFromCredentials(username: String!, password: String!): UserWithToken!
3150
+ registerUserToDomainFromEmail(input: RegisterUserToDomainFromEmailInput!): User!
3151
+ refreshToken(dto: RefreshTokenInput!): UserToken!
3152
+ deleteUploadedUseTypeFile(input: AWSS3DeleteUseTypeFileDto!): AWSS3CallResult!
3153
+ deleteUploadedBucketFile(input: AWSS3DeleteBucketFileDto!): AWSS3CallResult!
3154
+ deleteUploadedTypeKeyFile(input: AWSS3DeleteUseTypeKeyDto!): AWSS3CallResult!
3155
+ registerS3UploadedFile(input: AWSS3UploadedFileDto!): AWSS3File!
3156
+ createIndustry(input: CreateIndustryDto!): Industry!
3157
+ createBrand(input: CreateBrandDto!): Brand!
3158
+ updateBrand(id: String!, input: CreateBrandDto!): Brand!
3159
+ deleteBrand(id: String!): Boolean!
3160
+ linkBrandToSponsor(brandId: String!, sponsorId: String!): Brand!
3161
+ unlinkBrandFromSponsor(brandId: String!, sponsorId: String!): Brand!
3162
+ registerSponsor(input: RegisterSponsorInput!): Sponsor!
3163
+ createSponsor(input: CreateSponsorDto!): Sponsor!
3164
+ sendAthleteInvitations(input: InviteAthletesDto!): [SponsorAthleteInvitation!]!
3165
+ updateSponsor(id: String!, input: UpdateSponsorDto!): Sponsor!
3166
+ deleteSponsor(id: String!): Boolean!
3167
+ forceDeleteAthleteCompetition(input: DeleteSingleValueDto!): DeleteSingleValueResponse!
3168
+ registerAthlete(input: RegisterAthleteDto!): Athlete!
3169
+ editProfileValue(input: EditValueDto!): EditValueResponse!
3170
+ editPicture(input: EditPictureDto!): EditPictureResponse!
3171
+ AddAlbumPictures(input: UploadAlbumsPicturesDto!): AddValuesResponse!
3172
+ addAthleteCompetition(input: CreateAthleteCompetitionDto!): AthleteCompetition!
3173
+ deleteAthleteCompetition(input: DeleteSingleValueDto!): DeleteSingleValueResponse!
3174
+ createAthleteAlbum(input: UploadAlbumsPicturesDto!): Album!
3175
+ reorderAlbumIndex(input: EditDisplayIndexDto!): [Album!]!
3176
+ editAlbum(input: UploadAlbumsPicturesDto!): Album!
3177
+ deleteAthleteAlbum(input: DeleteSingleValueDto!): DeleteSingleValueResponse!
3178
+ deleteAthletePhotos(input: DeleteValuesDto!): DeleteValuesResponse!
3179
+ saveAthleteCompetitionResult(input: SetCompetitionResultDto!): AthleteCompetitionResult!
3180
+ updateAthleteScores: Athlete!
3181
+ updateAthleteCompetitionScores: Athlete!
3182
+ forceRefreshAthleteScores(input: ForceScoreRefreshDto!): ForceScoreRefreshResponse!
3183
+ setCurrentCampaign(input: SetCurrentCampaignDto!): FundRaisingCampaign!
3184
+ createSport(input: CreateSportDto!): Sport!
3185
+ updateSport(input: UpdateSportDto!): Sport!
3186
+ createSportLevel(input: CreateSportLevelDto!): SportLevel!
3187
+ createSponsorship(input: CreateSponsorshipDto!): Sponsorship!
3188
+ createCountry(input: CreateCountryDto!): Country!
3189
+ createState(input: CreateStateDto!): State!
3190
+ createCity(input: CreateCityDto!): City!
3191
+ preRegisterAthleteUser(input: RegisterUserDto!): VerificationCode!
3192
+ confirmAthleteUserRegistrationAndLogin(input: VerifyCodeDto!): UserWithToken!
3193
+ confirmAthleteUserRegistration(input: VerifyCodeDto!): User!
3194
+ registerAthleteUser(input: RegisterUserDto!): User!
3195
+ registerUser(input: RegisterUserDto!): User!
3196
+ registerSponsorUser(input: RegisterUserDto!): User!
3197
+ loginUserFromCredentialsVtx(username: String!, password: String!): UserWithToken!
3198
+ createResetPasswordCode(input: String!): EditValueResponse!
3199
+ resetUserPassword(input: resetPasswordDto!): EditValueResponse!
3200
+ validateToken(input: String!): ValidatedToken!
3201
+ updateUserSuspendedStatus(input: UpdateUserSuspendedStatusDto!): EditValueResponse!
3202
+ deleteMyAccount: DeleteVtxUserResponse!
3203
+ deleteVtxUser(input: DeleteVtxUserDto!): DeleteVtxUserResponse!
3204
+ createSportsEvent(input: CreateSportEventDto!): SportsEvent!
3205
+ updateSportsEvent(input: UpdateSportEventDto!): SportsEvent!
3206
+ deleteSportsEvent(eventId: String!): EditValueResponse!
3207
+ mergeSportsEvents(input: MergeSportsEventsDto!): MergeEventsResponse!
3208
+ setFundingStatus(input: SetFundingStatusDto!): FundRaisingCampaign!
3209
+ createFundingCampaign(input: CreateFundingCampaignDto!): FundRaisingCampaign!
3210
+ updateFundingCampaign(input: UpdateFundingCampaignDto!): FundRaisingCampaign!
3211
+ deleteFundingCampaign(input: DeleteSingleValueDto!): DeleteSingleValueResponse!
3212
+ deleteFundingCampaigns(input: DeleteValuesDto!): DeleteValuesResponse!
3213
+ deleteCompetitionBudget(competitionId: String!): Boolean!
3214
+ addCompetitionBudget(input: AddCompetitionBudgetDto!): Boolean!
3215
+ editCompetitionBudget(input: EditCompetitionBudgetDto!): Boolean!
3216
+ editCampaignBudget(input: EditCampaignBudgetDto!): Boolean!
3217
+ editCompetitionBudgetForCampaign(input: EditCampaignBudgetDto!): Boolean!
3218
+ createMembershipOrganization(input: CreateMembershipOrganizationDto!): MembershipOrganizationReference!
3219
+ createAthleteMembershipAffilation(input: CreateAthleteMembershipDto!): AthleteMembership!
3220
+ deleteAthleteMembershipAffilation(input: DeleteSingleValueDto!): DeleteSingleValueResponse!
3221
+ updateAthleteIntegration(type: String!): Boolean!
3222
+ unlinkInstagram: Boolean!
3223
+ createStripeAccount(input: CreateStripeAccountDto!): StripeAccountReference!
3224
+ createAthleteStripeSession: StripeSession!
3225
+ createStripeCheckoutSession(input: DonationCheckoutDto!): StripeCheckoutSession!
3226
+ createStripeLoginLink: String!
3227
+ createStripeAccountLink: String!
3228
+ registerMember(input: RegisterMemberDto!): Member!
3229
+ createOffer(input: CreateOfferDto!): Offer!
3230
+ updateOffer(id: String!, input: CreateOfferDto!): Offer!
3231
+ deleteOffer(id: String!): Boolean!
3232
+ setOfferStatus(id: String!, status: String!): Offer!
3233
+ activateOffer(id: String!): Offer!
3234
+ deactivateOffer(id: String!): Offer!
3235
+ claimOffer(offerId: String!, athleteId: String!): OfferClaim!
3236
+ removeOfferClaim(claimId: String!, athleteId: String!): Boolean!
3237
+ uploadCouponCodes(offerId: String!, csvContent: String!): UploadResult!
3238
+ rebuildLeaderboardCache: Boolean!
3239
+ }
3240
+
3241
+ input CreateTenantInput {
3242
+ name: String!
3243
+ email: String!
3244
+ tenant_uri: String!
3245
+ domain: String!
3246
+ }
3247
+
3248
+ input CreateActiveUserInput {
3249
+ loginEmail: String!
3250
+ password: String
3251
+ loginMethod: String
3252
+ clientType: String
3253
+ }
3254
+
3255
+ input RegisterUserToDomainFromEmailInput {
3256
+ email: String!
3257
+ domainId: String!
3258
+ tenantId: String
3259
+ createUserIfNotExist: Boolean = false
3260
+ }
3261
+
3262
+ input RefreshTokenInput {
3263
+ refreshToken: String!
3264
+ }
3265
+
3266
+ input AWSS3DeleteUseTypeFileDto {
3267
+ name: String!
3268
+ useType: String!
3269
+ }
3270
+
3271
+ input AWSS3DeleteBucketFileDto {
3272
+ key: String!
3273
+ bucket: String!
3274
+ credentialsId: String
3275
+ }
3276
+
3277
+ input AWSS3DeleteUseTypeKeyDto {
3278
+ key: String!
3279
+ useType: String!
3280
+ }
3281
+
3282
+ input CreateIndustryDto {
3283
+ name: String!
3284
+ }
3285
+
3286
+ input RegisterSponsorInput {
3287
+ name: String!
3288
+ phone: String
3289
+ hasWhatsapp: Boolean! = false
3290
+ companyName: String
3291
+ companyEmail: String!
3292
+ industryId: String!
3293
+ companySize: String!
3294
+ operatorType: String!
3295
+ numberOfAthletes: String!
3296
+ brands: [String!]!
3297
+ }
3298
+
3299
+ input UpdateSponsorDto {
3300
+ name: String
3301
+ description: String
3302
+ email: String
3303
+ }
3304
+
3305
+ input RegisterAthleteDto {
3306
+ email: String!
3307
+ firstName: String!
3308
+ lastName: String!
3309
+ screenName: String
3310
+ nationality: String!
3311
+ cityId: String!
3312
+ locLatitude: Float
3313
+ locLongitude: Float
3314
+ dateOfBirth: DateTime!
3315
+ lgbt: Boolean = false
3316
+ trainer: String
3317
+ trainerUrl: String
3318
+ aboutMe: String
3319
+ team: String
3320
+ gender: String!
3321
+ mainSport: String!
3322
+ mainSportLevel: String!
3323
+ profilePicture: AWSS3UploadedFileDto
3324
+ cardPicture: AWSS3UploadedFileDto
3325
+ }
3326
+
3327
+ input EditValueDto {
3328
+ field: String!
3329
+ newValue: String
3330
+ }
3331
+
3332
+ input EditDisplayIndexDto {
3333
+ updates: [AlbumIndexUpdate!]!
3334
+ }
3335
+
3336
+ input AlbumIndexUpdate {
3337
+ id: String!
3338
+ newIndex: Float!
3339
+ }
3340
+
3341
+ input SetCurrentCampaignDto {
3342
+ campaignId: String!
3343
+ }
3344
+
3345
+ input CreateSportDto {
3346
+ _id: String!
3347
+ name: String!
3348
+ priority: Float = 100
3349
+ resultType: String = "POSITION"
3350
+ }
3351
+
3352
+ input UpdateSportDto {
3353
+ _id: String!
3354
+ name: String!
3355
+ }
3356
+
3357
+ input CreateSportLevelDto {
3358
+ _id: String!
3359
+ label: String!
3360
+ index: Float!
3361
+ translations: [CreateSportLevelTranslationDto!]
3362
+ }
3363
+
3364
+ input CreateSportLevelTranslationDto {
3365
+ language: String!
3366
+ label: String!
3367
+ }
3368
+
3369
+ input CreateSponsorshipDto {
3370
+ title: String!
3371
+ brandId: String!
3372
+ description: String
3373
+ cashValue: Float = 0
3374
+ otherValue: Float = 0
3375
+ banner: AWSS3UploadedFileDto
3376
+ criteria: AthleteCriteriaDto
3377
+ deadline: DateTime
3378
+ startDate: DateTime
3379
+ duration: DurationDto!
3380
+ sponsorshipItems: [SponsorshipItemDto!]
3381
+ commitments: [SponsorshipCommitmentDto!]
3382
+ terms: String
3383
+ published: Boolean = true
3384
+ isPrivate: Boolean = false
3385
+ translations: [SponsorshipTranslationDto!]
3386
+ }
3387
+
3388
+ input DurationDto {
3389
+ length: Float! = 1
3390
+ unit: String! = "YEARS"
3391
+ }
3392
+
3393
+ input SponsorshipItemDto {
3394
+ _id: String!
3395
+ quantity: Float! = 1
3396
+ title: String!
3397
+ value: Float! = 0
3398
+ }
3399
+
3400
+ input SponsorshipCommitmentDto {
3401
+ _id: String!
3402
+ title: String!
3403
+ details: String
3404
+ hashTags: [String!]
3405
+ media: String!
3406
+ actionType: String!
3407
+ frequency: Float = 1
3408
+ periodicity: String!
3409
+ }
3410
+
3411
+ input SponsorshipTranslationDto {
3412
+ sponsorshipId: String!
3413
+ language: String!
3414
+ title: String
3415
+ description: String
3416
+ banner: AWSS3UploadedFileDto
3417
+ terms: String
3418
+ }
3419
+
3420
+ input CreateCountryDto {
3421
+ _id: String!
3422
+ name: String!
3423
+ }
3424
+
3425
+ input CreateStateDto {
3426
+ _id: String!
3427
+ name: String!
3428
+ countryId: String!
3429
+ }
3430
+
3431
+ input CreateCityDto {
3432
+ _id: String!
3433
+ cityName: String!
3434
+ cityNameLocalized: String!
3435
+ lat: Float!
3436
+ lng: Float!
3437
+ stateId: String!
3438
+ timezone: String!
3439
+ city_alt: String
3440
+ iso3: String
3441
+ admin_type: String
3442
+ capital: String
3443
+ density: Float
3444
+ population: Float
3445
+ population_proper: Float
3446
+ ranking: Float
3447
+ same_name: String
3448
+ }
3449
+
3450
+ input CreateSportEventDto {
3451
+ name: String!
3452
+ cityId: String
3453
+ sportId: String
3454
+ startDate: DateTime!
3455
+ endDate: DateTime
3456
+ website: String
3457
+ banner: AWSS3UploadedFileDto
3458
+ eventLevel: String = "Unranked"
3459
+ }
3460
+
3461
+ input CreateStripeAccountDto {
3462
+ countryId: String!
3463
+ acceptedTermsId: String!
3464
+ acceptedPrivacyId: String!
3465
+ }