@jugarhoy/api 1.1.10 → 1.1.12

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 (58) hide show
  1. package/apis/PositionsApi.ts +235 -0
  2. package/apis/RecurringGamesApi.ts +279 -0
  3. package/apis/SportEventsApi.ts +133 -0
  4. package/apis/TeamFeedApi.ts +386 -0
  5. package/apis/TeamsApi.ts +578 -0
  6. package/apis/VotingApi.ts +404 -0
  7. package/apis/index.ts +6 -0
  8. package/models/ApiAppTeamsTeamIdEventsGet200Response.ts +73 -0
  9. package/models/ApiAppTeamsTeamIdEventsGet200ResponseEventsInner.ts +97 -0
  10. package/models/ApiAppTeamsTeamIdEventsPostRequest.ts +139 -0
  11. package/models/ApiAppTeamsTeamIdFeedFeedItemIdPatchRequest.ts +81 -0
  12. package/models/ApiAppTeamsTeamIdFeedFeedItemIdReactionsPatchRequest.ts +66 -0
  13. package/models/ApiAppTeamsTeamIdFeedSummaryGet200Response.ts +81 -0
  14. package/models/ApiAppVotingHasVotedPlaySearchIdGet200Response.ts +65 -0
  15. package/models/AssignPositionsRequest.ts +92 -0
  16. package/models/AssignPositionsRequestPositionsInner.ts +130 -0
  17. package/models/AutoAssignPositionsRequest.ts +93 -0
  18. package/models/CreatePlaySearchRequest.ts +8 -0
  19. package/models/CreateRecurringGameRequest.ts +130 -0
  20. package/models/CreateTeamFeedRequest.ts +82 -0
  21. package/models/CreateTeamRequest.ts +134 -0
  22. package/models/FeedMediaType.ts +56 -0
  23. package/models/GroupedPositionsResponse.ts +83 -0
  24. package/models/GroupedPositionsResponseHome.ts +83 -0
  25. package/models/JoinTeamRequest.ts +66 -0
  26. package/models/MatchVote.ts +134 -0
  27. package/models/NotificationChannelType.ts +3 -1
  28. package/models/PlaySearch.ts +8 -0
  29. package/models/PlaySearchDTO.ts +8 -0
  30. package/models/PlaySearchDetailDTO.ts +8 -0
  31. package/models/PlaySearchPosition.ts +153 -0
  32. package/models/PlayerRatingResponse.ts +111 -0
  33. package/models/PositionResponse.ts +157 -0
  34. package/models/PositionStatus.ts +53 -0
  35. package/models/PositionTeam.ts +53 -0
  36. package/models/RecurringGame.ts +164 -0
  37. package/models/RecurringGameResponse.ts +155 -0
  38. package/models/SportEventData.ts +113 -0
  39. package/models/SportEventType.ts +77 -0
  40. package/models/SubmitRatingsRequest.ts +92 -0
  41. package/models/SubmitRatingsRequestRatingsInner.ts +99 -0
  42. package/models/Team.ts +186 -0
  43. package/models/TeamFeedItem.ts +188 -0
  44. package/models/TeamFeedItemResponse.ts +168 -0
  45. package/models/TeamFeedListResponse.ts +89 -0
  46. package/models/TeamFeedMedia.ts +101 -0
  47. package/models/TeamMember.ts +121 -0
  48. package/models/TeamMemberResponse.ts +123 -0
  49. package/models/TeamMemberRole.ts +54 -0
  50. package/models/TeamResponse.ts +194 -0
  51. package/models/TeamType.ts +53 -0
  52. package/models/UpdateMemberRoleRequest.ts +76 -0
  53. package/models/UpdateRecurringGameRequest.ts +124 -0
  54. package/models/UpdateTeamRequest.ts +105 -0
  55. package/models/VotingStatsResponse.ts +93 -0
  56. package/models/VotingStatusResponse.ts +82 -0
  57. package/models/index.ts +44 -0
  58. package/package.json +1 -1
