@jugarhoy/api 1.0.10 → 1.1.7

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.
@@ -0,0 +1,137 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Jugar Hoy - API
5
+ * API documentation for Jugar Hoy application
6
+ *
7
+ * The version of the OpenAPI document: 1.5.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+ import * as runtime from '../runtime';
17
+ import type {
18
+ ApiAppFalta1NotificationsSendNewPost200Response,
19
+ } from '../models/index';
20
+ import {
21
+ ApiAppFalta1NotificationsSendNewPost200ResponseFromJSON,
22
+ ApiAppFalta1NotificationsSendNewPost200ResponseToJSON,
23
+ } from '../models/index';
24
+
25
+ /**
26
+ *
27
+ */
28
+ export class FALTA1NotificationsApi extends runtime.BaseAPI {
29
+
30
+ /**
31
+ * Clears the Redis cache for FALTA1 eligible users. Should be called when user settings change. **IMPORTANT**: This endpoint requires JUGARHOY_SECRET header for authentication.
32
+ * Clear FALTA1 user cache
33
+ */
34
+ async apiAppFalta1NotificationsClearCachePostRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
35
+ const queryParameters: any = {};
36
+
37
+ const headerParameters: runtime.HTTPHeaders = {};
38
+
39
+ if (this.configuration && this.configuration.accessToken) {
40
+ const token = this.configuration.accessToken;
41
+ const tokenString = await token("bearerAuth", []);
42
+
43
+ if (tokenString) {
44
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
45
+ }
46
+ }
47
+ const response = await this.request({
48
+ path: `/api/app/falta1-notifications/clear-cache`,
49
+ method: 'POST',
50
+ headers: headerParameters,
51
+ query: queryParameters,
52
+ }, initOverrides);
53
+
54
+ return new runtime.VoidApiResponse(response);
55
+ }
56
+
57
+ /**
58
+ * Clears the Redis cache for FALTA1 eligible users. Should be called when user settings change. **IMPORTANT**: This endpoint requires JUGARHOY_SECRET header for authentication.
59
+ * Clear FALTA1 user cache
60
+ */
61
+ async apiAppFalta1NotificationsClearCachePost(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
62
+ await this.apiAppFalta1NotificationsClearCachePostRaw(initOverrides);
63
+ }
64
+
65
+ /**
66
+ * Triggered by Cloud Scheduler every hour. Finds PlaySearches approaching their limit time (1 hour before match) and sends notifications to matching users. **IMPORTANT**: This endpoint requires JUGARHOY_SECRET header for authentication.
67
+ * Send \"limit approaching\" FALTA1 notifications
68
+ */
69
+ async apiAppFalta1NotificationsSendLimitPostRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiAppFalta1NotificationsSendNewPost200Response>> {
70
+ const queryParameters: any = {};
71
+
72
+ const headerParameters: runtime.HTTPHeaders = {};
73
+
74
+ if (this.configuration && this.configuration.accessToken) {
75
+ const token = this.configuration.accessToken;
76
+ const tokenString = await token("bearerAuth", []);
77
+
78
+ if (tokenString) {
79
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
80
+ }
81
+ }
82
+ const response = await this.request({
83
+ path: `/api/app/falta1-notifications/send-limit`,
84
+ method: 'POST',
85
+ headers: headerParameters,
86
+ query: queryParameters,
87
+ }, initOverrides);
88
+
89
+ return new runtime.JSONApiResponse(response, (jsonValue) => ApiAppFalta1NotificationsSendNewPost200ResponseFromJSON(jsonValue));
90
+ }
91
+
92
+ /**
93
+ * Triggered by Cloud Scheduler every hour. Finds PlaySearches approaching their limit time (1 hour before match) and sends notifications to matching users. **IMPORTANT**: This endpoint requires JUGARHOY_SECRET header for authentication.
94
+ * Send \"limit approaching\" FALTA1 notifications
95
+ */
96
+ async apiAppFalta1NotificationsSendLimitPost(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiAppFalta1NotificationsSendNewPost200Response> {
97
+ const response = await this.apiAppFalta1NotificationsSendLimitPostRaw(initOverrides);
98
+ return await response.value();
99
+ }
100
+
101
+ /**
102
+ * Triggered by Cloud Scheduler every 10 minutes. Finds new PlaySearches and sends notifications to matching users. **IMPORTANT**: This endpoint requires JUGARHOY_SECRET header for authentication.
103
+ * Send \"new PlaySearch\" FALTA1 notifications
104
+ */
105
+ async apiAppFalta1NotificationsSendNewPostRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiAppFalta1NotificationsSendNewPost200Response>> {
106
+ const queryParameters: any = {};
107
+
108
+ const headerParameters: runtime.HTTPHeaders = {};
109
+
110
+ if (this.configuration && this.configuration.accessToken) {
111
+ const token = this.configuration.accessToken;
112
+ const tokenString = await token("bearerAuth", []);
113
+
114
+ if (tokenString) {
115
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
116
+ }
117
+ }
118
+ const response = await this.request({
119
+ path: `/api/app/falta1-notifications/send-new`,
120
+ method: 'POST',
121
+ headers: headerParameters,
122
+ query: queryParameters,
123
+ }, initOverrides);
124
+
125
+ return new runtime.JSONApiResponse(response, (jsonValue) => ApiAppFalta1NotificationsSendNewPost200ResponseFromJSON(jsonValue));
126
+ }
127
+
128
+ /**
129
+ * Triggered by Cloud Scheduler every 10 minutes. Finds new PlaySearches and sends notifications to matching users. **IMPORTANT**: This endpoint requires JUGARHOY_SECRET header for authentication.
130
+ * Send \"new PlaySearch\" FALTA1 notifications
131
+ */
132
+ async apiAppFalta1NotificationsSendNewPost(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiAppFalta1NotificationsSendNewPost200Response> {
133
+ const response = await this.apiAppFalta1NotificationsSendNewPostRaw(initOverrides);
134
+ return await response.value();
135
+ }
136
+
137
+ }
package/apis/UsersApi.ts CHANGED
@@ -16,8 +16,11 @@
16
16
  import * as runtime from '../runtime';
17
17
  import type {
18
18
  CreateUserNotificationDto,
19
+ GetNotificationByType200Response,
20
+ NotificationChannelType,
19
21
  SavePushTokenRequest,
20
22
  Sport,
23
+ ToggleNotificationByType200Response,
21
24
  UpdateUserNotificationDto,
22
25
  User,
23
26
  UserDto,
@@ -29,10 +32,16 @@ import type {
29
32
  import {
30
33
  CreateUserNotificationDtoFromJSON,
31
34
  CreateUserNotificationDtoToJSON,
35
+ GetNotificationByType200ResponseFromJSON,
36
+ GetNotificationByType200ResponseToJSON,
37
+ NotificationChannelTypeFromJSON,
38
+ NotificationChannelTypeToJSON,
32
39
  SavePushTokenRequestFromJSON,
33
40
  SavePushTokenRequestToJSON,
34
41
  SportFromJSON,
35
42
  SportToJSON,
43
+ ToggleNotificationByType200ResponseFromJSON,
44
+ ToggleNotificationByType200ResponseToJSON,
36
45
  UpdateUserNotificationDtoFromJSON,
37
46
  UpdateUserNotificationDtoToJSON,
38
47
  UserFromJSON,
@@ -61,6 +70,10 @@ export interface DeleteUserNotificationRequest {
61
70
  notificationId: string;
62
71
  }
63
72
 
73
+ export interface GetNotificationByTypeRequest {
74
+ type: NotificationChannelType;
75
+ }
76
+
64
77
  export interface GetUserByEmailRequest {
65
78
  email: string;
66
79
  }
@@ -78,6 +91,10 @@ export interface SavePushTokenOperationRequest {
78
91
  savePushTokenRequest: SavePushTokenRequest;
79
92
  }
80
93
 
94
+ export interface ToggleNotificationByTypeRequest {
95
+ type: NotificationChannelType;
96
+ }
97
+
81
98
  export interface ToggleUserNotificationRequest {
82
99
  notificationId: string;
83
100
  }
@@ -236,6 +253,47 @@ export class UsersApi extends runtime.BaseAPI {
236
253
  await this.deleteUserNotificationRaw(requestParameters, initOverrides);
237
254
  }
238
255
 
256
+ /**
257
+ * Get notification status for a specific type
258
+ */
259
+ async getNotificationByTypeRaw(requestParameters: GetNotificationByTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetNotificationByType200Response>> {
260
+ if (requestParameters['type'] == null) {
261
+ throw new runtime.RequiredError(
262
+ 'type',
263
+ 'Required parameter "type" was null or undefined when calling getNotificationByType().'
264
+ );
265
+ }
266
+
267
+ const queryParameters: any = {};
268
+
269
+ const headerParameters: runtime.HTTPHeaders = {};
270
+
271
+ if (this.configuration && this.configuration.accessToken) {
272
+ const token = this.configuration.accessToken;
273
+ const tokenString = await token("bearerAuth", []);
274
+
275
+ if (tokenString) {
276
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
277
+ }
278
+ }
279
+ const response = await this.request({
280
+ path: `/api/users/notifications/type/{type}`.replace(`{${"type"}}`, encodeURIComponent(String(requestParameters['type']))),
281
+ method: 'GET',
282
+ headers: headerParameters,
283
+ query: queryParameters,
284
+ }, initOverrides);
285
+
286
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetNotificationByType200ResponseFromJSON(jsonValue));
287
+ }
288
+
289
+ /**
290
+ * Get notification status for a specific type
291
+ */
292
+ async getNotificationByType(requestParameters: GetNotificationByTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetNotificationByType200Response> {
293
+ const response = await this.getNotificationByTypeRaw(requestParameters, initOverrides);
294
+ return await response.value();
295
+ }
296
+
239
297
  /**
240
298
  * Retrieve a user by email
241
299
  */
@@ -444,6 +502,47 @@ export class UsersApi extends runtime.BaseAPI {
444
502
  return await response.value();
445
503
  }
446
504
 
505
+ /**
506
+ * Toggle a notification type (creates if doesn\'t exist, toggles if exists)
507
+ */
508
+ async toggleNotificationByTypeRaw(requestParameters: ToggleNotificationByTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ToggleNotificationByType200Response>> {
509
+ if (requestParameters['type'] == null) {
510
+ throw new runtime.RequiredError(
511
+ 'type',
512
+ 'Required parameter "type" was null or undefined when calling toggleNotificationByType().'
513
+ );
514
+ }
515
+
516
+ const queryParameters: any = {};
517
+
518
+ const headerParameters: runtime.HTTPHeaders = {};
519
+
520
+ if (this.configuration && this.configuration.accessToken) {
521
+ const token = this.configuration.accessToken;
522
+ const tokenString = await token("bearerAuth", []);
523
+
524
+ if (tokenString) {
525
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
526
+ }
527
+ }
528
+ const response = await this.request({
529
+ path: `/api/users/notifications/type/{type}/toggle`.replace(`{${"type"}}`, encodeURIComponent(String(requestParameters['type']))),
530
+ method: 'PUT',
531
+ headers: headerParameters,
532
+ query: queryParameters,
533
+ }, initOverrides);
534
+
535
+ return new runtime.JSONApiResponse(response, (jsonValue) => ToggleNotificationByType200ResponseFromJSON(jsonValue));
536
+ }
537
+
538
+ /**
539
+ * Toggle a notification type (creates if doesn\'t exist, toggles if exists)
540
+ */
541
+ async toggleNotificationByType(requestParameters: ToggleNotificationByTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ToggleNotificationByType200Response> {
542
+ const response = await this.toggleNotificationByTypeRaw(requestParameters, initOverrides);
543
+ return await response.value();
544
+ }
545
+
447
546
  /**
448
547
  * Toggle the enabled state of a notification preference
449
548
  */
package/apis/index.ts CHANGED
@@ -23,6 +23,7 @@ export * from './AuthApi';
23
23
  export * from './BackgroundApi';
24
24
  export * from './ClubApi';
25
25
  export * from './DevicesApi';
26
+ export * from './FALTA1NotificationsApi';
26
27
  export * from './HealthApi';
27
28
  export * from './MercadoPagoApi';
28
29
  export * from './MercadoPagoIPNApi';
@@ -0,0 +1,81 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Jugar Hoy - API
5
+ * API documentation for Jugar Hoy application
6
+ *
7
+ * The version of the OpenAPI document: 1.5.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner } from './ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner';
17
+ import {
18
+ ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerFromJSON,
19
+ ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerFromJSONTyped,
20
+ ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerToJSON,
21
+ ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerToJSONTyped,
22
+ } from './ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface ApiAppFalta1NotificationsSendNewPost200Response
28
+ */
29
+ export interface ApiAppFalta1NotificationsSendNewPost200Response {
30
+ /**
31
+ *
32
+ * @type {boolean}
33
+ * @memberof ApiAppFalta1NotificationsSendNewPost200Response
34
+ */
35
+ success?: boolean;
36
+ /**
37
+ *
38
+ * @type {Array<ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner>}
39
+ * @memberof ApiAppFalta1NotificationsSendNewPost200Response
40
+ */
41
+ stats?: Array<ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner>;
42
+ }
43
+
44
+ /**
45
+ * Check if a given object implements the ApiAppFalta1NotificationsSendNewPost200Response interface.
46
+ */
47
+ export function instanceOfApiAppFalta1NotificationsSendNewPost200Response(value: object): value is ApiAppFalta1NotificationsSendNewPost200Response {
48
+ return true;
49
+ }
50
+
51
+ export function ApiAppFalta1NotificationsSendNewPost200ResponseFromJSON(json: any): ApiAppFalta1NotificationsSendNewPost200Response {
52
+ return ApiAppFalta1NotificationsSendNewPost200ResponseFromJSONTyped(json, false);
53
+ }
54
+
55
+ export function ApiAppFalta1NotificationsSendNewPost200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiAppFalta1NotificationsSendNewPost200Response {
56
+ if (json == null) {
57
+ return json;
58
+ }
59
+ return {
60
+
61
+ 'success': json['success'] == null ? undefined : json['success'],
62
+ 'stats': json['stats'] == null ? undefined : ((json['stats'] as Array<any>).map(ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerFromJSON)),
63
+ };
64
+ }
65
+
66
+ export function ApiAppFalta1NotificationsSendNewPost200ResponseToJSON(json: any): ApiAppFalta1NotificationsSendNewPost200Response {
67
+ return ApiAppFalta1NotificationsSendNewPost200ResponseToJSONTyped(json, false);
68
+ }
69
+
70
+ export function ApiAppFalta1NotificationsSendNewPost200ResponseToJSONTyped(value?: ApiAppFalta1NotificationsSendNewPost200Response | null, ignoreDiscriminator: boolean = false): any {
71
+ if (value == null) {
72
+ return value;
73
+ }
74
+
75
+ return {
76
+
77
+ 'success': value['success'],
78
+ 'stats': value['stats'] == null ? undefined : ((value['stats'] as Array<any>).map(ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerToJSON)),
79
+ };
80
+ }
81
+
@@ -0,0 +1,89 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Jugar Hoy - API
5
+ * API documentation for Jugar Hoy application
6
+ *
7
+ * The version of the OpenAPI document: 1.5.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner
20
+ */
21
+ export interface ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner
26
+ */
27
+ playSearchId?: string;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner
32
+ */
33
+ matchedUsers?: number;
34
+ /**
35
+ *
36
+ * @type {number}
37
+ * @memberof ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner
38
+ */
39
+ notificationsSent?: number;
40
+ /**
41
+ *
42
+ * @type {Array<string>}
43
+ * @memberof ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner
44
+ */
45
+ errors?: Array<string>;
46
+ }
47
+
48
+ /**
49
+ * Check if a given object implements the ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner interface.
50
+ */
51
+ export function instanceOfApiAppFalta1NotificationsSendNewPost200ResponseStatsInner(value: object): value is ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner {
52
+ return true;
53
+ }
54
+
55
+ export function ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerFromJSON(json: any): ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner {
56
+ return ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerFromJSONTyped(json, false);
57
+ }
58
+
59
+ export function ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner {
60
+ if (json == null) {
61
+ return json;
62
+ }
63
+ return {
64
+
65
+ 'playSearchId': json['playSearchId'] == null ? undefined : json['playSearchId'],
66
+ 'matchedUsers': json['matchedUsers'] == null ? undefined : json['matchedUsers'],
67
+ 'notificationsSent': json['notificationsSent'] == null ? undefined : json['notificationsSent'],
68
+ 'errors': json['errors'] == null ? undefined : json['errors'],
69
+ };
70
+ }
71
+
72
+ export function ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerToJSON(json: any): ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner {
73
+ return ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerToJSONTyped(json, false);
74
+ }
75
+
76
+ export function ApiAppFalta1NotificationsSendNewPost200ResponseStatsInnerToJSONTyped(value?: ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner | null, ignoreDiscriminator: boolean = false): any {
77
+ if (value == null) {
78
+ return value;
79
+ }
80
+
81
+ return {
82
+
83
+ 'playSearchId': value['playSearchId'],
84
+ 'matchedUsers': value['matchedUsers'],
85
+ 'notificationsSent': value['notificationsSent'],
86
+ 'errors': value['errors'],
87
+ };
88
+ }
89
+
@@ -0,0 +1,53 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Jugar Hoy - API
5
+ * API documentation for Jugar Hoy application
6
+ *
7
+ * The version of the OpenAPI document: 1.5.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+ /**
17
+ * User's gender (MALE or FEMALE)
18
+ * @export
19
+ */
20
+ export const Gender = {
21
+ Male: 'MALE',
22
+ Female: 'FEMALE'
23
+ } as const;
24
+ export type Gender = typeof Gender[keyof typeof Gender];
25
+
26
+
27
+ export function instanceOfGender(value: any): boolean {
28
+ for (const key in Gender) {
29
+ if (Object.prototype.hasOwnProperty.call(Gender, key)) {
30
+ if (Gender[key as keyof typeof Gender] === value) {
31
+ return true;
32
+ }
33
+ }
34
+ }
35
+ return false;
36
+ }
37
+
38
+ export function GenderFromJSON(json: any): Gender {
39
+ return GenderFromJSONTyped(json, false);
40
+ }
41
+
42
+ export function GenderFromJSONTyped(json: any, ignoreDiscriminator: boolean): Gender {
43
+ return json as Gender;
44
+ }
45
+
46
+ export function GenderToJSON(value?: Gender | null): any {
47
+ return value as any;
48
+ }
49
+
50
+ export function GenderToJSONTyped(value: any, ignoreDiscriminator: boolean): Gender {
51
+ return value as Gender;
52
+ }
53
+
@@ -0,0 +1,73 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Jugar Hoy - API
5
+ * API documentation for Jugar Hoy application
6
+ *
7
+ * The version of the OpenAPI document: 1.5.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface GetNotificationByType200Response
20
+ */
21
+ export interface GetNotificationByType200Response {
22
+ /**
23
+ * Whether this notification type is enabled
24
+ * @type {boolean}
25
+ * @memberof GetNotificationByType200Response
26
+ */
27
+ enabled?: boolean;
28
+ /**
29
+ * Optional subscription information
30
+ * @type {{ [key: string]: any; }}
31
+ * @memberof GetNotificationByType200Response
32
+ */
33
+ subscriptionId?: { [key: string]: any; };
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the GetNotificationByType200Response interface.
38
+ */
39
+ export function instanceOfGetNotificationByType200Response(value: object): value is GetNotificationByType200Response {
40
+ return true;
41
+ }
42
+
43
+ export function GetNotificationByType200ResponseFromJSON(json: any): GetNotificationByType200Response {
44
+ return GetNotificationByType200ResponseFromJSONTyped(json, false);
45
+ }
46
+
47
+ export function GetNotificationByType200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetNotificationByType200Response {
48
+ if (json == null) {
49
+ return json;
50
+ }
51
+ return {
52
+
53
+ 'enabled': json['enabled'] == null ? undefined : json['enabled'],
54
+ 'subscriptionId': json['subscriptionId'] == null ? undefined : json['subscriptionId'],
55
+ };
56
+ }
57
+
58
+ export function GetNotificationByType200ResponseToJSON(json: any): GetNotificationByType200Response {
59
+ return GetNotificationByType200ResponseToJSONTyped(json, false);
60
+ }
61
+
62
+ export function GetNotificationByType200ResponseToJSONTyped(value?: GetNotificationByType200Response | null, ignoreDiscriminator: boolean = false): any {
63
+ if (value == null) {
64
+ return value;
65
+ }
66
+
67
+ return {
68
+
69
+ 'enabled': value['enabled'],
70
+ 'subscriptionId': value['subscriptionId'],
71
+ };
72
+ }
73
+
@@ -24,7 +24,8 @@ export const NotificationCategory = {
24
24
  Promo: 'promo',
25
25
  FindPlayer: 'find_player',
26
26
  NewTournament: 'new_tournament',
27
- Training: 'training'
27
+ Training: 'training',
28
+ Falta1: 'falta1'
28
29
  } as const;
29
30
  export type NotificationCategory = typeof NotificationCategory[keyof typeof NotificationCategory];
30
31
 
@@ -21,7 +21,8 @@ export const NotificationChannelType = {
21
21
  Whatsapp: 'WHATSAPP',
22
22
  PushWeb: 'PUSH_WEB',
23
23
  PushNative: 'PUSH_NATIVE',
24
- Email: 'EMAIL'
24
+ Email: 'EMAIL',
25
+ Falta1: 'FALTA1'
25
26
  } as const;
26
27
  export type NotificationChannelType = typeof NotificationChannelType[keyof typeof NotificationChannelType];
27
28
 
@@ -161,6 +161,18 @@ export interface PlaySearch {
161
161
  * @memberof PlaySearch
162
162
  */
163
163
  updatedAt?: Date;
164
+ /**
165
+ * Timestamp when FALTA1 'new' notification was sent
166
+ * @type {Date}
167
+ * @memberof PlaySearch
168
+ */
169
+ alertSentDate?: Date | null;
170
+ /**
171
+ * When to send FALTA1 'limit' notification (1 hour before match)
172
+ * @type {Date}
173
+ * @memberof PlaySearch
174
+ */
175
+ alertLimitSentDate?: Date | null;
164
176
  }
165
177
 
166
178
 
@@ -213,6 +225,8 @@ export function PlaySearchFromJSONTyped(json: any, ignoreDiscriminator: boolean)
213
225
  'reserveId': json['reserveId'] == null ? undefined : json['reserveId'],
214
226
  'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])),
215
227
  'updatedAt': json['updatedAt'] == null ? undefined : (new Date(json['updatedAt'])),
228
+ 'alertSentDate': json['alertSentDate'] == null ? undefined : (new Date(json['alertSentDate'])),
229
+ 'alertLimitSentDate': json['alertLimitSentDate'] == null ? undefined : (new Date(json['alertLimitSentDate'])),
216
230
  };
217
231
  }
218
232
 
@@ -247,6 +261,8 @@ export function PlaySearchToJSONTyped(value?: PlaySearch | null, ignoreDiscrimin
247
261
  'reserveId': value['reserveId'],
248
262
  'createdAt': value['createdAt'] == null ? undefined : ((value['createdAt']).toISOString()),
249
263
  'updatedAt': value['updatedAt'] == null ? undefined : ((value['updatedAt']).toISOString()),
264
+ 'alertSentDate': value['alertSentDate'] == null ? undefined : ((value['alertSentDate'] as any).toISOString()),
265
+ 'alertLimitSentDate': value['alertLimitSentDate'] == null ? undefined : ((value['alertLimitSentDate'] as any).toISOString()),
250
266
  };
251
267
  }
252
268
 
@@ -43,6 +43,18 @@ export interface PlaySearchDetailDTOAllOfUser {
43
43
  * @memberof PlaySearchDetailDTOAllOfUser
44
44
  */
45
45
  avatarUrl?: string | null;
46
+ /**
47
+ * Only included for search owners
48
+ * @type {string}
49
+ * @memberof PlaySearchDetailDTOAllOfUser
50
+ */
51
+ email?: string;
52
+ /**
53
+ * Only included for search owners
54
+ * @type {string}
55
+ * @memberof PlaySearchDetailDTOAllOfUser
56
+ */
57
+ phone?: string | null;
46
58
  }
47
59
 
48
60
  /**
@@ -66,6 +78,8 @@ export function PlaySearchDetailDTOAllOfUserFromJSONTyped(json: any, ignoreDiscr
66
78
  'firstName': json['firstName'] == null ? undefined : json['firstName'],
67
79
  'lastName': json['lastName'] == null ? undefined : json['lastName'],
68
80
  'avatarUrl': json['avatarUrl'] == null ? undefined : json['avatarUrl'],
81
+ 'email': json['email'] == null ? undefined : json['email'],
82
+ 'phone': json['phone'] == null ? undefined : json['phone'],
69
83
  };
70
84
  }
71
85
 
@@ -84,6 +98,8 @@ export function PlaySearchDetailDTOAllOfUserToJSONTyped(value?: PlaySearchDetail
84
98
  'firstName': value['firstName'],
85
99
  'lastName': value['lastName'],
86
100
  'avatarUrl': value['avatarUrl'],
101
+ 'email': value['email'],
102
+ 'phone': value['phone'],
87
103
  };
88
104
  }
89
105
 
@@ -0,0 +1,65 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Jugar Hoy - API
5
+ * API documentation for Jugar Hoy application
6
+ *
7
+ * The version of the OpenAPI document: 1.5.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface ToggleNotificationByType200Response
20
+ */
21
+ export interface ToggleNotificationByType200Response {
22
+ /**
23
+ * The new enabled state
24
+ * @type {boolean}
25
+ * @memberof ToggleNotificationByType200Response
26
+ */
27
+ enabled?: boolean;
28
+ }
29
+
30
+ /**
31
+ * Check if a given object implements the ToggleNotificationByType200Response interface.
32
+ */
33
+ export function instanceOfToggleNotificationByType200Response(value: object): value is ToggleNotificationByType200Response {
34
+ return true;
35
+ }
36
+
37
+ export function ToggleNotificationByType200ResponseFromJSON(json: any): ToggleNotificationByType200Response {
38
+ return ToggleNotificationByType200ResponseFromJSONTyped(json, false);
39
+ }
40
+
41
+ export function ToggleNotificationByType200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ToggleNotificationByType200Response {
42
+ if (json == null) {
43
+ return json;
44
+ }
45
+ return {
46
+
47
+ 'enabled': json['enabled'] == null ? undefined : json['enabled'],
48
+ };
49
+ }
50
+
51
+ export function ToggleNotificationByType200ResponseToJSON(json: any): ToggleNotificationByType200Response {
52
+ return ToggleNotificationByType200ResponseToJSONTyped(json, false);
53
+ }
54
+
55
+ export function ToggleNotificationByType200ResponseToJSONTyped(value?: ToggleNotificationByType200Response | null, ignoreDiscriminator: boolean = false): any {
56
+ if (value == null) {
57
+ return value;
58
+ }
59
+
60
+ return {
61
+
62
+ 'enabled': value['enabled'],
63
+ };
64
+ }
65
+
package/models/User.ts CHANGED
@@ -27,6 +27,13 @@ import {
27
27
  UserSportProfileToJSON,
28
28
  UserSportProfileToJSONTyped,
29
29
  } from './UserSportProfile';
30
+ import type { Gender } from './Gender';
31
+ import {
32
+ GenderFromJSON,
33
+ GenderFromJSONTyped,
34
+ GenderToJSON,
35
+ GenderToJSONTyped,
36
+ } from './Gender';
30
37
  import type { UserType } from './UserType';
31
38
  import {
32
39
  UserTypeFromJSON,
@@ -137,6 +144,18 @@ export interface User {
137
144
  * @memberof User
138
145
  */
139
146
  distanceInKm?: number;
147
+ /**
148
+ *
149
+ * @type {Gender}
150
+ * @memberof User
151
+ */
152
+ gender?: Gender;
153
+ /**
154
+ * Whether location-based search is enabled for FALTA1 notifications
155
+ * @type {boolean}
156
+ * @memberof User
157
+ */
158
+ searchDistanceEnabled?: boolean;
140
159
  /**
141
160
  *
142
161
  * @type {UserType}
@@ -202,6 +221,8 @@ export function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User
202
221
  'latitude': json['latitude'] == null ? undefined : json['latitude'],
203
222
  'longitude': json['longitude'] == null ? undefined : json['longitude'],
204
223
  'distanceInKm': json['distanceInKm'] == null ? undefined : json['distanceInKm'],
224
+ 'gender': json['gender'] == null ? undefined : GenderFromJSON(json['gender']),
225
+ 'searchDistanceEnabled': json['searchDistanceEnabled'] == null ? undefined : json['searchDistanceEnabled'],
205
226
  'type': UserTypeFromJSON(json['type']),
206
227
  'memberOfCustomers': json['memberOfCustomers'] == null ? undefined : json['memberOfCustomers'],
207
228
  'userRegisteredAt': json['userRegisteredAt'] == null ? undefined : (new Date(json['userRegisteredAt'])),
@@ -235,6 +256,8 @@ export function UserToJSONTyped(value?: User | null, ignoreDiscriminator: boolea
235
256
  'latitude': value['latitude'],
236
257
  'longitude': value['longitude'],
237
258
  'distanceInKm': value['distanceInKm'],
259
+ 'gender': GenderToJSON(value['gender']),
260
+ 'searchDistanceEnabled': value['searchDistanceEnabled'],
238
261
  'type': UserTypeToJSON(value['type']),
239
262
  'memberOfCustomers': value['memberOfCustomers'],
240
263
  'userRegisteredAt': value['userRegisteredAt'] == null ? undefined : ((value['userRegisteredAt']).toISOString()),
package/models/UserDto.ts CHANGED
@@ -13,6 +13,14 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { Gender } from './Gender';
17
+ import {
18
+ GenderFromJSON,
19
+ GenderFromJSONTyped,
20
+ GenderToJSON,
21
+ GenderToJSONTyped,
22
+ } from './Gender';
23
+
16
24
  /**
17
25
  *
18
26
  * @export
@@ -79,6 +87,18 @@ export interface UserDto {
79
87
  * @memberof UserDto
80
88
  */
81
89
  distanceInKm?: number;
90
+ /**
91
+ *
92
+ * @type {Gender}
93
+ * @memberof UserDto
94
+ */
95
+ gender?: Gender;
96
+ /**
97
+ * Whether location-based search is enabled for FALTA1 notifications
98
+ * @type {boolean}
99
+ * @memberof UserDto
100
+ */
101
+ searchDistanceEnabled?: boolean;
82
102
  /**
83
103
  * Optional invite code for admin/coach registration
84
104
  * @type {string}
@@ -87,6 +107,8 @@ export interface UserDto {
87
107
  inviteCode?: string;
88
108
  }
89
109
 
110
+
111
+
90
112
  /**
91
113
  * Check if a given object implements the UserDto interface.
92
114
  */
@@ -118,6 +140,8 @@ export function UserDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): U
118
140
  'latitude': json['latitude'] == null ? undefined : json['latitude'],
119
141
  'longitude': json['longitude'] == null ? undefined : json['longitude'],
120
142
  'distanceInKm': json['distanceInKm'] == null ? undefined : json['distanceInKm'],
143
+ 'gender': json['gender'] == null ? undefined : GenderFromJSON(json['gender']),
144
+ 'searchDistanceEnabled': json['searchDistanceEnabled'] == null ? undefined : json['searchDistanceEnabled'],
121
145
  'inviteCode': json['inviteCode'] == null ? undefined : json['inviteCode'],
122
146
  };
123
147
  }
@@ -143,6 +167,8 @@ export function UserDtoToJSONTyped(value?: UserDto | null, ignoreDiscriminator:
143
167
  'latitude': value['latitude'],
144
168
  'longitude': value['longitude'],
145
169
  'distanceInKm': value['distanceInKm'],
170
+ 'gender': GenderToJSON(value['gender']),
171
+ 'searchDistanceEnabled': value['searchDistanceEnabled'],
146
172
  'inviteCode': value['inviteCode'],
147
173
  };
148
174
  }
package/models/index.ts CHANGED
@@ -6,6 +6,8 @@ export * from './AddPlayerToSubscriptionRequest';
6
6
  export * from './ApiAdminInvitationsPost200Response';
7
7
  export * from './ApiAdminPlayPricesIdPutRequest';
8
8
  export * from './ApiAdminPlayPricesPostRequest';
9
+ export * from './ApiAppFalta1NotificationsSendNewPost200Response';
10
+ export * from './ApiAppFalta1NotificationsSendNewPost200ResponseStatsInner';
9
11
  export * from './ApproveClubResponse';
10
12
  export * from './ApproveClubResponseResult';
11
13
  export * from './AvailabilityShift';
@@ -83,6 +85,7 @@ export * from './ExtendSubscriptions200ResponseDetailsInner';
83
85
  export * from './Feature';
84
86
  export * from './FindOccurrences200Response';
85
87
  export * from './Frequency';
88
+ export * from './Gender';
86
89
  export * from './GenerateCode500Response';
87
90
  export * from './GenerateSubscriptionBillsRequest';
88
91
  export * from './GetAllDevices200ResponseInner';
@@ -91,6 +94,7 @@ export * from './GetAllShifts200ResponseInner';
91
94
  export * from './GetHourlyReservationStatus200Response';
92
95
  export * from './GetHourlyReservationStatus200ResponseHourlyStatusInner';
93
96
  export * from './GetMercadoPagoAuthUrl200Response';
97
+ export * from './GetNotificationByType200Response';
94
98
  export * from './GetSession401Response';
95
99
  export * from './GetSession500Response';
96
100
  export * from './HasDoorlock200Response';
@@ -201,6 +205,7 @@ export * from './SuccessResponse';
201
205
  export * from './TestNotificationTemplate200Response';
202
206
  export * from './TestNotificationTemplateRequest';
203
207
  export * from './TimeOfDay';
208
+ export * from './ToggleNotificationByType200Response';
204
209
  export * from './ToggleServiceConfigRequest';
205
210
  export * from './TriggerDeviceAction200Response';
206
211
  export * from './TriggerDeviceActionRequest';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jugarhoy/api",
3
- "version": "1.0.10",
3
+ "version": "1.1.7",
4
4
  "description": "TypeScript SDK for Jugar Hoy API",
5
5
  "main": "index.ts",
6
6
  "types": "index.ts",
@@ -32,4 +32,4 @@
32
32
  "url": "https://github.com/jugarhoy/jugarhoy.git",
33
33
  "directory": "sdk/ts"
34
34
  }
35
- }
35
+ }