@footballbingo/client 1.0.0

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 (222) hide show
  1. package/README.md +420 -0
  2. package/dist/FootballBingoClient.d.ts +88 -0
  3. package/dist/FootballBingoClient.js +100 -0
  4. package/dist/core/ApiError.d.ts +10 -0
  5. package/dist/core/ApiError.js +15 -0
  6. package/dist/core/ApiRequestOptions.d.ts +13 -0
  7. package/dist/core/ApiRequestOptions.js +2 -0
  8. package/dist/core/ApiResult.d.ts +7 -0
  9. package/dist/core/ApiResult.js +2 -0
  10. package/dist/core/BaseHttpRequest.d.ts +8 -0
  11. package/dist/core/BaseHttpRequest.js +9 -0
  12. package/dist/core/CancelablePromise.d.ts +20 -0
  13. package/dist/core/CancelablePromise.js +116 -0
  14. package/dist/core/FetchHttpRequest.d.ts +14 -0
  15. package/dist/core/FetchHttpRequest.js +20 -0
  16. package/dist/core/OpenAPI.d.ts +16 -0
  17. package/dist/core/OpenAPI.js +14 -0
  18. package/dist/core/request.d.ts +30 -0
  19. package/dist/core/request.js +294 -0
  20. package/dist/index.d.ts +104 -0
  21. package/dist/index.js +139 -0
  22. package/dist/models/Achievement.d.ts +12 -0
  23. package/dist/models/Achievement.js +2 -0
  24. package/dist/models/ApiError.d.ts +2 -0
  25. package/dist/models/ApiError.js +2 -0
  26. package/dist/models/ApiErrorDTO.d.ts +9 -0
  27. package/dist/models/ApiErrorDTO.js +2 -0
  28. package/dist/models/ApiResponse.d.ts +2 -0
  29. package/dist/models/ApiResponse.js +2 -0
  30. package/dist/models/ApiResponseDTO.d.ts +10 -0
  31. package/dist/models/ApiResponseDTO.js +2 -0
  32. package/dist/models/BingoBoard.d.ts +8 -0
  33. package/dist/models/BingoBoard.js +2 -0
  34. package/dist/models/BingoGame.d.ts +19 -0
  35. package/dist/models/BingoGame.js +13 -0
  36. package/dist/models/BingoTile.d.ts +8 -0
  37. package/dist/models/BingoTile.js +2 -0
  38. package/dist/models/Challenge.d.ts +24 -0
  39. package/dist/models/Challenge.js +18 -0
  40. package/dist/models/ChatMessage.d.ts +17 -0
  41. package/dist/models/ChatMessage.js +12 -0
  42. package/dist/models/ChatSession.d.ts +13 -0
  43. package/dist/models/ChatSession.js +2 -0
  44. package/dist/models/CommunityChallengeDTO.d.ts +32 -0
  45. package/dist/models/CommunityChallengeDTO.js +19 -0
  46. package/dist/models/CompletedLine.d.ts +12 -0
  47. package/dist/models/CompletedLine.js +12 -0
  48. package/dist/models/CountryDTO.d.ts +5 -0
  49. package/dist/models/CountryDTO.js +2 -0
  50. package/dist/models/CreateChallengeRequestDTO.d.ts +22 -0
  51. package/dist/models/CreateChallengeRequestDTO.js +19 -0
  52. package/dist/models/CreatePredictionRequestDTO.d.ts +24 -0
  53. package/dist/models/CreatePredictionRequestDTO.js +12 -0
  54. package/dist/models/CurrencyTransaction.d.ts +27 -0
  55. package/dist/models/CurrencyTransaction.js +21 -0
  56. package/dist/models/DailyLoginRewardDTO.d.ts +13 -0
  57. package/dist/models/DailyLoginRewardDTO.js +2 -0
  58. package/dist/models/ErrorResponse.d.ts +5 -0
  59. package/dist/models/ErrorResponse.js +2 -0
  60. package/dist/models/FixtureDTO.d.ts +36 -0
  61. package/dist/models/FixtureDTO.js +16 -0
  62. package/dist/models/FixtureDetailDTO.d.ts +13 -0
  63. package/dist/models/FixtureDetailDTO.js +2 -0
  64. package/dist/models/GameChatMessageDTO.d.ts +20 -0
  65. package/dist/models/GameChatMessageDTO.js +13 -0
  66. package/dist/models/GetLeaderboardResponseDTO.d.ts +29 -0
  67. package/dist/models/GetLeaderboardResponseDTO.js +22 -0
  68. package/dist/models/GetUserInventoryResponseDTO.d.ts +28 -0
  69. package/dist/models/GetUserInventoryResponseDTO.js +2 -0
  70. package/dist/models/LeaderboardEntry.d.ts +10 -0
  71. package/dist/models/LeaderboardEntry.js +2 -0
  72. package/dist/models/LeaderboardResponseDTO.d.ts +26 -0
  73. package/dist/models/LeaderboardResponseDTO.js +13 -0
  74. package/dist/models/League.d.ts +7 -0
  75. package/dist/models/League.js +2 -0
  76. package/dist/models/LeagueDetailDTO.d.ts +17 -0
  77. package/dist/models/LeagueDetailDTO.js +2 -0
  78. package/dist/models/LineupDTO.d.ts +25 -0
  79. package/dist/models/LineupDTO.js +2 -0
  80. package/dist/models/LineupPrediction.d.ts +9 -0
  81. package/dist/models/LineupPrediction.js +2 -0
  82. package/dist/models/MatchEvent.d.ts +27 -0
  83. package/dist/models/MatchEvent.js +13 -0
  84. package/dist/models/NewsArticleDTO.d.ts +13 -0
  85. package/dist/models/NewsArticleDTO.js +2 -0
  86. package/dist/models/PaginationMeta.d.ts +2 -0
  87. package/dist/models/PaginationMeta.js +2 -0
  88. package/dist/models/PaginationMetaDTO.d.ts +7 -0
  89. package/dist/models/PaginationMetaDTO.js +2 -0
  90. package/dist/models/PlayerDTO.d.ts +18 -0
  91. package/dist/models/PlayerDTO.js +2 -0
  92. package/dist/models/PlayerStatisticsDTO.d.ts +25 -0
  93. package/dist/models/PlayerStatisticsDTO.js +2 -0
  94. package/dist/models/PredictionDTO.d.ts +31 -0
  95. package/dist/models/PredictionDTO.js +18 -0
  96. package/dist/models/PredictionWithLineupDTO.d.ts +8 -0
  97. package/dist/models/PredictionWithLineupDTO.js +2 -0
  98. package/dist/models/Pundit.d.ts +8 -0
  99. package/dist/models/Pundit.js +2 -0
  100. package/dist/models/Purchase.d.ts +16 -0
  101. package/dist/models/Purchase.js +12 -0
  102. package/dist/models/PurchaseResponseDTO.d.ts +25 -0
  103. package/dist/models/PurchaseResponseDTO.js +12 -0
  104. package/dist/models/Score.d.ts +4 -0
  105. package/dist/models/Score.js +2 -0
  106. package/dist/models/SendChatMessageRequestDTO.d.ts +12 -0
  107. package/dist/models/SendChatMessageRequestDTO.js +12 -0
  108. package/dist/models/ShareGameRequestDTO.d.ts +6 -0
  109. package/dist/models/ShareGameRequestDTO.js +2 -0
  110. package/dist/models/SharedGameDTO.d.ts +17 -0
  111. package/dist/models/SharedGameDTO.js +2 -0
  112. package/dist/models/StandingsDTO.d.ts +19 -0
  113. package/dist/models/StandingsDTO.js +2 -0
  114. package/dist/models/StoreItemDTO.d.ts +47 -0
  115. package/dist/models/StoreItemDTO.js +29 -0
  116. package/dist/models/TacticsBoardDTO.d.ts +32 -0
  117. package/dist/models/TacticsBoardDTO.js +2 -0
  118. package/dist/models/Team.d.ts +6 -0
  119. package/dist/models/Team.js +2 -0
  120. package/dist/models/TeamDetailDTO.d.ts +16 -0
  121. package/dist/models/TeamDetailDTO.js +2 -0
  122. package/dist/models/TeamStatisticsDTO.d.ts +12 -0
  123. package/dist/models/TeamStatisticsDTO.js +2 -0
  124. package/dist/models/TransactionHistoryDTO.d.ts +9 -0
  125. package/dist/models/TransactionHistoryDTO.js +2 -0
  126. package/dist/models/TransferDTO.d.ts +14 -0
  127. package/dist/models/TransferDTO.js +2 -0
  128. package/dist/models/TransferPlanDTO.d.ts +45 -0
  129. package/dist/models/TransferPlanDTO.js +12 -0
  130. package/dist/models/TrophyDTO.d.ts +6 -0
  131. package/dist/models/TrophyDTO.js +2 -0
  132. package/dist/models/UserDTO.d.ts +11 -0
  133. package/dist/models/UserDTO.js +2 -0
  134. package/dist/models/UserProfileDTO.d.ts +13 -0
  135. package/dist/models/UserProfileDTO.js +2 -0
  136. package/dist/models/UserPurchaseDTO.d.ts +26 -0
  137. package/dist/models/UserPurchaseDTO.js +19 -0
  138. package/dist/models/WalletBalance.d.ts +5 -0
  139. package/dist/models/WalletBalance.js +2 -0
  140. package/dist/models/WalletSummaryDTO.d.ts +16 -0
  141. package/dist/models/WalletSummaryDTO.js +2 -0
  142. package/dist/services/AchievementsDeprecatedService.d.ts +148 -0
  143. package/dist/services/AchievementsDeprecatedService.js +183 -0
  144. package/dist/services/AchievementsService.d.ts +204 -0
  145. package/dist/services/AchievementsService.js +197 -0
  146. package/dist/services/ActivitiesService.d.ts +27 -0
  147. package/dist/services/ActivitiesService.js +29 -0
  148. package/dist/services/AdminPurchasesService.d.ts +64 -0
  149. package/dist/services/AdminPurchasesService.js +109 -0
  150. package/dist/services/AdminService.d.ts +349 -0
  151. package/dist/services/AdminService.js +232 -0
  152. package/dist/services/AdminUsersService.d.ts +64 -0
  153. package/dist/services/AdminUsersService.js +103 -0
  154. package/dist/services/AiChatService.d.ts +70 -0
  155. package/dist/services/AiChatService.js +52 -0
  156. package/dist/services/ChallengesService.d.ts +215 -0
  157. package/dist/services/ChallengesService.js +215 -0
  158. package/dist/services/CommunityChallengesService.d.ts +111 -0
  159. package/dist/services/CommunityChallengesService.js +150 -0
  160. package/dist/services/CommunityGameChatService.d.ts +105 -0
  161. package/dist/services/CommunityGameChatService.js +150 -0
  162. package/dist/services/CommunityLineupsService.d.ts +197 -0
  163. package/dist/services/CommunityLineupsService.js +264 -0
  164. package/dist/services/CommunitySharedGamesService.d.ts +124 -0
  165. package/dist/services/CommunitySharedGamesService.js +172 -0
  166. package/dist/services/CommunityTacticsBoardsService.d.ts +230 -0
  167. package/dist/services/CommunityTacticsBoardsService.js +272 -0
  168. package/dist/services/CommunityTransferPlansService.d.ts +231 -0
  169. package/dist/services/CommunityTransferPlansService.js +291 -0
  170. package/dist/services/ContentCountriesService.d.ts +30 -0
  171. package/dist/services/ContentCountriesService.js +53 -0
  172. package/dist/services/ContentFixturesService.d.ts +51 -0
  173. package/dist/services/ContentFixturesService.js +88 -0
  174. package/dist/services/ContentLeaguesService.d.ts +32 -0
  175. package/dist/services/ContentLeaguesService.js +57 -0
  176. package/dist/services/ContentNewsService.d.ts +158 -0
  177. package/dist/services/ContentNewsService.js +255 -0
  178. package/dist/services/ContentOddsService.d.ts +81 -0
  179. package/dist/services/ContentOddsService.js +137 -0
  180. package/dist/services/ContentPlayersService.d.ts +64 -0
  181. package/dist/services/ContentPlayersService.js +104 -0
  182. package/dist/services/ContentStandingsService.d.ts +20 -0
  183. package/dist/services/ContentStandingsService.js +33 -0
  184. package/dist/services/ContentStatisticsService.d.ts +51 -0
  185. package/dist/services/ContentStatisticsService.js +83 -0
  186. package/dist/services/ContentTeamsService.d.ts +67 -0
  187. package/dist/services/ContentTeamsService.js +106 -0
  188. package/dist/services/ContentTransfersService.d.ts +23 -0
  189. package/dist/services/ContentTransfersService.js +38 -0
  190. package/dist/services/ContentTrophiesService.d.ts +23 -0
  191. package/dist/services/ContentTrophiesService.js +38 -0
  192. package/dist/services/DailyChallengeCompletionsDeprecatedService.d.ts +78 -0
  193. package/dist/services/DailyChallengeCompletionsDeprecatedService.js +130 -0
  194. package/dist/services/DailyChallengesDeprecatedService.d.ts +117 -0
  195. package/dist/services/DailyChallengesDeprecatedService.js +179 -0
  196. package/dist/services/DailyLoginService.d.ts +109 -0
  197. package/dist/services/DailyLoginService.js +111 -0
  198. package/dist/services/DailyStreaksDeprecatedService.d.ts +80 -0
  199. package/dist/services/DailyStreaksDeprecatedService.js +130 -0
  200. package/dist/services/EventPoolsService.d.ts +104 -0
  201. package/dist/services/EventPoolsService.js +118 -0
  202. package/dist/services/LeaderboardService.d.ts +18 -0
  203. package/dist/services/LeaderboardService.js +35 -0
  204. package/dist/services/NotificationsService.d.ts +143 -0
  205. package/dist/services/NotificationsService.js +159 -0
  206. package/dist/services/PredictionsService.d.ts +223 -0
  207. package/dist/services/PredictionsService.js +204 -0
  208. package/dist/services/ProgressionService.d.ts +163 -0
  209. package/dist/services/ProgressionService.js +149 -0
  210. package/dist/services/SponsorsService.d.ts +105 -0
  211. package/dist/services/SponsorsService.js +118 -0
  212. package/dist/services/StoreService.d.ts +92 -0
  213. package/dist/services/StoreService.js +147 -0
  214. package/dist/services/UserAchievementsDeprecatedService.d.ts +146 -0
  215. package/dist/services/UserAchievementsDeprecatedService.js +209 -0
  216. package/dist/services/UserActivitiesService.d.ts +48 -0
  217. package/dist/services/UserActivitiesService.js +65 -0
  218. package/dist/services/UsersService.d.ts +156 -0
  219. package/dist/services/UsersService.js +244 -0
  220. package/dist/services/WalletService.d.ts +31 -0
  221. package/dist/services/WalletService.js +53 -0
  222. package/package.json +37 -0
