@jugarhoy/api 1.1.26 → 1.1.27

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 (72) hide show
  1. package/apis/AdminPaymentConfigsApi.ts +37 -0
  2. package/apis/AdminSubscriptionBillingApi.ts +357 -1
  3. package/apis/AdminSubscriptionsApi.ts +215 -0
  4. package/apis/AdminUsersApi.ts +69 -0
  5. package/apis/AppPlayRegistrationApi.ts +10 -3
  6. package/apis/BackgroundApi.ts +35 -0
  7. package/apis/ClubApi.ts +185 -0
  8. package/apis/ClubPlacesApi.ts +75 -0
  9. package/apis/TeamsApi.ts +145 -0
  10. package/apis/index.ts +1 -0
  11. package/models/ApiAdminPlayPricesPostRequest.ts +2 -3
  12. package/models/BankCard.ts +109 -0
  13. package/models/BillingSummaryItemDto.ts +120 -0
  14. package/models/BulkImportResult.ts +119 -0
  15. package/models/BulkImportRowError.ts +81 -0
  16. package/models/BulkMarkBillsPaid200Response.ts +81 -0
  17. package/models/BulkMarkBillsPaid200ResponseErrorsInner.ts +81 -0
  18. package/models/ClubMySubscriptionDto.ts +205 -0
  19. package/models/ClubPlaceRegistrationStatus.ts +91 -0
  20. package/models/ClubProfileDto.ts +105 -0
  21. package/models/ClubProfileDtoProfile.ts +227 -0
  22. package/models/ClubProfileNextMatchDto.ts +128 -0
  23. package/models/ClubSubscriptionOfferingDto.ts +148 -0
  24. package/models/CreateCustomerPaymentConfigDto.ts +34 -0
  25. package/models/CreatePlaySearchRequest.ts +16 -0
  26. package/models/CreateRecurringGameRequest.ts +8 -0
  27. package/models/CreateTeamRequest.ts +55 -0
  28. package/models/CustomerPaymentConfig.ts +35 -0
  29. package/models/CustomerPaymentConfigDto.ts +35 -0
  30. package/models/Frequency.ts +3 -1
  31. package/models/GenerateRecurringGames200Response.ts +73 -0
  32. package/models/GenerateSubscriptionBillsRequest.ts +14 -5
  33. package/models/LocationDto.ts +8 -0
  34. package/models/MarkBillAsPaidRequest.ts +99 -0
  35. package/models/MyClubClubPlace.ts +128 -0
  36. package/models/MyClubDefaultLocation.ts +84 -0
  37. package/models/MyClubDto.ts +177 -0
  38. package/models/PaymentMethod.ts +2 -1
  39. package/models/PlayPrice.ts +3 -4
  40. package/models/PlayRegistrationDTO.ts +15 -0
  41. package/models/PlayRegistrationDTOPlaySearch.ts +137 -0
  42. package/models/PlayRegistrationDTOPlaySearchClubPlace.ts +81 -0
  43. package/models/PlaySearchDTO.ts +8 -0
  44. package/models/PlaySearchDetailDTO.ts +8 -0
  45. package/models/PlaySubscription.ts +48 -0
  46. package/models/PlaySubscriptionCreateDto.ts +48 -0
  47. package/models/PlaySubscriptionListDto.ts +8 -0
  48. package/models/PlaySubscriptionType.ts +2 -1
  49. package/models/RecurringGame.ts +8 -0
  50. package/models/RecurringGameResponse.ts +16 -0
  51. package/models/RegisterClubParams.ts +16 -0
  52. package/models/RegisterForPlaySearchRequest.ts +73 -0
  53. package/models/Sport.ts +8 -0
  54. package/models/SubscriptionBill.ts +84 -1
  55. package/models/SubscriptionBillItemDto.ts +308 -0
  56. package/models/SubscriptionBillPageDto.ts +101 -0
  57. package/models/SubscriptionMemberDto.ts +134 -0
  58. package/models/SubscriptionMembersPageDto.ts +101 -0
  59. package/models/TeamFeedItemResponse.ts +8 -0
  60. package/models/TeamMemberResponse.ts +16 -0
  61. package/models/TeamPreviewResponse.ts +209 -0
  62. package/models/TeamPreviewResponseCoachesInner.ts +73 -0
  63. package/models/TeamResponse.ts +32 -0
  64. package/models/TeamType.ts +3 -2
  65. package/models/UpdateMemberPaymentConfigRequest.ts +65 -0
  66. package/models/UpdateRecurringGameRequest.ts +8 -0
  67. package/models/UpdateTeamRequest.ts +32 -0
  68. package/models/UploadBillReceipt200Response.ts +65 -0
  69. package/models/UserDto.ts +3 -4
  70. package/models/index.ts +28 -0
  71. package/package.json +1 -1
  72. package/runtime.ts +1 -1
