@globalscoutme/api-client 1.0.10 → 1.0.13

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.
@@ -137,6 +137,213 @@ export type UpdatePlayerDto = {
137
137
  */
138
138
  bio?: string;
139
139
  };
140
+ export type PlayerSearchRequestDto = {
141
+ /**
142
+ * Search by first or last name
143
+ */
144
+ search?: string;
145
+ /**
146
+ * Page number (1-based)
147
+ */
148
+ page?: number;
149
+ /**
150
+ * Items per page
151
+ */
152
+ pageSize?: number;
153
+ /**
154
+ * Sort order
155
+ */
156
+ sortBy?: 'relevance' | 'age_asc' | 'age_desc' | 'gsi_score_asc' | 'gsi_score_desc' | 'nationality_asc' | 'nationality_desc';
157
+ /**
158
+ * Minimum age (inclusive)
159
+ */
160
+ ageMin?: number;
161
+ /**
162
+ * Maximum age (inclusive)
163
+ */
164
+ ageMax?: number;
165
+ /**
166
+ * Nationality codes (ISO 2-letter)
167
+ */
168
+ nationalities?: Array<string>;
169
+ /**
170
+ * Position codes (multi-select)
171
+ */
172
+ positions?: Array<string>;
173
+ /**
174
+ * Base foot
175
+ */
176
+ baseFoot?: 'left' | 'right';
177
+ /**
178
+ * Preferred formation names (multi-select)
179
+ */
180
+ preferredFormations?: Array<string>;
181
+ /**
182
+ * Height operator — must be paired with heightCm
183
+ */
184
+ heightOperator?: 'gt' | 'lt' | 'gte' | 'lte';
185
+ /**
186
+ * Height value in cm — must be paired with heightOperator
187
+ */
188
+ heightCm?: number;
189
+ /**
190
+ * Only free agents
191
+ */
192
+ isFreeAgent?: boolean;
193
+ /**
194
+ * Only EU visa holders
195
+ */
196
+ isEuVisaHolder?: boolean;
197
+ /**
198
+ * Only players with at least one video
199
+ */
200
+ hasVideo?: boolean;
201
+ /**
202
+ * Only players on the caller watchlist
203
+ */
204
+ onlyWatchlist?: boolean;
205
+ };
206
+ export type PlayerSearchItemDto = {
207
+ id: string;
208
+ firstName?: string | null;
209
+ lastName?: string | null;
210
+ avatarUrl?: string | null;
211
+ /**
212
+ * Age computed from date_of_birth
213
+ */
214
+ age?: number | null;
215
+ /**
216
+ * ISO 2-letter nationality code
217
+ */
218
+ nationality?: string | null;
219
+ isFreeAgent: boolean;
220
+ isEuVisaHolder: boolean;
221
+ /**
222
+ * Height in cm
223
+ */
224
+ heightCm?: number | null;
225
+ /**
226
+ * Preferred foot code
227
+ */
228
+ baseFoot?: string | null;
229
+ /**
230
+ * Primary position code
231
+ */
232
+ primaryPosition?: string | null;
233
+ /**
234
+ * Additional position codes
235
+ */
236
+ additionalPositions: Array<string>;
237
+ /**
238
+ * Preferred formation name
239
+ */
240
+ preferredFormation?: string | null;
241
+ /**
242
+ * Has at least one non-deleted video
243
+ */
244
+ hasVideo: boolean;
245
+ };
246
+ export type PlayerSearchResultDto = {
247
+ items: Array<PlayerSearchItemDto>;
248
+ /**
249
+ * Total matching records
250
+ */
251
+ total: number;
252
+ page: number;
253
+ pageSize: number;
254
+ };
255
+ export type PlayerClubDto = {
256
+ clubName: string;
257
+ /**
258
+ * Year joined
259
+ */
260
+ joinedYear?: number | null;
261
+ /**
262
+ * Year left
263
+ */
264
+ leftYear?: number | null;
265
+ };
266
+ export type PlayerAchievementDto = {
267
+ id: string;
268
+ title: string;
269
+ /**
270
+ * Year of achievement
271
+ */
272
+ year?: number | null;
273
+ /**
274
+ * Recurrence label (e.g. "Annual")
275
+ */
276
+ recurrence?: string | null;
277
+ };
278
+ export type PlayerVideoDto = {
279
+ id: string;
280
+ title: string;
281
+ videoUrl: string;
282
+ thumbnailUrl?: string | null;
283
+ /**
284
+ * Duration in seconds
285
+ */
286
+ durationSeconds?: number | null;
287
+ /**
288
+ * Video type code
289
+ */
290
+ videoType?: string | null;
291
+ };
292
+ export type WatchingOrgDto = {
293
+ name: string;
294
+ logoUrl?: string | null;
295
+ };
296
+ export type PlayerByIdDto = {
297
+ id: string;
298
+ firstName?: string | null;
299
+ lastName?: string | null;
300
+ avatarUrl?: string | null;
301
+ age?: number | null;
302
+ /**
303
+ * Date of birth
304
+ */
305
+ dateOfBirth?: string | null;
306
+ bio?: string | null;
307
+ /**
308
+ * ISO 2-letter nationality code
309
+ */
310
+ nationality?: string | null;
311
+ isFreeAgent: boolean;
312
+ isEuVisaHolder: boolean;
313
+ visaExpirationDate?: string | null;
314
+ /**
315
+ * Marital status label
316
+ */
317
+ maritalStatus?: string | null;
318
+ heightCm?: number | null;
319
+ weightKg?: number | null;
320
+ baseFoot?: string | null;
321
+ /**
322
+ * Primary position code
323
+ */
324
+ primaryPosition?: string | null;
325
+ additionalPositions: Array<string>;
326
+ preferredFormation?: string | null;
327
+ /**
328
+ * Spoken language names
329
+ */
330
+ languages: Array<string>;
331
+ /**
332
+ * Current club name
333
+ */
334
+ currentClub?: string | null;
335
+ previousClubs: Array<PlayerClubDto>;
336
+ achievements: Array<PlayerAchievementDto>;
337
+ videos: Array<PlayerVideoDto>;
338
+ /**
339
+ * Clubs watching this player
340
+ */
341
+ clubsWatching: Array<WatchingOrgDto>;
342
+ /**
343
+ * Scout agencies watching this player
344
+ */
345
+ agentsWatching: Array<WatchingOrgDto>;
346
+ };
140
347
  export type PreviousClubDto = {
141
348
  /**
142
349
  * Club name
@@ -170,6 +377,10 @@ export type ProfileResponseDto = {
170
377
  * Internal user_data id
171
378
  */
172
379
  id: string;
380
+ /**
381
+ * Email address
382
+ */
383
+ email?: string | null;
173
384
  /**
174
385
  * First name
175
386
  */
@@ -496,6 +707,106 @@ export type IndexItemDto = {
496
707
  */
497
708
  displayOrder: number | null;
498
709
  };
710
+ export type ConversationParticipantDto = {
711
+ /**
712
+ * user_data id
713
+ */
714
+ id: string;
715
+ firstName?: string | null;
716
+ lastName?: string | null;
717
+ avatarUrl?: string | null;
718
+ /**
719
+ * Age computed from date_of_birth
720
+ */
721
+ age?: number | null;
722
+ /**
723
+ * Primary position code
724
+ */
725
+ primaryPosition?: string | null;
726
+ };
727
+ export type ConversationItemDto = {
728
+ /**
729
+ * Conversation UUID
730
+ */
731
+ id: string;
732
+ participant: ConversationParticipantDto;
733
+ /**
734
+ * Last message text
735
+ */
736
+ lastMessage?: string | null;
737
+ /**
738
+ * Unread message count for the current user
739
+ */
740
+ unreadCount: number;
741
+ /**
742
+ * Conversation status code
743
+ */
744
+ status: string;
745
+ createdAt: string;
746
+ updatedAt: string;
747
+ };
748
+ export type ConversationListResultDto = {
749
+ items: Array<ConversationItemDto>;
750
+ /**
751
+ * Total matching records
752
+ */
753
+ total: number;
754
+ page: number;
755
+ pageSize: number;
756
+ };
757
+ export type CreateConversationDto = {
758
+ /**
759
+ * Player user_data id to send offer to
760
+ */
761
+ playerId: string;
762
+ /**
763
+ * Opening message text
764
+ */
765
+ initialMessage?: string;
766
+ };
767
+ export type ConversationDetailDto = {
768
+ id: string;
769
+ playerId: string;
770
+ scouterId: string;
771
+ lastMessage?: string | null;
772
+ unreadCount: number;
773
+ status: string;
774
+ createdAt: string;
775
+ updatedAt: string;
776
+ };
777
+ export type MessageSenderDto = {
778
+ id: string;
779
+ firstName?: string | null;
780
+ lastName?: string | null;
781
+ avatarUrl?: string | null;
782
+ };
783
+ export type MessageItemDto = {
784
+ id: string;
785
+ conversationId: string;
786
+ sender: MessageSenderDto;
787
+ /**
788
+ * true when this message belongs to the caller
789
+ */
790
+ isOwn: boolean;
791
+ body: string;
792
+ sentAt: string;
793
+ readAt?: string | null;
794
+ };
795
+ export type MessageListResultDto = {
796
+ items: Array<MessageItemDto>;
797
+ /**
798
+ * Total matching records
799
+ */
800
+ total: number;
801
+ page: number;
802
+ pageSize: number;
803
+ };
804
+ export type SendMessageDto = {
805
+ /**
806
+ * Message body text
807
+ */
808
+ body: string;
809
+ };
499
810
  export type RegisterClubDto = {
500
811
  /**
501
812
  * Club name
@@ -549,6 +860,10 @@ export type OrganizationResponseDto = {
549
860
  * Club name
550
861
  */
551
862
  name: string;
863
+ /**
864
+ * Club crest / logo URL
865
+ */
866
+ logoUrl?: string | null;
552
867
  /**
553
868
  * Slug
554
869
  */
@@ -595,6 +910,10 @@ export type UpdateOrganizationDto = {
595
910
  * Club name
596
911
  */
597
912
  name?: string;
913
+ /**
914
+ * Club crest / logo URL, null to clear
915
+ */
916
+ logoUrl?: string | null;
598
917
  /**
599
918
  * Country code (2-letter ISO)
600
919
  */
@@ -803,6 +1122,48 @@ export type GetPlayersMeDashboardResponses = {
803
1122
  200: DashboardResponseDto;
804
1123
  };
805
1124
  export type GetPlayersMeDashboardResponse = GetPlayersMeDashboardResponses[keyof GetPlayersMeDashboardResponses];
1125
+ export type PostPlayersSearchData = {
1126
+ body: PlayerSearchRequestDto;
1127
+ path?: never;
1128
+ query?: never;
1129
+ url: '/players/search';
1130
+ };
1131
+ export type PostPlayersSearchErrors = {
1132
+ /**
1133
+ * Invalid filter combination
1134
+ */
1135
+ 400: unknown;
1136
+ /**
1137
+ * Unauthorized
1138
+ */
1139
+ 401: unknown;
1140
+ };
1141
+ export type PostPlayersSearchResponses = {
1142
+ 200: PlayerSearchResultDto;
1143
+ };
1144
+ export type PostPlayersSearchResponse = PostPlayersSearchResponses[keyof PostPlayersSearchResponses];
1145
+ export type GetPlayersByIdData = {
1146
+ body?: never;
1147
+ path: {
1148
+ id: string;
1149
+ };
1150
+ query?: never;
1151
+ url: '/players/{id}';
1152
+ };
1153
+ export type GetPlayersByIdErrors = {
1154
+ /**
1155
+ * Unauthorized
1156
+ */
1157
+ 401: unknown;
1158
+ /**
1159
+ * Player not found
1160
+ */
1161
+ 404: unknown;
1162
+ };
1163
+ export type GetPlayersByIdResponses = {
1164
+ 200: PlayerByIdDto;
1165
+ };
1166
+ export type GetPlayersByIdResponse = GetPlayersByIdResponses[keyof GetPlayersByIdResponses];
806
1167
  export type GetProfileMeData = {
807
1168
  body?: never;
808
1169
  path?: never;
@@ -976,6 +1337,122 @@ export type GetIndexByTableNameResponses = {
976
1337
  200: Array<IndexItemDto>;
977
1338
  };
978
1339
  export type GetIndexByTableNameResponse = GetIndexByTableNameResponses[keyof GetIndexByTableNameResponses];
1340
+ export type GetOffersConversationsData = {
1341
+ body?: never;
1342
+ path?: never;
1343
+ query?: {
1344
+ filter?: 'all' | 'unread' | 'read';
1345
+ page?: number;
1346
+ pageSize?: number;
1347
+ };
1348
+ url: '/offers/conversations';
1349
+ };
1350
+ export type GetOffersConversationsErrors = {
1351
+ /**
1352
+ * Unauthorized
1353
+ */
1354
+ 401: unknown;
1355
+ };
1356
+ export type GetOffersConversationsResponses = {
1357
+ 200: ConversationListResultDto;
1358
+ };
1359
+ export type GetOffersConversationsResponse = GetOffersConversationsResponses[keyof GetOffersConversationsResponses];
1360
+ export type PostOffersConversationsData = {
1361
+ body: CreateConversationDto;
1362
+ path?: never;
1363
+ query?: never;
1364
+ url: '/offers/conversations';
1365
+ };
1366
+ export type PostOffersConversationsErrors = {
1367
+ /**
1368
+ * Unauthorized
1369
+ */
1370
+ 401: unknown;
1371
+ };
1372
+ export type PostOffersConversationsResponses = {
1373
+ 201: ConversationDetailDto;
1374
+ };
1375
+ export type PostOffersConversationsResponse = PostOffersConversationsResponses[keyof PostOffersConversationsResponses];
1376
+ export type GetOffersConversationsByIdMessagesData = {
1377
+ body?: never;
1378
+ path: {
1379
+ id: string;
1380
+ };
1381
+ query?: {
1382
+ page?: number;
1383
+ pageSize?: number;
1384
+ };
1385
+ url: '/offers/conversations/{id}/messages';
1386
+ };
1387
+ export type GetOffersConversationsByIdMessagesErrors = {
1388
+ /**
1389
+ * Unauthorized
1390
+ */
1391
+ 401: unknown;
1392
+ /**
1393
+ * Not a participant
1394
+ */
1395
+ 403: unknown;
1396
+ /**
1397
+ * Conversation not found
1398
+ */
1399
+ 404: unknown;
1400
+ };
1401
+ export type GetOffersConversationsByIdMessagesResponses = {
1402
+ 200: MessageListResultDto;
1403
+ };
1404
+ export type GetOffersConversationsByIdMessagesResponse = GetOffersConversationsByIdMessagesResponses[keyof GetOffersConversationsByIdMessagesResponses];
1405
+ export type PostOffersConversationsByIdMessagesData = {
1406
+ body: SendMessageDto;
1407
+ path: {
1408
+ id: string;
1409
+ };
1410
+ query?: never;
1411
+ url: '/offers/conversations/{id}/messages';
1412
+ };
1413
+ export type PostOffersConversationsByIdMessagesErrors = {
1414
+ /**
1415
+ * Unauthorized
1416
+ */
1417
+ 401: unknown;
1418
+ /**
1419
+ * Not a participant
1420
+ */
1421
+ 403: unknown;
1422
+ /**
1423
+ * Conversation not found
1424
+ */
1425
+ 404: unknown;
1426
+ };
1427
+ export type PostOffersConversationsByIdMessagesResponses = {
1428
+ 201: MessageItemDto;
1429
+ };
1430
+ export type PostOffersConversationsByIdMessagesResponse = PostOffersConversationsByIdMessagesResponses[keyof PostOffersConversationsByIdMessagesResponses];
1431
+ export type PatchOffersConversationsByIdReadData = {
1432
+ body?: never;
1433
+ path: {
1434
+ id: string;
1435
+ };
1436
+ query?: never;
1437
+ url: '/offers/conversations/{id}/read';
1438
+ };
1439
+ export type PatchOffersConversationsByIdReadErrors = {
1440
+ /**
1441
+ * Unauthorized
1442
+ */
1443
+ 401: unknown;
1444
+ /**
1445
+ * Not a participant
1446
+ */
1447
+ 403: unknown;
1448
+ /**
1449
+ * Conversation not found
1450
+ */
1451
+ 404: unknown;
1452
+ };
1453
+ export type PatchOffersConversationsByIdReadResponses = {
1454
+ 200: unknown;
1455
+ };
979
1456
  export type PostOrganizationsRegisterClubData = {
980
1457
  body: RegisterClubDto;
981
1458
  path?: never;
package/index.ts CHANGED
@@ -7,6 +7,7 @@ export {
7
7
  Documents,
8
8
  GlobalScoutMeClient,
9
9
  Index,
10
+ Offers,
10
11
  type Options,
11
12
  Organizations,
12
13
  Players,
@@ -20,7 +21,12 @@ export type {
20
21
  BodyMeasurementResponseDto,
21
22
  CareerAchievementDto,
22
23
  ClientOptions,
24
+ ConversationDetailDto,
25
+ ConversationItemDto,
26
+ ConversationListResultDto,
27
+ ConversationParticipantDto,
23
28
  CreateBodyMeasurementDto,
29
+ CreateConversationDto,
24
30
  CreateDocumentDto,
25
31
  CreateUploadUrlDto,
26
32
  CreateVideoDto,
@@ -57,10 +63,22 @@ export type {
57
63
  GetIndexByTableNameErrors,
58
64
  GetIndexByTableNameResponse,
59
65
  GetIndexByTableNameResponses,
66
+ GetOffersConversationsByIdMessagesData,
67
+ GetOffersConversationsByIdMessagesErrors,
68
+ GetOffersConversationsByIdMessagesResponse,
69
+ GetOffersConversationsByIdMessagesResponses,
70
+ GetOffersConversationsData,
71
+ GetOffersConversationsErrors,
72
+ GetOffersConversationsResponse,
73
+ GetOffersConversationsResponses,
60
74
  GetOrganizationsMeData,
61
75
  GetOrganizationsMeErrors,
62
76
  GetOrganizationsMeResponse,
63
77
  GetOrganizationsMeResponses,
78
+ GetPlayersByIdData,
79
+ GetPlayersByIdErrors,
80
+ GetPlayersByIdResponse,
81
+ GetPlayersByIdResponses,
64
82
  GetPlayersMeDashboardData,
65
83
  GetPlayersMeDashboardErrors,
66
84
  GetPlayersMeDashboardResponse,
@@ -82,12 +100,25 @@ export type {
82
100
  GetVideosMeResponse,
83
101
  GetVideosMeResponses,
84
102
  IndexItemDto,
103
+ MessageItemDto,
104
+ MessageListResultDto,
105
+ MessageSenderDto,
85
106
  OrganizationResponseDto,
107
+ PatchOffersConversationsByIdReadData,
108
+ PatchOffersConversationsByIdReadErrors,
109
+ PatchOffersConversationsByIdReadResponses,
86
110
  PatchPlayersMeData,
87
111
  PatchPlayersMeErrors,
88
112
  PatchPlayersMeResponse,
89
113
  PatchPlayersMeResponses,
114
+ PlayerAchievementDto,
115
+ PlayerByIdDto,
116
+ PlayerClubDto,
90
117
  PlayerResponseDto,
118
+ PlayerSearchItemDto,
119
+ PlayerSearchRequestDto,
120
+ PlayerSearchResultDto,
121
+ PlayerVideoDto,
91
122
  PlayUrlResponseDto,
92
123
  PostBodyMeasurementsData,
93
124
  PostBodyMeasurementsErrors,
@@ -97,10 +128,22 @@ export type {
97
128
  PostDocumentsErrors,
98
129
  PostDocumentsResponse,
99
130
  PostDocumentsResponses,
131
+ PostOffersConversationsByIdMessagesData,
132
+ PostOffersConversationsByIdMessagesErrors,
133
+ PostOffersConversationsByIdMessagesResponse,
134
+ PostOffersConversationsByIdMessagesResponses,
135
+ PostOffersConversationsData,
136
+ PostOffersConversationsErrors,
137
+ PostOffersConversationsResponse,
138
+ PostOffersConversationsResponses,
100
139
  PostOrganizationsRegisterClubData,
101
140
  PostOrganizationsRegisterClubErrors,
102
141
  PostOrganizationsRegisterClubResponse,
103
142
  PostOrganizationsRegisterClubResponses,
143
+ PostPlayersSearchData,
144
+ PostPlayersSearchErrors,
145
+ PostPlayersSearchResponse,
146
+ PostPlayersSearchResponses,
104
147
  PostStorageUploadUrlData,
105
148
  PostStorageUploadUrlErrors,
106
149
  PostStorageUploadUrlResponse,
@@ -121,12 +164,14 @@ export type {
121
164
  PutProfileMeResponses,
122
165
  RegisterClubDto,
123
166
  RegisterClubResponseDto,
167
+ SendMessageDto,
124
168
  UpdateOrganizationDto,
125
169
  UpdatePlayerDto,
126
170
  UpdateProfileDto,
127
171
  UploadUrlResponseDto,
128
172
  UserAchievementResponseDto,
129
173
  VideoResponseDto,
174
+ WatchingOrgDto,
130
175
  } from './types.gen.js';
131
176
 
132
177
  export { client, type CreateClientConfig } from './client.gen.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@globalscoutme/api-client",
3
- "version": "1.0.10",
3
+ "version": "1.0.13",
4
4
  "description": "GlobalScoutMe API client (generated)",
5
5
  "author": "GlobalScoutMe",
6
6
  "license": "UNLICENSED",