@@ -0,0 +1,77 @@
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
+ * Sport-specific event types
18
+ * @export
19
+ */
20
+ export const SportEventType = {
21
+ Goal: 'GOAL',
22
+ YellowCard: 'YELLOW_CARD',
23
+ RedCard: 'RED_CARD',
24
+ Foul: 'FOUL',
25
+ TerribleFoul: 'TERRIBLE_FOUL',
26
+ Assist: 'ASSIST',
27
+ Save: 'SAVE',
28
+ Penalty: 'PENALTY',
29
+ OwnGoal: 'OWN_GOAL',
30
+ Substitution: 'SUBSTITUTION',
31
+ Ace: 'ACE',
32
+ DoubleFault: 'DOUBLE_FAULT',
33
+ BreakPoint: 'BREAK_POINT',
34
+ Winner: 'WINNER',
35
+ Trick: 'TRICK',
36
+ Spike: 'SPIKE',
37
+ Block: 'BLOCK',
38
+ Dig: 'DIG',
39
+ Try: 'TRY',
40
+ Conversion: 'CONVERSION',
41
+ DropGoal: 'DROP_GOAL',
42
+ Tackle: 'TACKLE',
43
+ Turnover: 'TURNOVER',
44
+ Smash: 'SMASH',
45
+ Lob: 'LOB',
46
+ NetPlay: 'NET_PLAY'
47
+ } as const;
48
+ export type SportEventType = typeof SportEventType[keyof typeof SportEventType];
49
+
50
+
51
+ export function instanceOfSportEventType(value: any): boolean {
52
+ for (const key in SportEventType) {
53
+ if (Object.prototype.hasOwnProperty.call(SportEventType, key)) {
54
+ if (SportEventType[key as keyof typeof SportEventType] === value) {
55
+ return true;
56
+ }
57
+ }
58
+ }
59
+ return false;
60
+ }
61
+
62
+ export function SportEventTypeFromJSON(json: any): SportEventType {
63
+ return SportEventTypeFromJSONTyped(json, false);
64
+ }
65
+
66
+ export function SportEventTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SportEventType {
67
+ return json as SportEventType;
68
+ }
69
+
70
+ export function SportEventTypeToJSON(value?: SportEventType | null): any {
71
+ return value as any;
72
+ }
73
+
74
+ export function SportEventTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): SportEventType {
75
+ return value as SportEventType;
76
+ }
77
+
@@ -0,0 +1,92 @@
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 { SubmitRatingsRequestRatingsInner } from './SubmitRatingsRequestRatingsInner';
17
+ import {
18
+ SubmitRatingsRequestRatingsInnerFromJSON,
19
+ SubmitRatingsRequestRatingsInnerFromJSONTyped,
20
+ SubmitRatingsRequestRatingsInnerToJSON,
21
+ SubmitRatingsRequestRatingsInnerToJSONTyped,
22
+ } from './SubmitRatingsRequestRatingsInner';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface SubmitRatingsRequest
28
+ */
29
+ export interface SubmitRatingsRequest {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof SubmitRatingsRequest
34
+ */
35
+ playSearchId: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof SubmitRatingsRequest
40
+ */
41
+ teamId: string;
42
+ /**
43
+ *
44
+ * @type {Array<SubmitRatingsRequestRatingsInner>}
45
+ * @memberof SubmitRatingsRequest
46
+ */
47
+ ratings: Array<SubmitRatingsRequestRatingsInner>;
48
+ }
49
+
50
+ /**
51
+ * Check if a given object implements the SubmitRatingsRequest interface.
52
+ */
53
+ export function instanceOfSubmitRatingsRequest(value: object): value is SubmitRatingsRequest {
54
+ if (!('playSearchId' in value) || value['playSearchId'] === undefined) return false;
55
+ if (!('teamId' in value) || value['teamId'] === undefined) return false;
56
+ if (!('ratings' in value) || value['ratings'] === undefined) return false;
57
+ return true;
58
+ }
59
+
60
+ export function SubmitRatingsRequestFromJSON(json: any): SubmitRatingsRequest {
61
+ return SubmitRatingsRequestFromJSONTyped(json, false);
62
+ }
63
+
64
+ export function SubmitRatingsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubmitRatingsRequest {
65
+ if (json == null) {
66
+ return json;
67
+ }
68
+ return {
69
+
70
+ 'playSearchId': json['playSearchId'],
71
+ 'teamId': json['teamId'],
72
+ 'ratings': ((json['ratings'] as Array<any>).map(SubmitRatingsRequestRatingsInnerFromJSON)),
73
+ };
74
+ }
75
+
76
+ export function SubmitRatingsRequestToJSON(json: any): SubmitRatingsRequest {
77
+ return SubmitRatingsRequestToJSONTyped(json, false);
78
+ }
79
+
80
+ export function SubmitRatingsRequestToJSONTyped(value?: SubmitRatingsRequest | null, ignoreDiscriminator: boolean = false): any {
81
+ if (value == null) {
82
+ return value;
83
+ }
84
+
85
+ return {
86
+
87
+ 'playSearchId': value['playSearchId'],
88
+ 'teamId': value['teamId'],
89
+ 'ratings': ((value['ratings'] as Array<any>).map(SubmitRatingsRequestRatingsInnerToJSON)),
90
+ };
91
+ }
92
+
@@ -0,0 +1,99 @@
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 SubmitRatingsRequestRatingsInner
20
+ */
21
+ export interface SubmitRatingsRequestRatingsInner {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof SubmitRatingsRequestRatingsInner
26
+ */
27
+ ratedPlayerId: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof SubmitRatingsRequestRatingsInner
32
+ */
33
+ ratedPositionId?: string | null;
34
+ /**
35
+ *
36
+ * @type {number}
37
+ * @memberof SubmitRatingsRequestRatingsInner
38
+ */
39
+ rating: number;
40
+ /**
41
+ *
42
+ * @type {string}
43
+ * @memberof SubmitRatingsRequestRatingsInner
44
+ */
45
+ message?: string | null;
46
+ /**
47
+ * Array of emoji reactions
48
+ * @type {Array<string>}
49
+ * @memberof SubmitRatingsRequestRatingsInner
50
+ */
51
+ reactions?: Array<string>;
52
+ }
53
+
54
+ /**
55
+ * Check if a given object implements the SubmitRatingsRequestRatingsInner interface.
56
+ */
57
+ export function instanceOfSubmitRatingsRequestRatingsInner(value: object): value is SubmitRatingsRequestRatingsInner {
58
+ if (!('ratedPlayerId' in value) || value['ratedPlayerId'] === undefined) return false;
59
+ if (!('rating' in value) || value['rating'] === undefined) return false;
60
+ return true;
61
+ }
62
+
63
+ export function SubmitRatingsRequestRatingsInnerFromJSON(json: any): SubmitRatingsRequestRatingsInner {
64
+ return SubmitRatingsRequestRatingsInnerFromJSONTyped(json, false);
65
+ }
66
+
67
+ export function SubmitRatingsRequestRatingsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubmitRatingsRequestRatingsInner {
68
+ if (json == null) {
69
+ return json;
70
+ }
71
+ return {
72
+
73
+ 'ratedPlayerId': json['ratedPlayerId'],
74
+ 'ratedPositionId': json['ratedPositionId'] == null ? undefined : json['ratedPositionId'],
75
+ 'rating': json['rating'],
76
+ 'message': json['message'] == null ? undefined : json['message'],
77
+ 'reactions': json['reactions'] == null ? undefined : json['reactions'],
78
+ };
79
+ }
80
+
81
+ export function SubmitRatingsRequestRatingsInnerToJSON(json: any): SubmitRatingsRequestRatingsInner {
82
+ return SubmitRatingsRequestRatingsInnerToJSONTyped(json, false);
83
+ }
84
+
85
+ export function SubmitRatingsRequestRatingsInnerToJSONTyped(value?: SubmitRatingsRequestRatingsInner | null, ignoreDiscriminator: boolean = false): any {
86
+ if (value == null) {
87
+ return value;
88
+ }
89
+
90
+ return {
91
+
92
+ 'ratedPlayerId': value['ratedPlayerId'],
93
+ 'ratedPositionId': value['ratedPositionId'],
94
+ 'rating': value['rating'],
95
+ 'message': value['message'],
96
+ 'reactions': value['reactions'],
97
+ };
98
+ }
99
+
package/models/Team.ts ADDED
@@ -0,0 +1,186 @@
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 { TeamType } from './TeamType';
17
+ import {
18
+ TeamTypeFromJSON,
19
+ TeamTypeFromJSONTyped,
20
+ TeamTypeToJSON,
21
+ TeamTypeToJSONTyped,
22
+ } from './TeamType';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface Team
28
+ */
29
+ export interface Team {
30
+ /**
31
+ * Unique team identifier
32
+ * @type {string}
33
+ * @memberof Team
34
+ */
35
+ id: string;
36
+ /**
37
+ * Team name
38
+ * @type {string}
39
+ * @memberof Team
40
+ */
41
+ name: string;
42
+ /**
43
+ * Sport for this team
44
+ * @type {string}
45
+ * @memberof Team
46
+ */
47
+ sport: string;
48
+ /**
49
+ *
50
+ * @type {TeamType}
51
+ * @memberof Team
52
+ */
53
+ type: TeamType;
54
+ /**
55
+ * Skill level (A, B, C, Recreativo, etc.)
56
+ * @type {string}
57
+ * @memberof Team
58
+ */
59
+ nivel?: string | null;
60
+ /**
61
+ * Optional link to official club
62
+ * @type {string}
63
+ * @memberof Team
64
+ */
65
+ customerId?: string | null;
66
+ /**
67
+ * Team crest/badge image URL
68
+ * @type {string}
69
+ * @memberof Team
70
+ */
71
+ avatarUrl?: string | null;
72
+ /**
73
+ * Background color (hex code)
74
+ * @type {string}
75
+ * @memberof Team
76
+ */
77
+ bgColor?: string | null;
78
+ /**
79
+ * Foreground color (hex code) for contrast
80
+ * @type {string}
81
+ * @memberof Team
82
+ */
83
+ fgColor?: string | null;
84
+ /**
85
+ * User ID of team creator
86
+ * @type {string}
87
+ * @memberof Team
88
+ */
89
+ createdById: string;
90
+ /**
91
+ * 8-character unique invite code
92
+ * @type {string}
93
+ * @memberof Team
94
+ */
95
+ inviteCode: string;
96
+ /**
97
+ * Whether team is active
98
+ * @type {boolean}
99
+ * @memberof Team
100
+ */
101
+ isActive: boolean;
102
+ /**
103
+ *
104
+ * @type {Date}
105
+ * @memberof Team
106
+ */
107
+ createdAt?: Date;
108
+ /**
109
+ *
110
+ * @type {Date}
111
+ * @memberof Team
112
+ */
113
+ updatedAt?: Date;
114
+ }
115
+
116
+
117
+
118
+ /**
119
+ * Check if a given object implements the Team interface.
120
+ */
121
+ export function instanceOfTeam(value: object): value is Team {
122
+ if (!('id' in value) || value['id'] === undefined) return false;
123
+ if (!('name' in value) || value['name'] === undefined) return false;
124
+ if (!('sport' in value) || value['sport'] === undefined) return false;
125
+ if (!('type' in value) || value['type'] === undefined) return false;
126
+ if (!('createdById' in value) || value['createdById'] === undefined) return false;
127
+ if (!('inviteCode' in value) || value['inviteCode'] === undefined) return false;
128
+ if (!('isActive' in value) || value['isActive'] === undefined) return false;
129
+ return true;
130
+ }
131
+
132
+ export function TeamFromJSON(json: any): Team {
133
+ return TeamFromJSONTyped(json, false);
134
+ }
135
+
136
+ export function TeamFromJSONTyped(json: any, ignoreDiscriminator: boolean): Team {
137
+ if (json == null) {
138
+ return json;
139
+ }
140
+ return {
141
+
142
+ 'id': json['id'],
143
+ 'name': json['name'],
144
+ 'sport': json['sport'],
145
+ 'type': TeamTypeFromJSON(json['type']),
146
+ 'nivel': json['nivel'] == null ? undefined : json['nivel'],
147
+ 'customerId': json['customerId'] == null ? undefined : json['customerId'],
148
+ 'avatarUrl': json['avatarUrl'] == null ? undefined : json['avatarUrl'],
149
+ 'bgColor': json['bgColor'] == null ? undefined : json['bgColor'],
150
+ 'fgColor': json['fgColor'] == null ? undefined : json['fgColor'],
151
+ 'createdById': json['createdById'],
152
+ 'inviteCode': json['inviteCode'],
153
+ 'isActive': json['isActive'],
154
+ 'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])),
155
+ 'updatedAt': json['updatedAt'] == null ? undefined : (new Date(json['updatedAt'])),
156
+ };
157
+ }
158
+
159
+ export function TeamToJSON(json: any): Team {
160
+ return TeamToJSONTyped(json, false);
161
+ }
162
+
163
+ export function TeamToJSONTyped(value?: Team | null, ignoreDiscriminator: boolean = false): any {
164
+ if (value == null) {
165
+ return value;
166
+ }
167
+
168
+ return {
169
+
170
+ 'id': value['id'],
171
+ 'name': value['name'],
172
+ 'sport': value['sport'],
173
+ 'type': TeamTypeToJSON(value['type']),
174
+ 'nivel': value['nivel'],
175
+ 'customerId': value['customerId'],
176
+ 'avatarUrl': value['avatarUrl'],
177
+ 'bgColor': value['bgColor'],
178
+ 'fgColor': value['fgColor'],
179
+ 'createdById': value['createdById'],
180
+ 'inviteCode': value['inviteCode'],
181
+ 'isActive': value['isActive'],
182
+ 'createdAt': value['createdAt'] == null ? undefined : ((value['createdAt']).toISOString()),
183
+ 'updatedAt': value['updatedAt'] == null ? undefined : ((value['updatedAt']).toISOString()),
184
+ };
185
+ }
186
+
@@ -0,0 +1,188 @@
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 { SportEventData } from './SportEventData';
17
+ import {
18
+ SportEventDataFromJSON,
19
+ SportEventDataFromJSONTyped,
20
+ SportEventDataToJSON,
21
+ SportEventDataToJSONTyped,
22
+ } from './SportEventData';
23
+ import type { TeamFeedMedia } from './TeamFeedMedia';
24
+ import {
25
+ TeamFeedMediaFromJSON,
26
+ TeamFeedMediaFromJSONTyped,
27
+ TeamFeedMediaToJSON,
28
+ TeamFeedMediaToJSONTyped,
29
+ } from './TeamFeedMedia';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface TeamFeedItem
35
+ */
36
+ export interface TeamFeedItem {
37
+ /**
38
+ *
39
+ * @type {string}
40
+ * @memberof TeamFeedItem
41
+ */
42
+ id: string;
43
+ /**
44
+ * Team this feed item belongs to
45
+ * @type {string}
46
+ * @memberof TeamFeedItem
47
+ */
48
+ teamId: string;
49
+ /**
50
+ * User who created the post (null for system-generated items)
51
+ * @type {string}
52
+ * @memberof TeamFeedItem
53
+ */
54
+ authorId?: string | null;
55
+ /**
56
+ * Type of feed item
57
+ * @type {string}
58
+ * @memberof TeamFeedItem
59
+ */
60
+ type: TeamFeedItemTypeEnum;
61
+ /**
62
+ * Associated match/play search if applicable
63
+ * @type {string}
64
+ * @memberof TeamFeedItem
65
+ */
66
+ playSearchId?: string | null;
67
+ /**
68
+ * Feed item content/message
69
+ * @type {string}
70
+ * @memberof TeamFeedItem
71
+ */
72
+ content: string;
73
+ /**
74
+ * Media attachments (images, videos, GIFs, links)
75
+ * @type {Array<TeamFeedMedia>}
76
+ * @memberof TeamFeedItem
77
+ */
78
+ media?: Array<TeamFeedMedia> | null;
79
+ /**
80
+ * Emoji reactions map (emoji -> count)
81
+ * @type {object}
82
+ * @memberof TeamFeedItem
83
+ */
84
+ reactions?: object | null;
85
+ /**
86
+ * Sport event type (GOAL, YELLOW_CARD, etc.)
87
+ * @type {string}
88
+ * @memberof TeamFeedItem
89
+ */
90
+ eventType?: string | null;
91
+ /**
92
+ *
93
+ * @type {SportEventData}
94
+ * @memberof TeamFeedItem
95
+ */
96
+ eventData?: SportEventData;
97
+ /**
98
+ *
99
+ * @type {Date}
100
+ * @memberof TeamFeedItem
101
+ */
102
+ createdAt?: Date;
103
+ /**
104
+ *
105
+ * @type {Date}
106
+ * @memberof TeamFeedItem
107
+ */
108
+ updatedAt?: Date;
109
+ }
110
+
111
+
112
+ /**
113
+ * @export
114
+ */
115
+ export const TeamFeedItemTypeEnum = {
116
+ UserPost: 'USER_POST',
117
+ SportEvent: 'SPORT_EVENT',
118
+ MatchReminder: 'MATCH_REMINDER',
119
+ PositionAssigned: 'POSITION_ASSIGNED',
120
+ VotingOpen: 'VOTING_OPEN',
121
+ VotingResults: 'VOTING_RESULTS',
122
+ MatchCreated: 'MATCH_CREATED'
123
+ } as const;
124
+ export type TeamFeedItemTypeEnum = typeof TeamFeedItemTypeEnum[keyof typeof TeamFeedItemTypeEnum];
125
+
126
+
127
+ /**
128
+ * Check if a given object implements the TeamFeedItem interface.
129
+ */
130
+ export function instanceOfTeamFeedItem(value: object): value is TeamFeedItem {
131
+ if (!('id' in value) || value['id'] === undefined) return false;
132
+ if (!('teamId' in value) || value['teamId'] === undefined) return false;
133
+ if (!('type' in value) || value['type'] === undefined) return false;
134
+ if (!('content' in value) || value['content'] === undefined) return false;
135
+ return true;
136
+ }
137
+
138
+ export function TeamFeedItemFromJSON(json: any): TeamFeedItem {
139
+ return TeamFeedItemFromJSONTyped(json, false);
140
+ }
141
+
142
+ export function TeamFeedItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): TeamFeedItem {
143
+ if (json == null) {
144
+ return json;
145
+ }
146
+ return {
147
+
148
+ 'id': json['id'],
149
+ 'teamId': json['teamId'],
150
+ 'authorId': json['authorId'] == null ? undefined : json['authorId'],
151
+ 'type': json['type'],
152
+ 'playSearchId': json['playSearchId'] == null ? undefined : json['playSearchId'],
153
+ 'content': json['content'],
154
+ 'media': json['media'] == null ? undefined : ((json['media'] as Array<any>).map(TeamFeedMediaFromJSON)),
155
+ 'reactions': json['reactions'] == null ? undefined : json['reactions'],
156
+ 'eventType': json['eventType'] == null ? undefined : json['eventType'],
157
+ 'eventData': json['eventData'] == null ? undefined : SportEventDataFromJSON(json['eventData']),
158
+ 'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])),
159
+ 'updatedAt': json['updatedAt'] == null ? undefined : (new Date(json['updatedAt'])),
160
+ };
161
+ }
162
+
163
+ export function TeamFeedItemToJSON(json: any): TeamFeedItem {
164
+ return TeamFeedItemToJSONTyped(json, false);
165
+ }
166
+
167
+ export function TeamFeedItemToJSONTyped(value?: TeamFeedItem | null, ignoreDiscriminator: boolean = false): any {
168
+ if (value == null) {
169
+ return value;
170
+ }
171
+
172
+ return {
173
+
174
+ 'id': value['id'],
175
+ 'teamId': value['teamId'],
176
+ 'authorId': value['authorId'],
177
+ 'type': value['type'],
178
+ 'playSearchId': value['playSearchId'],
179
+ 'content': value['content'],
180
+ 'media': value['media'] == null ? undefined : ((value['media'] as Array<any>).map(TeamFeedMediaToJSON)),
181
+ 'reactions': value['reactions'],
182
+ 'eventType': value['eventType'],
183
+ 'eventData': SportEventDataToJSON(value['eventData']),
184
+ 'createdAt': value['createdAt'] == null ? undefined : ((value['createdAt']).toISOString()),
185
+ 'updatedAt': value['updatedAt'] == null ? undefined : ((value['updatedAt']).toISOString()),
186
+ };
187
+ }
188
+