@@ -18,6 +18,8 @@ import type {
18
18
  AddCoachToSubscriptionRequest,
19
19
  AddMemberToSubscriptionRequest,
20
20
  AddPlayerToSubscriptionRequest,
21
+ BulkImportResult,
22
+ DeleteShift200Response,
21
23
  ExtendSubscriptions200Response,
22
24
  FindOccurrences200Response,
23
25
  PlaySubscription,
@@ -25,6 +27,8 @@ import type {
25
27
  PlaySubscriptionListDto,
26
28
  PlaySubscriptionType,
27
29
  ReserveStatus,
30
+ SubscriptionMembersPageDto,
31
+ UpdateMemberPaymentConfigRequest,
28
32
  } from '../models/index';
29
33
  import {
30
34
  AddCoachToSubscriptionRequestFromJSON,
@@ -33,6 +37,10 @@ import {
33
37
  AddMemberToSubscriptionRequestToJSON,
34
38
  AddPlayerToSubscriptionRequestFromJSON,
35
39
  AddPlayerToSubscriptionRequestToJSON,
40
+ BulkImportResultFromJSON,
41
+ BulkImportResultToJSON,
42
+ DeleteShift200ResponseFromJSON,
43
+ DeleteShift200ResponseToJSON,
36
44
  ExtendSubscriptions200ResponseFromJSON,
37
45
  ExtendSubscriptions200ResponseToJSON,
38
46
  FindOccurrences200ResponseFromJSON,
@@ -47,6 +55,10 @@ import {
47
55
  PlaySubscriptionTypeToJSON,
48
56
  ReserveStatusFromJSON,
49
57
  ReserveStatusToJSON,
58
+ SubscriptionMembersPageDtoFromJSON,
59
+ SubscriptionMembersPageDtoToJSON,
60
+ UpdateMemberPaymentConfigRequestFromJSON,
61
+ UpdateMemberPaymentConfigRequestToJSON,
50
62
  } from '../models/index';
51
63
 
52
64
  export interface AddCoachToSubscriptionOperationRequest {
@@ -64,6 +76,11 @@ export interface AddPlayerToSubscriptionOperationRequest {
64
76
  addPlayerToSubscriptionRequest: AddPlayerToSubscriptionRequest;
65
77
  }
66
78
 
79
+ export interface BulkImportSubscriptionMembersRequest {
80
+ subscriptionId: string;
81
+ file: Blob;
82
+ }
83
+
67
84
  export interface CancelSubscriptionRequest {
68
85
  subscriptionId: string;
69
86
  }
@@ -80,6 +97,14 @@ export interface GetSubscriptionRequest {
80
97
  subscriptionId: string;
81
98
  }
82
99
 
100
+ export interface GetSubscriptionMembersRequest {
101
+ subscriptionId: string;
102
+ offset?: number;
103
+ limit?: number;
104
+ search?: string;
105
+ paymentConfigId?: string;
106
+ }
107
+
83
108
  export interface ListSubscriptionsRequest {
84
109
  status?: ReserveStatus;
85
110
  type?: PlaySubscriptionType;
@@ -103,6 +128,12 @@ export interface RemovePlayerFromSubscriptionRequest {
103
128
  playerId: string;
104
129
  }
105
130
 
131
+ export interface UpdateMemberPaymentConfigOperationRequest {
132
+ subscriptionId: string;
133
+ memberId: string;
134
+ updateMemberPaymentConfigRequest: UpdateMemberPaymentConfigRequest;
135
+ }
136
+
106
137
  /**
107
138
  *
108
139
  */
@@ -258,6 +289,75 @@ export class AdminSubscriptionsApi extends runtime.BaseAPI {
258
289
  await this.addPlayerToSubscriptionRaw(requestParameters, initOverrides);
259
290
  }
260
291
 
292
+ /**
293
+ * Bulk import members to a subscription from a CSV file
294
+ */
295
+ async bulkImportSubscriptionMembersRaw(requestParameters: BulkImportSubscriptionMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BulkImportResult>> {
296
+ if (requestParameters['subscriptionId'] == null) {
297
+ throw new runtime.RequiredError(
298
+ 'subscriptionId',
299
+ 'Required parameter "subscriptionId" was null or undefined when calling bulkImportSubscriptionMembers().'
300
+ );
301
+ }
302
+
303
+ if (requestParameters['file'] == null) {
304
+ throw new runtime.RequiredError(
305
+ 'file',
306
+ 'Required parameter "file" was null or undefined when calling bulkImportSubscriptionMembers().'
307
+ );
308
+ }
309
+
310
+ const queryParameters: any = {};
311
+
312
+ const headerParameters: runtime.HTTPHeaders = {};
313
+
314
+ if (this.configuration && this.configuration.accessToken) {
315
+ const token = this.configuration.accessToken;
316
+ const tokenString = await token("bearerAuth", []);
317
+
318
+ if (tokenString) {
319
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
320
+ }
321
+ }
322
+ const consumes: runtime.Consume[] = [
323
+ { contentType: 'multipart/form-data' },
324
+ ];
325
+ // @ts-ignore: canConsumeForm may be unused
326
+ const canConsumeForm = runtime.canConsumeForm(consumes);
327
+
328
+ let formParams: { append(param: string, value: any): any };
329
+ let useForm = false;
330
+ // use FormData to transmit files using content-type "multipart/form-data"
331
+ useForm = canConsumeForm;
332
+ if (useForm) {
333
+ formParams = new FormData();
334
+ } else {
335
+ formParams = new URLSearchParams();
336
+ }
337
+
338
+ if (requestParameters['file'] != null) {
339
+ formParams.append('file', requestParameters['file'] as any);
340
+ }
341
+
342
+ const response = await this.request({
343
+ path: `/api/admin/subscriptions/{subscriptionId}/members/bulk-import`.replace(`{${"subscriptionId"}}`, encodeURIComponent(String(requestParameters['subscriptionId']))),
344
+ method: 'POST',
345
+ headers: headerParameters,
346
+ query: queryParameters,
347
+ body: formParams,
348
+ }, initOverrides);
349
+
350
+ return new runtime.JSONApiResponse(response, (jsonValue) => BulkImportResultFromJSON(jsonValue));
351
+ }
352
+
353
+ /**
354
+ * Bulk import members to a subscription from a CSV file
355
+ */
356
+ async bulkImportSubscriptionMembers(requestParameters: BulkImportSubscriptionMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BulkImportResult> {
357
+ const response = await this.bulkImportSubscriptionMembersRaw(requestParameters, initOverrides);
358
+ return await response.value();
359
+ }
360
+
261
361
  /**
262
362
  * Cancel a PlaySubscription and all future reservations
263
363
  */
@@ -463,6 +563,63 @@ export class AdminSubscriptionsApi extends runtime.BaseAPI {
463
563
  return await response.value();
464
564
  }
465
565
 
566
+ /**
567
+ * List members of a subscription with pagination and search
568
+ */
569
+ async getSubscriptionMembersRaw(requestParameters: GetSubscriptionMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SubscriptionMembersPageDto>> {
570
+ if (requestParameters['subscriptionId'] == null) {
571
+ throw new runtime.RequiredError(
572
+ 'subscriptionId',
573
+ 'Required parameter "subscriptionId" was null or undefined when calling getSubscriptionMembers().'
574
+ );
575
+ }
576
+
577
+ const queryParameters: any = {};
578
+
579
+ if (requestParameters['offset'] != null) {
580
+ queryParameters['offset'] = requestParameters['offset'];
581
+ }
582
+
583
+ if (requestParameters['limit'] != null) {
584
+ queryParameters['limit'] = requestParameters['limit'];
585
+ }
586
+
587
+ if (requestParameters['search'] != null) {
588
+ queryParameters['search'] = requestParameters['search'];
589
+ }
590
+
591
+ if (requestParameters['paymentConfigId'] != null) {
592
+ queryParameters['paymentConfigId'] = requestParameters['paymentConfigId'];
593
+ }
594
+
595
+ const headerParameters: runtime.HTTPHeaders = {};
596
+
597
+ if (this.configuration && this.configuration.accessToken) {
598
+ const token = this.configuration.accessToken;
599
+ const tokenString = await token("bearerAuth", []);
600
+
601
+ if (tokenString) {
602
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
603
+ }
604
+ }
605
+ const response = await this.request({
606
+ path: `/api/admin/subscriptions/{subscriptionId}/members`.replace(`{${"subscriptionId"}}`, encodeURIComponent(String(requestParameters['subscriptionId']))),
607
+ method: 'GET',
608
+ headers: headerParameters,
609
+ query: queryParameters,
610
+ }, initOverrides);
611
+
612
+ return new runtime.JSONApiResponse(response, (jsonValue) => SubscriptionMembersPageDtoFromJSON(jsonValue));
613
+ }
614
+
615
+ /**
616
+ * List members of a subscription with pagination and search
617
+ */
618
+ async getSubscriptionMembers(requestParameters: GetSubscriptionMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SubscriptionMembersPageDto> {
619
+ const response = await this.getSubscriptionMembersRaw(requestParameters, initOverrides);
620
+ return await response.value();
621
+ }
622
+
466
623
  /**
467
624
  * List PlaySubscriptions for the logged in customer with optional filtering (lightweight)
468
625
  */
@@ -658,4 +815,62 @@ export class AdminSubscriptionsApi extends runtime.BaseAPI {
658
815
  await this.removePlayerFromSubscriptionRaw(requestParameters, initOverrides);
659
816
  }
660
817
 
818
+ /**
819
+ * Update a member\'s payment config override
820
+ */
821
+ async updateMemberPaymentConfigRaw(requestParameters: UpdateMemberPaymentConfigOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteShift200Response>> {
822
+ if (requestParameters['subscriptionId'] == null) {
823
+ throw new runtime.RequiredError(
824
+ 'subscriptionId',
825
+ 'Required parameter "subscriptionId" was null or undefined when calling updateMemberPaymentConfig().'
826
+ );
827
+ }
828
+
829
+ if (requestParameters['memberId'] == null) {
830
+ throw new runtime.RequiredError(
831
+ 'memberId',
832
+ 'Required parameter "memberId" was null or undefined when calling updateMemberPaymentConfig().'
833
+ );
834
+ }
835
+
836
+ if (requestParameters['updateMemberPaymentConfigRequest'] == null) {
837
+ throw new runtime.RequiredError(
838
+ 'updateMemberPaymentConfigRequest',
839
+ 'Required parameter "updateMemberPaymentConfigRequest" was null or undefined when calling updateMemberPaymentConfig().'
840
+ );
841
+ }
842
+
843
+ const queryParameters: any = {};
844
+
845
+ const headerParameters: runtime.HTTPHeaders = {};
846
+
847
+ headerParameters['Content-Type'] = 'application/json';
848
+
849
+ if (this.configuration && this.configuration.accessToken) {
850
+ const token = this.configuration.accessToken;
851
+ const tokenString = await token("bearerAuth", []);
852
+
853
+ if (tokenString) {
854
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
855
+ }
856
+ }
857
+ const response = await this.request({
858
+ path: `/api/admin/subscriptions/{subscriptionId}/members/{memberId}/payment-config`.replace(`{${"subscriptionId"}}`, encodeURIComponent(String(requestParameters['subscriptionId']))).replace(`{${"memberId"}}`, encodeURIComponent(String(requestParameters['memberId']))),
859
+ method: 'PATCH',
860
+ headers: headerParameters,
861
+ query: queryParameters,
862
+ body: UpdateMemberPaymentConfigRequestToJSON(requestParameters['updateMemberPaymentConfigRequest']),
863
+ }, initOverrides);
864
+
865
+ return new runtime.JSONApiResponse(response, (jsonValue) => DeleteShift200ResponseFromJSON(jsonValue));
866
+ }
867
+
868
+ /**
869
+ * Update a member\'s payment config override
870
+ */
871
+ async updateMemberPaymentConfig(requestParameters: UpdateMemberPaymentConfigOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteShift200Response> {
872
+ const response = await this.updateMemberPaymentConfigRaw(requestParameters, initOverrides);
873
+ return await response.value();
874
+ }
875
+
661
876
  }
@@ -15,11 +15,14 @@
15
15
 
16
16
  import * as runtime from '../runtime';
17
17
  import type {
18
+ BulkImportResult,
18
19
  CheckUserExists200Response,
19
20
  CreateBasicUserDto,
20
21
  User,
21
22
  } from '../models/index';
22
23
  import {
24
+ BulkImportResultFromJSON,
25
+ BulkImportResultToJSON,
23
26
  CheckUserExists200ResponseFromJSON,
24
27
  CheckUserExists200ResponseToJSON,
25
28
  CreateBasicUserDtoFromJSON,
@@ -28,6 +31,10 @@ import {
28
31
  UserToJSON,
29
32
  } from '../models/index';
30
33
 
34
+ export interface BulkImportUsersRequest {
35
+ file: Blob;
36
+ }
37
+
31
38
  export interface CheckUserExistsRequest {
32
39
  email?: string;
33
40
  phone?: string;
@@ -61,6 +68,68 @@ export interface LeaveCustomerRequest {
61
68
  */
62
69
  export class AdminUsersApi extends runtime.BaseAPI {
63
70
 
71
+ /**
72
+ * Bulk import users from a CSV file
73
+ */
74
+ async bulkImportUsersRaw(requestParameters: BulkImportUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BulkImportResult>> {
75
+ if (requestParameters['file'] == null) {
76
+ throw new runtime.RequiredError(
77
+ 'file',
78
+ 'Required parameter "file" was null or undefined when calling bulkImportUsers().'
79
+ );
80
+ }
81
+
82
+ const queryParameters: any = {};
83
+
84
+ const headerParameters: runtime.HTTPHeaders = {};
85
+
86
+ if (this.configuration && this.configuration.accessToken) {
87
+ const token = this.configuration.accessToken;
88
+ const tokenString = await token("bearerAuth", []);
89
+
90
+ if (tokenString) {
91
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
92
+ }
93
+ }
94
+ const consumes: runtime.Consume[] = [
95
+ { contentType: 'multipart/form-data' },
96
+ ];
97
+ // @ts-ignore: canConsumeForm may be unused
98
+ const canConsumeForm = runtime.canConsumeForm(consumes);
99
+
100
+ let formParams: { append(param: string, value: any): any };
101
+ let useForm = false;
102
+ // use FormData to transmit files using content-type "multipart/form-data"
103
+ useForm = canConsumeForm;
104
+ if (useForm) {
105
+ formParams = new FormData();
106
+ } else {
107
+ formParams = new URLSearchParams();
108
+ }
109
+
110
+ if (requestParameters['file'] != null) {
111
+ formParams.append('file', requestParameters['file'] as any);
112
+ }
113
+
114
+ const response = await this.request({
115
+ path: `/api/admin/users/bulk-import`,
116
+ method: 'POST',
117
+ headers: headerParameters,
118
+ query: queryParameters,
119
+ body: formParams,
120
+ }, initOverrides);
121
+
122
+ return new runtime.JSONApiResponse(response, (jsonValue) => BulkImportResultFromJSON(jsonValue));
123
+ }
124
+
125
+ /**
126
+ * Bulk import users from a CSV file
127
+ */
128
+ async bulkImportUsers(requestParameters: BulkImportUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BulkImportResult> {
129
+ const response = await this.bulkImportUsersRaw(requestParameters, initOverrides);
130
+ return await response.value();
131
+ }
132
+
64
133
  /**
65
134
  * Check if a user exists by email or phone
66
135
  */
@@ -17,6 +17,7 @@ import * as runtime from '../runtime';
17
17
  import type {
18
18
  PlayRegistrationDTO,
19
19
  PlayRegistrationListResponse,
20
+ RegisterForPlaySearchRequest,
20
21
  RegistrationStatus,
21
22
  } from '../models/index';
22
23
  import {
@@ -24,6 +25,8 @@ import {
24
25
  PlayRegistrationDTOToJSON,
25
26
  PlayRegistrationListResponseFromJSON,
26
27
  PlayRegistrationListResponseToJSON,
28
+ RegisterForPlaySearchRequestFromJSON,
29
+ RegisterForPlaySearchRequestToJSON,
27
30
  RegistrationStatusFromJSON,
28
31
  RegistrationStatusToJSON,
29
32
  } from '../models/index';
@@ -38,8 +41,9 @@ export interface GetMyPlayRegistrationsRequest {
38
41
  size?: number;
39
42
  }
40
43
 
41
- export interface RegisterForPlaySearchRequest {
44
+ export interface RegisterForPlaySearchOperationRequest {
42
45
  playSearchId: string;
46
+ registerForPlaySearchRequest?: RegisterForPlaySearchRequest;
43
47
  }
44
48
 
45
49
  /**
@@ -136,7 +140,7 @@ export class AppPlayRegistrationApi extends runtime.BaseAPI {
136
140
  /**
137
141
  * Register for a play search
138
142
  */
139
- async registerForPlaySearchRaw(requestParameters: RegisterForPlaySearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PlayRegistrationDTO>> {
143
+ async registerForPlaySearchRaw(requestParameters: RegisterForPlaySearchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PlayRegistrationDTO>> {
140
144
  if (requestParameters['playSearchId'] == null) {
141
145
  throw new runtime.RequiredError(
142
146
  'playSearchId',
@@ -148,6 +152,8 @@ export class AppPlayRegistrationApi extends runtime.BaseAPI {
148
152
 
149
153
  const headerParameters: runtime.HTTPHeaders = {};
150
154
 
155
+ headerParameters['Content-Type'] = 'application/json';
156
+
151
157
  if (this.configuration && this.configuration.accessToken) {
152
158
  const token = this.configuration.accessToken;
153
159
  const tokenString = await token("bearerAuth", []);
@@ -161,6 +167,7 @@ export class AppPlayRegistrationApi extends runtime.BaseAPI {
161
167
  method: 'POST',
162
168
  headers: headerParameters,
163
169
  query: queryParameters,
170
+ body: RegisterForPlaySearchRequestToJSON(requestParameters['registerForPlaySearchRequest']),
164
171
  }, initOverrides);
165
172
 
166
173
  return new runtime.JSONApiResponse(response, (jsonValue) => PlayRegistrationDTOFromJSON(jsonValue));
@@ -169,7 +176,7 @@ export class AppPlayRegistrationApi extends runtime.BaseAPI {
169
176
  /**
170
177
  * Register for a play search
171
178
  */
172
- async registerForPlaySearch(requestParameters: RegisterForPlaySearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PlayRegistrationDTO> {
179
+ async registerForPlaySearch(requestParameters: RegisterForPlaySearchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PlayRegistrationDTO> {
173
180
  const response = await this.registerForPlaySearchRaw(requestParameters, initOverrides);
174
181
  return await response.value();
175
182
  }
@@ -18,6 +18,7 @@ import type {
18
18
  ExpireUnpaidReservationResult,
19
19
  ExpireUnpaidReservations401Response,
20
20
  ExpireUnpaidReservations500Response,
21
+ GenerateRecurringGames200Response,
21
22
  } from '../models/index';
22
23
  import {
23
24
  ExpireUnpaidReservationResultFromJSON,
@@ -26,6 +27,8 @@ import {
26
27
  ExpireUnpaidReservations401ResponseToJSON,
27
28
  ExpireUnpaidReservations500ResponseFromJSON,
28
29
  ExpireUnpaidReservations500ResponseToJSON,
30
+ GenerateRecurringGames200ResponseFromJSON,
31
+ GenerateRecurringGames200ResponseToJSON,
29
32
  } from '../models/index';
30
33
 
31
34
  /**
@@ -63,4 +66,36 @@ export class BackgroundApi extends runtime.BaseAPI {
63
66
  return await response.value();
64
67
  }
65
68
 
69
+ /**
70
+ * For each active recurring game, tops up future PlaySearch events to maintain a rolling window of 4 upcoming matches. Run weekly.
71
+ * Ensure all active recurring games have 4 upcoming PlaySearch events
72
+ */
73
+ async generateRecurringGamesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GenerateRecurringGames200Response>> {
74
+ const queryParameters: any = {};
75
+
76
+ const headerParameters: runtime.HTTPHeaders = {};
77
+
78
+ if (this.configuration && this.configuration.apiKey) {
79
+ headerParameters["x-jugarhoy-secret"] = await this.configuration.apiKey("x-jugarhoy-secret"); // jugarhoySecret authentication
80
+ }
81
+
82
+ const response = await this.request({
83
+ path: `/api/background/generate-recurring-games`,
84
+ method: 'POST',
85
+ headers: headerParameters,
86
+ query: queryParameters,
87
+ }, initOverrides);
88
+
89
+ return new runtime.JSONApiResponse(response, (jsonValue) => GenerateRecurringGames200ResponseFromJSON(jsonValue));
90
+ }
91
+
92
+ /**
93
+ * For each active recurring game, tops up future PlaySearch events to maintain a rolling window of 4 upcoming matches. Run weekly.
94
+ * Ensure all active recurring games have 4 upcoming PlaySearch events
95
+ */
96
+ async generateRecurringGames(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GenerateRecurringGames200Response> {
97
+ const response = await this.generateRecurringGamesRaw(initOverrides);
98
+ return await response.value();
99
+ }
100
+
66
101
  }