@@ -0,0 +1,230 @@
1
+ import type { ApiResponseDTO } from '../models/ApiResponseDTO';
2
+ import type { TacticsBoardDTO } from '../models/TacticsBoardDTO';
3
+ import type { CancelablePromise } from '../core/CancelablePromise';
4
+ import type { BaseHttpRequest } from '../core/BaseHttpRequest';
5
+ export declare class CommunityTacticsBoardsService {
6
+ readonly httpRequest: BaseHttpRequest;
7
+ constructor(httpRequest: BaseHttpRequest);
8
+ /**
9
+ * Create a new tactics board
10
+ * Create a tactics board with formations for two teams and tactical drawings. Works for both authenticated and anonymous users. Anonymous boards can later be claimed.
11
+ * @param requestBody
12
+ * @returns any Tactics board created successfully
13
+ * @throws ApiError
14
+ */
15
+ postApiV1CommunityTacticsBoards(requestBody: {
16
+ /**
17
+ * Title of the tactics board
18
+ */
19
+ title: string;
20
+ /**
21
+ * Optional description
22
+ */
23
+ description?: string;
24
+ /**
25
+ * Formation for Team A
26
+ */
27
+ formationTeamA: string;
28
+ /**
29
+ * Formation for Team B
30
+ */
31
+ formationTeamB: string;
32
+ /**
33
+ * Tactical drawings and annotations
34
+ */
35
+ boardData: Record<string, any>;
36
+ /**
37
+ * Whether the board is publicly visible
38
+ */
39
+ isPublic?: boolean;
40
+ /**
41
+ * Board mode (generic or team-specific)
42
+ */
43
+ boardMode?: 'generic' | 'team';
44
+ /**
45
+ * Team A ID (for team mode)
46
+ */
47
+ teamAId?: number;
48
+ /**
49
+ * Team B ID (for team mode)
50
+ */
51
+ teamBId?: number;
52
+ /**
53
+ * Team A name
54
+ */
55
+ teamAName?: string;
56
+ /**
57
+ * Team B name
58
+ */
59
+ teamBName?: string;
60
+ /**
61
+ * Team A logo URL
62
+ */
63
+ teamALogo?: string;
64
+ /**
65
+ * Team B logo URL
66
+ */
67
+ teamBLogo?: string;
68
+ /**
69
+ * Related fixture ID
70
+ */
71
+ fixtureId?: number;
72
+ }): CancelablePromise<(ApiResponseDTO & {
73
+ data?: TacticsBoardDTO;
74
+ })>;
75
+ /**
76
+ * Get user's tactics boards
77
+ * Retrieve all tactics boards created by the authenticated user with pagination and sorting
78
+ * @param limit Number of boards to return
79
+ * @param offset Number of boards to skip
80
+ * @param sortBy Field to sort by
81
+ * @param sortOrder Sort order
82
+ * @returns any User's tactics boards retrieved successfully
83
+ * @throws ApiError
84
+ */
85
+ getApiV1CommunityTacticsBoards(limit?: number, offset?: number, sortBy?: 'createdAt' | 'updatedAt' | 'viewCount', sortOrder?: 'asc' | 'desc'): CancelablePromise<{
86
+ success?: boolean;
87
+ data?: {
88
+ boards?: Array<TacticsBoardDTO>;
89
+ total?: number;
90
+ limit?: number;
91
+ offset?: number;
92
+ };
93
+ }>;
94
+ /**
95
+ * Get tactics board by ID
96
+ * Retrieve a specific tactics board by its ID. Returns public boards or boards owned by the authenticated user.
97
+ * @param id Tactics board ID
98
+ * @returns any Tactics board retrieved successfully
99
+ * @throws ApiError
100
+ */
101
+ getApiV1CommunityTacticsBoards1(id: string): CancelablePromise<(ApiResponseDTO & {
102
+ data?: TacticsBoardDTO;
103
+ })>;
104
+ /**
105
+ * Update tactics board
106
+ * Update an existing tactics board. Only the owner can update their board.
107
+ * @param id Tactics board ID
108
+ * @param requestBody
109
+ * @returns any Tactics board updated successfully
110
+ * @throws ApiError
111
+ */
112
+ putApiV1CommunityTacticsBoards(id: string, requestBody: {
113
+ title?: string;
114
+ description?: string;
115
+ formationTeamA?: string;
116
+ formationTeamB?: string;
117
+ boardData?: Record<string, any>;
118
+ isPublic?: boolean;
119
+ boardMode?: 'generic' | 'team';
120
+ teamAId?: number;
121
+ teamBId?: number;
122
+ teamAName?: string;
123
+ teamBName?: string;
124
+ teamALogo?: string;
125
+ teamBLogo?: string;
126
+ fixtureId?: number;
127
+ }): CancelablePromise<(ApiResponseDTO & {
128
+ data?: TacticsBoardDTO;
129
+ })>;
130
+ /**
131
+ * Delete tactics board
132
+ * Delete a tactics board. Only the owner can delete their board.
133
+ * @param id Tactics board ID
134
+ * @returns void
135
+ * @throws ApiError
136
+ */
137
+ deleteApiV1CommunityTacticsBoards(id: string): CancelablePromise<void>;
138
+ /**
139
+ * Get tactics board by share token
140
+ * Retrieve a public tactics board using its unique share token
141
+ * @param shareToken Unique share token
142
+ * @returns any Tactics board retrieved successfully
143
+ * @throws ApiError
144
+ */
145
+ getApiV1CommunityTacticsBoardsShare(shareToken: string): CancelablePromise<(ApiResponseDTO & {
146
+ data?: TacticsBoardDTO;
147
+ })>;
148
+ /**
149
+ * Claim anonymous tactics board
150
+ * Claim ownership of an anonymous tactics board
151
+ * @param id Tactics board ID
152
+ * @returns any Tactics board claimed successfully
153
+ * @throws ApiError
154
+ */
155
+ postApiV1CommunityTacticsBoardsClaim(id: string): CancelablePromise<{
156
+ success?: boolean;
157
+ data?: {
158
+ id?: string;
159
+ userId?: string;
160
+ message?: string;
161
+ };
162
+ }>;
163
+ /**
164
+ * Browse public tactics boards
165
+ * Search and filter public tactics boards with pagination and sorting
166
+ * @param search Search text for title or description
167
+ * @param formationTeamA Filter by Team A formation
168
+ * @param formationTeamB Filter by Team B formation
169
+ * @param boardMode Filter by board mode
170
+ * @param teamAId Filter by Team A ID
171
+ * @param teamBId Filter by Team B ID
172
+ * @param fixtureId Filter by fixture ID
173
+ * @param sortBy Field to sort by
174
+ * @param sortOrder Sort order
175
+ * @param limit Number of boards per page
176
+ * @param offset Number of boards to skip
177
+ * @returns any Tactics boards retrieved successfully
178
+ * @throws ApiError
179
+ */
180
+ getApiV1CommunityTacticsBoardsBrowse(search?: string, formationTeamA?: string, formationTeamB?: string, boardMode?: 'generic' | 'team', teamAId?: number, teamBId?: number, fixtureId?: number, sortBy?: 'createdAt' | 'updatedAt' | 'viewCount', sortOrder?: 'asc' | 'desc', limit?: number, offset?: number): CancelablePromise<{
181
+ success?: boolean;
182
+ data?: {
183
+ boards?: Array<TacticsBoardDTO>;
184
+ total?: number;
185
+ limit?: number;
186
+ offset?: number;
187
+ hasMore?: boolean;
188
+ };
189
+ }>;
190
+ /**
191
+ * Get trending tactics boards
192
+ * Retrieve the most viewed tactics boards in the last 7 days
193
+ * @param limit Number of trending boards to return
194
+ * @returns any Trending tactics boards retrieved successfully
195
+ * @throws ApiError
196
+ */
197
+ getApiV1CommunityTacticsBoardsTrending(limit?: number): CancelablePromise<{
198
+ success?: boolean;
199
+ data?: {
200
+ boards?: Array<TacticsBoardDTO>;
201
+ };
202
+ }>;
203
+ /**
204
+ * Get popular tactics boards
205
+ * Retrieve the most viewed tactics boards of all time
206
+ * @param limit Number of popular boards to return
207
+ * @returns any Popular tactics boards retrieved successfully
208
+ * @throws ApiError
209
+ */
210
+ getApiV1CommunityTacticsBoardsPopular(limit?: number): CancelablePromise<{
211
+ success?: boolean;
212
+ data?: {
213
+ boards?: Array<TacticsBoardDTO>;
214
+ };
215
+ }>;
216
+ /**
217
+ * Export tactics board as image
218
+ * Export a tactics board as an SVG image or data URL
219
+ * @param id Tactics board ID
220
+ * @param format Export format
221
+ * @returns any Tactics board exported successfully
222
+ * @throws ApiError
223
+ */
224
+ getApiV1CommunityTacticsBoardsExport(id: string, format?: 'svg' | 'data-url'): CancelablePromise<{
225
+ success?: boolean;
226
+ data?: {
227
+ dataUrl?: string;
228
+ };
229
+ }>;
230
+ }
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommunityTacticsBoardsService = void 0;
4
+ class CommunityTacticsBoardsService {
5
+ constructor(httpRequest) {
6
+ this.httpRequest = httpRequest;
7
+ }
8
+ /**
9
+ * Create a new tactics board
10
+ * Create a tactics board with formations for two teams and tactical drawings. Works for both authenticated and anonymous users. Anonymous boards can later be claimed.
11
+ * @param requestBody
12
+ * @returns any Tactics board created successfully
13
+ * @throws ApiError
14
+ */
15
+ postApiV1CommunityTacticsBoards(requestBody) {
16
+ return this.httpRequest.request({
17
+ method: 'POST',
18
+ url: '/api/v1/community/tactics-boards',
19
+ body: requestBody,
20
+ mediaType: 'application/json',
21
+ errors: {
22
+ 400: `Validation error - missing required fields`,
23
+ 500: `Server error while creating tactics board`,
24
+ },
25
+ });
26
+ }
27
+ /**
28
+ * Get user's tactics boards
29
+ * Retrieve all tactics boards created by the authenticated user with pagination and sorting
30
+ * @param limit Number of boards to return
31
+ * @param offset Number of boards to skip
32
+ * @param sortBy Field to sort by
33
+ * @param sortOrder Sort order
34
+ * @returns any User's tactics boards retrieved successfully
35
+ * @throws ApiError
36
+ */
37
+ getApiV1CommunityTacticsBoards(limit = 20, offset, sortBy = 'createdAt', sortOrder = 'desc') {
38
+ return this.httpRequest.request({
39
+ method: 'GET',
40
+ url: '/api/v1/community/tactics-boards',
41
+ query: {
42
+ 'limit': limit,
43
+ 'offset': offset,
44
+ 'sortBy': sortBy,
45
+ 'sortOrder': sortOrder,
46
+ },
47
+ errors: {
48
+ 401: `Authentication required`,
49
+ 500: `Server error while fetching tactics boards`,
50
+ },
51
+ });
52
+ }
53
+ /**
54
+ * Get tactics board by ID
55
+ * Retrieve a specific tactics board by its ID. Returns public boards or boards owned by the authenticated user.
56
+ * @param id Tactics board ID
57
+ * @returns any Tactics board retrieved successfully
58
+ * @throws ApiError
59
+ */
60
+ getApiV1CommunityTacticsBoards1(id) {
61
+ return this.httpRequest.request({
62
+ method: 'GET',
63
+ url: '/api/v1/community/tactics-boards/{id}',
64
+ path: {
65
+ 'id': id,
66
+ },
67
+ errors: {
68
+ 400: `Tactics board ID is required`,
69
+ 403: `Permission denied - board is private`,
70
+ 404: `Tactics board not found`,
71
+ 500: `Server error while fetching tactics board`,
72
+ },
73
+ });
74
+ }
75
+ /**
76
+ * Update tactics board
77
+ * Update an existing tactics board. Only the owner can update their board.
78
+ * @param id Tactics board ID
79
+ * @param requestBody
80
+ * @returns any Tactics board updated successfully
81
+ * @throws ApiError
82
+ */
83
+ putApiV1CommunityTacticsBoards(id, requestBody) {
84
+ return this.httpRequest.request({
85
+ method: 'PUT',
86
+ url: '/api/v1/community/tactics-boards/{id}',
87
+ path: {
88
+ 'id': id,
89
+ },
90
+ body: requestBody,
91
+ mediaType: 'application/json',
92
+ errors: {
93
+ 400: `Invalid tactics board ID`,
94
+ 401: `Authentication required`,
95
+ 403: `Permission denied - not the owner`,
96
+ 404: `Tactics board not found`,
97
+ 500: `Server error while updating tactics board`,
98
+ },
99
+ });
100
+ }
101
+ /**
102
+ * Delete tactics board
103
+ * Delete a tactics board. Only the owner can delete their board.
104
+ * @param id Tactics board ID
105
+ * @returns void
106
+ * @throws ApiError
107
+ */
108
+ deleteApiV1CommunityTacticsBoards(id) {
109
+ return this.httpRequest.request({
110
+ method: 'DELETE',
111
+ url: '/api/v1/community/tactics-boards/{id}',
112
+ path: {
113
+ 'id': id,
114
+ },
115
+ errors: {
116
+ 400: `Invalid tactics board ID`,
117
+ 401: `Authentication required`,
118
+ 403: `Permission denied - not the owner`,
119
+ 404: `Tactics board not found`,
120
+ 500: `Server error while deleting tactics board`,
121
+ },
122
+ });
123
+ }
124
+ /**
125
+ * Get tactics board by share token
126
+ * Retrieve a public tactics board using its unique share token
127
+ * @param shareToken Unique share token
128
+ * @returns any Tactics board retrieved successfully
129
+ * @throws ApiError
130
+ */
131
+ getApiV1CommunityTacticsBoardsShare(shareToken) {
132
+ return this.httpRequest.request({
133
+ method: 'GET',
134
+ url: '/api/v1/community/tactics-boards/share/{shareToken}',
135
+ path: {
136
+ 'shareToken': shareToken,
137
+ },
138
+ errors: {
139
+ 400: `Share token is required`,
140
+ 404: `Tactics board not found or is private`,
141
+ 500: `Server error while fetching tactics board`,
142
+ },
143
+ });
144
+ }
145
+ /**
146
+ * Claim anonymous tactics board
147
+ * Claim ownership of an anonymous tactics board
148
+ * @param id Tactics board ID
149
+ * @returns any Tactics board claimed successfully
150
+ * @throws ApiError
151
+ */
152
+ postApiV1CommunityTacticsBoardsClaim(id) {
153
+ return this.httpRequest.request({
154
+ method: 'POST',
155
+ url: '/api/v1/community/tactics-boards/{id}/claim',
156
+ path: {
157
+ 'id': id,
158
+ },
159
+ errors: {
160
+ 400: `Invalid tactics board ID`,
161
+ 401: `Authentication required`,
162
+ 403: `Board already has an owner`,
163
+ 404: `Tactics board not found`,
164
+ 500: `Server error while claiming tactics board`,
165
+ },
166
+ });
167
+ }
168
+ /**
169
+ * Browse public tactics boards
170
+ * Search and filter public tactics boards with pagination and sorting
171
+ * @param search Search text for title or description
172
+ * @param formationTeamA Filter by Team A formation
173
+ * @param formationTeamB Filter by Team B formation
174
+ * @param boardMode Filter by board mode
175
+ * @param teamAId Filter by Team A ID
176
+ * @param teamBId Filter by Team B ID
177
+ * @param fixtureId Filter by fixture ID
178
+ * @param sortBy Field to sort by
179
+ * @param sortOrder Sort order
180
+ * @param limit Number of boards per page
181
+ * @param offset Number of boards to skip
182
+ * @returns any Tactics boards retrieved successfully
183
+ * @throws ApiError
184
+ */
185
+ getApiV1CommunityTacticsBoardsBrowse(search, formationTeamA, formationTeamB, boardMode, teamAId, teamBId, fixtureId, sortBy = 'createdAt', sortOrder = 'desc', limit = 20, offset) {
186
+ return this.httpRequest.request({
187
+ method: 'GET',
188
+ url: '/api/v1/community/tactics-boards/browse',
189
+ query: {
190
+ 'search': search,
191
+ 'formationTeamA': formationTeamA,
192
+ 'formationTeamB': formationTeamB,
193
+ 'boardMode': boardMode,
194
+ 'teamAId': teamAId,
195
+ 'teamBId': teamBId,
196
+ 'fixtureId': fixtureId,
197
+ 'sortBy': sortBy,
198
+ 'sortOrder': sortOrder,
199
+ 'limit': limit,
200
+ 'offset': offset,
201
+ },
202
+ errors: {
203
+ 500: `Server error while browsing tactics boards`,
204
+ },
205
+ });
206
+ }
207
+ /**
208
+ * Get trending tactics boards
209
+ * Retrieve the most viewed tactics boards in the last 7 days
210
+ * @param limit Number of trending boards to return
211
+ * @returns any Trending tactics boards retrieved successfully
212
+ * @throws ApiError
213
+ */
214
+ getApiV1CommunityTacticsBoardsTrending(limit = 10) {
215
+ return this.httpRequest.request({
216
+ method: 'GET',
217
+ url: '/api/v1/community/tactics-boards/trending',
218
+ query: {
219
+ 'limit': limit,
220
+ },
221
+ errors: {
222
+ 500: `Server error while fetching trending tactics boards`,
223
+ },
224
+ });
225
+ }
226
+ /**
227
+ * Get popular tactics boards
228
+ * Retrieve the most viewed tactics boards of all time
229
+ * @param limit Number of popular boards to return
230
+ * @returns any Popular tactics boards retrieved successfully
231
+ * @throws ApiError
232
+ */
233
+ getApiV1CommunityTacticsBoardsPopular(limit = 10) {
234
+ return this.httpRequest.request({
235
+ method: 'GET',
236
+ url: '/api/v1/community/tactics-boards/popular',
237
+ query: {
238
+ 'limit': limit,
239
+ },
240
+ errors: {
241
+ 500: `Server error while fetching popular tactics boards`,
242
+ },
243
+ });
244
+ }
245
+ /**
246
+ * Export tactics board as image
247
+ * Export a tactics board as an SVG image or data URL
248
+ * @param id Tactics board ID
249
+ * @param format Export format
250
+ * @returns any Tactics board exported successfully
251
+ * @throws ApiError
252
+ */
253
+ getApiV1CommunityTacticsBoardsExport(id, format = 'svg') {
254
+ return this.httpRequest.request({
255
+ method: 'GET',
256
+ url: '/api/v1/community/tactics-boards/{id}/export',
257
+ path: {
258
+ 'id': id,
259
+ },
260
+ query: {
261
+ 'format': format,
262
+ },
263
+ errors: {
264
+ 400: `Invalid tactics board ID or format`,
265
+ 403: `Permission denied - board is private`,
266
+ 404: `Tactics board not found`,
267
+ 500: `Server error while exporting tactics board`,
268
+ },
269
+ });
270
+ }
271
+ }
272
+ exports.CommunityTacticsBoardsService = CommunityTacticsBoardsService;