@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,215 @@
1
+ import type { ApiResponseDTO } from '../models/ApiResponseDTO';
2
+ import type { Challenge } from '../models/Challenge';
3
+ import type { LeaderboardEntry } from '../models/LeaderboardEntry';
4
+ import type { CancelablePromise } from '../core/CancelablePromise';
5
+ import type { BaseHttpRequest } from '../core/BaseHttpRequest';
6
+ export declare class ChallengesService {
7
+ readonly httpRequest: BaseHttpRequest;
8
+ constructor(httpRequest: BaseHttpRequest);
9
+ /**
10
+ * Get active challenges for current user
11
+ * Retrieves all active challenges for the authenticated user with optional filters
12
+ * @param type Filter by challenge type
13
+ * @param difficulty Filter by difficulty level
14
+ * @param status Filter by completion status
15
+ * @returns any List of active challenges
16
+ * @throws ApiError
17
+ */
18
+ getApiV1Challenges(type?: 'daily' | 'weekly' | 'seasonal' | 'special', difficulty?: 'easy' | 'medium' | 'hard' | 'expert', status?: 'active' | 'completed' | 'claimed'): CancelablePromise<{
19
+ success?: boolean;
20
+ data?: {
21
+ challenges?: Array<Challenge>;
22
+ };
23
+ }>;
24
+ /**
25
+ * Get specific challenge details
26
+ * Retrieves detailed information about a specific challenge
27
+ * @param challengeId Challenge ID
28
+ * @returns any Challenge details
29
+ * @throws ApiError
30
+ */
31
+ getApiV1Challenges1(challengeId: string): CancelablePromise<(ApiResponseDTO & {
32
+ data?: Challenge;
33
+ })>;
34
+ /**
35
+ * Update challenge progress (Internal)
36
+ * Internal endpoint to update challenge progress. Should only be called by backend services, not frontend.
37
+ * @param requestBody
38
+ * @returns any Progress updated successfully
39
+ * @throws ApiError
40
+ */
41
+ postApiV1ChallengesProgress(requestBody: {
42
+ /**
43
+ * User ID to update progress for
44
+ */
45
+ userId: string;
46
+ /**
47
+ * Type of event that occurred
48
+ */
49
+ eventType: string;
50
+ /**
51
+ * Event data payload
52
+ */
53
+ eventData: Record<string, any>;
54
+ }): CancelablePromise<{
55
+ success?: boolean;
56
+ data?: {
57
+ updatedChallenges?: Array<string>;
58
+ };
59
+ }>;
60
+ /**
61
+ * Claim reward for completed challenge
62
+ * Claims the reward for a specific completed challenge
63
+ * @param challengeId Challenge ID to claim reward for
64
+ * @returns any Reward claimed successfully
65
+ * @throws ApiError
66
+ */
67
+ postApiV1ChallengesClaim(challengeId: string): CancelablePromise<{
68
+ success?: boolean;
69
+ data?: {
70
+ reward?: {
71
+ coins?: number;
72
+ xp?: number;
73
+ items?: Array<string>;
74
+ };
75
+ };
76
+ }>;
77
+ /**
78
+ * Claim all completed challenges
79
+ * Claims rewards for all completed but unclaimed challenges
80
+ * @returns any All rewards claimed successfully
81
+ * @throws ApiError
82
+ */
83
+ postApiV1ChallengesClaimAll(): CancelablePromise<{
84
+ success?: boolean;
85
+ data?: {
86
+ /**
87
+ * Number of challenges claimed
88
+ */
89
+ claimed?: number;
90
+ totalRewards?: {
91
+ coins?: number;
92
+ xp?: number;
93
+ };
94
+ };
95
+ }>;
96
+ /**
97
+ * Get challenge completion history
98
+ * Retrieves user's challenge completion history with pagination and filters
99
+ * @param limit Number of results per page
100
+ * @param offset Number of results to skip
101
+ * @param type Filter by challenge type
102
+ * @param startDate Filter by start date
103
+ * @param endDate Filter by end date
104
+ * @returns any Challenge history retrieved successfully
105
+ * @throws ApiError
106
+ */
107
+ getApiV1ChallengesHistory(limit?: number, offset?: number, type?: string, startDate?: string, endDate?: string): CancelablePromise<{
108
+ success?: boolean;
109
+ data?: {
110
+ history?: Array<Challenge>;
111
+ total?: number;
112
+ limit?: number;
113
+ offset?: number;
114
+ };
115
+ }>;
116
+ /**
117
+ * Get challenges leaderboard
118
+ * Public endpoint that returns leaderboard with all users' challenge completion data
119
+ * @param period Leaderboard time period
120
+ * @param type Filter by challenge type
121
+ * @param limit Number of top users to return
122
+ * @returns any Leaderboard retrieved successfully
123
+ * @throws ApiError
124
+ */
125
+ getApiV1ChallengesLeaderboard(period?: 'day' | 'week' | 'month' | 'all', type?: 'all' | 'daily' | 'weekly' | 'seasonal', limit?: number): CancelablePromise<{
126
+ success?: boolean;
127
+ data?: {
128
+ leaderboard?: Array<LeaderboardEntry>;
129
+ currentUser?: {
130
+ rank?: number;
131
+ score?: number;
132
+ };
133
+ };
134
+ }>;
135
+ /**
136
+ * Get user's challenge streak
137
+ * Retrieves current challenge completion streak information for the user
138
+ * @returns any Streak information retrieved successfully
139
+ * @throws ApiError
140
+ */
141
+ getApiV1ChallengesStreak(): CancelablePromise<{
142
+ success?: boolean;
143
+ data?: {
144
+ /**
145
+ * Current consecutive days
146
+ */
147
+ currentStreak?: number;
148
+ /**
149
+ * All-time longest streak
150
+ */
151
+ longestStreak?: number;
152
+ lastCompletionDate?: string;
153
+ };
154
+ }>;
155
+ /**
156
+ * Generate daily challenges (Admin)
157
+ * Admin endpoint to generate daily challenges for all users
158
+ * @param requestBody
159
+ * @returns any Daily challenges generated successfully
160
+ * @throws ApiError
161
+ */
162
+ postApiV1ChallengesGenerateDaily(requestBody: {
163
+ /**
164
+ * Date to generate challenges for
165
+ */
166
+ date: string;
167
+ /**
168
+ * Pool of challenge IDs to select from
169
+ */
170
+ challengePool?: Array<string>;
171
+ difficultyDistribution?: {
172
+ easy?: number;
173
+ medium?: number;
174
+ hard?: number;
175
+ };
176
+ }): CancelablePromise<{
177
+ success?: boolean;
178
+ data?: {
179
+ /**
180
+ * Number of challenges generated
181
+ */
182
+ generated?: number;
183
+ };
184
+ }>;
185
+ /**
186
+ * Generate weekly challenges (Admin)
187
+ * Admin endpoint to generate weekly challenges for all users
188
+ * @param requestBody
189
+ * @returns any Weekly challenges generated successfully
190
+ * @throws ApiError
191
+ */
192
+ postApiV1ChallengesGenerateWeekly(requestBody: {
193
+ /**
194
+ * Week start date to generate challenges for
195
+ */
196
+ weekStart: string;
197
+ /**
198
+ * Pool of challenge IDs to select from
199
+ */
200
+ challengePool?: Array<string>;
201
+ difficultyDistribution?: {
202
+ easy?: number;
203
+ medium?: number;
204
+ hard?: number;
205
+ };
206
+ }): CancelablePromise<{
207
+ success?: boolean;
208
+ data?: {
209
+ /**
210
+ * Number of challenges generated
211
+ */
212
+ generated?: number;
213
+ };
214
+ }>;
215
+ }
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChallengesService = void 0;
4
+ class ChallengesService {
5
+ constructor(httpRequest) {
6
+ this.httpRequest = httpRequest;
7
+ }
8
+ /**
9
+ * Get active challenges for current user
10
+ * Retrieves all active challenges for the authenticated user with optional filters
11
+ * @param type Filter by challenge type
12
+ * @param difficulty Filter by difficulty level
13
+ * @param status Filter by completion status
14
+ * @returns any List of active challenges
15
+ * @throws ApiError
16
+ */
17
+ getApiV1Challenges(type, difficulty, status) {
18
+ return this.httpRequest.request({
19
+ method: 'GET',
20
+ url: '/api/v1/challenges',
21
+ query: {
22
+ 'type': type,
23
+ 'difficulty': difficulty,
24
+ 'status': status,
25
+ },
26
+ errors: {
27
+ 401: `Unauthorized - authentication required`,
28
+ 500: `Internal server error`,
29
+ },
30
+ });
31
+ }
32
+ /**
33
+ * Get specific challenge details
34
+ * Retrieves detailed information about a specific challenge
35
+ * @param challengeId Challenge ID
36
+ * @returns any Challenge details
37
+ * @throws ApiError
38
+ */
39
+ getApiV1Challenges1(challengeId) {
40
+ return this.httpRequest.request({
41
+ method: 'GET',
42
+ url: '/api/v1/challenges/{challengeId}',
43
+ path: {
44
+ 'challengeId': challengeId,
45
+ },
46
+ errors: {
47
+ 400: `Bad request - missing challenge ID`,
48
+ 404: `Challenge not found`,
49
+ 500: `Internal server error`,
50
+ },
51
+ });
52
+ }
53
+ /**
54
+ * Update challenge progress (Internal)
55
+ * Internal endpoint to update challenge progress. Should only be called by backend services, not frontend.
56
+ * @param requestBody
57
+ * @returns any Progress updated successfully
58
+ * @throws ApiError
59
+ */
60
+ postApiV1ChallengesProgress(requestBody) {
61
+ return this.httpRequest.request({
62
+ method: 'POST',
63
+ url: '/api/v1/challenges/progress',
64
+ body: requestBody,
65
+ mediaType: 'application/json',
66
+ errors: {
67
+ 400: `Bad request - missing required fields`,
68
+ 500: `Internal server error`,
69
+ },
70
+ });
71
+ }
72
+ /**
73
+ * Claim reward for completed challenge
74
+ * Claims the reward for a specific completed challenge
75
+ * @param challengeId Challenge ID to claim reward for
76
+ * @returns any Reward claimed successfully
77
+ * @throws ApiError
78
+ */
79
+ postApiV1ChallengesClaim(challengeId) {
80
+ return this.httpRequest.request({
81
+ method: 'POST',
82
+ url: '/api/v1/challenges/{challengeId}/claim',
83
+ path: {
84
+ 'challengeId': challengeId,
85
+ },
86
+ errors: {
87
+ 400: `Bad request - challenge not completed or already claimed`,
88
+ 401: `Unauthorized - authentication required`,
89
+ 500: `Internal server error`,
90
+ },
91
+ });
92
+ }
93
+ /**
94
+ * Claim all completed challenges
95
+ * Claims rewards for all completed but unclaimed challenges
96
+ * @returns any All rewards claimed successfully
97
+ * @throws ApiError
98
+ */
99
+ postApiV1ChallengesClaimAll() {
100
+ return this.httpRequest.request({
101
+ method: 'POST',
102
+ url: '/api/v1/challenges/claim-all',
103
+ errors: {
104
+ 401: `Unauthorized - authentication required`,
105
+ 500: `Internal server error`,
106
+ },
107
+ });
108
+ }
109
+ /**
110
+ * Get challenge completion history
111
+ * Retrieves user's challenge completion history with pagination and filters
112
+ * @param limit Number of results per page
113
+ * @param offset Number of results to skip
114
+ * @param type Filter by challenge type
115
+ * @param startDate Filter by start date
116
+ * @param endDate Filter by end date
117
+ * @returns any Challenge history retrieved successfully
118
+ * @throws ApiError
119
+ */
120
+ getApiV1ChallengesHistory(limit = 20, offset, type, startDate, endDate) {
121
+ return this.httpRequest.request({
122
+ method: 'GET',
123
+ url: '/api/v1/challenges/history',
124
+ query: {
125
+ 'limit': limit,
126
+ 'offset': offset,
127
+ 'type': type,
128
+ 'startDate': startDate,
129
+ 'endDate': endDate,
130
+ },
131
+ errors: {
132
+ 401: `Unauthorized - authentication required`,
133
+ 500: `Internal server error`,
134
+ },
135
+ });
136
+ }
137
+ /**
138
+ * Get challenges leaderboard
139
+ * Public endpoint that returns leaderboard with all users' challenge completion data
140
+ * @param period Leaderboard time period
141
+ * @param type Filter by challenge type
142
+ * @param limit Number of top users to return
143
+ * @returns any Leaderboard retrieved successfully
144
+ * @throws ApiError
145
+ */
146
+ getApiV1ChallengesLeaderboard(period = 'week', type = 'all', limit = 100) {
147
+ return this.httpRequest.request({
148
+ method: 'GET',
149
+ url: '/api/v1/challenges/leaderboard',
150
+ query: {
151
+ 'period': period,
152
+ 'type': type,
153
+ 'limit': limit,
154
+ },
155
+ errors: {
156
+ 500: `Internal server error`,
157
+ },
158
+ });
159
+ }
160
+ /**
161
+ * Get user's challenge streak
162
+ * Retrieves current challenge completion streak information for the user
163
+ * @returns any Streak information retrieved successfully
164
+ * @throws ApiError
165
+ */
166
+ getApiV1ChallengesStreak() {
167
+ return this.httpRequest.request({
168
+ method: 'GET',
169
+ url: '/api/v1/challenges/streak',
170
+ errors: {
171
+ 401: `Unauthorized - authentication required`,
172
+ 500: `Internal server error`,
173
+ },
174
+ });
175
+ }
176
+ /**
177
+ * Generate daily challenges (Admin)
178
+ * Admin endpoint to generate daily challenges for all users
179
+ * @param requestBody
180
+ * @returns any Daily challenges generated successfully
181
+ * @throws ApiError
182
+ */
183
+ postApiV1ChallengesGenerateDaily(requestBody) {
184
+ return this.httpRequest.request({
185
+ method: 'POST',
186
+ url: '/api/v1/challenges/generate/daily',
187
+ body: requestBody,
188
+ mediaType: 'application/json',
189
+ errors: {
190
+ 400: `Bad request - missing date`,
191
+ 500: `Internal server error`,
192
+ },
193
+ });
194
+ }
195
+ /**
196
+ * Generate weekly challenges (Admin)
197
+ * Admin endpoint to generate weekly challenges for all users
198
+ * @param requestBody
199
+ * @returns any Weekly challenges generated successfully
200
+ * @throws ApiError
201
+ */
202
+ postApiV1ChallengesGenerateWeekly(requestBody) {
203
+ return this.httpRequest.request({
204
+ method: 'POST',
205
+ url: '/api/v1/challenges/generate/weekly',
206
+ body: requestBody,
207
+ mediaType: 'application/json',
208
+ errors: {
209
+ 400: `Bad request - missing weekStart`,
210
+ 500: `Internal server error`,
211
+ },
212
+ });
213
+ }
214
+ }
215
+ exports.ChallengesService = ChallengesService;
@@ -0,0 +1,111 @@
1
+ import type { ApiResponseDTO } from '../models/ApiResponseDTO';
2
+ import type { CommunityChallengeDTO } from '../models/CommunityChallengeDTO';
3
+ import type { CreateChallengeRequestDTO } from '../models/CreateChallengeRequestDTO';
4
+ import type { CancelablePromise } from '../core/CancelablePromise';
5
+ import type { BaseHttpRequest } from '../core/BaseHttpRequest';
6
+ export declare class CommunityChallengesService {
7
+ readonly httpRequest: BaseHttpRequest;
8
+ constructor(httpRequest: BaseHttpRequest);
9
+ /**
10
+ * Create a new challenge
11
+ * Creates a new community challenge
12
+ * @param requestBody
13
+ * @returns any Challenge created successfully
14
+ * @throws ApiError
15
+ */
16
+ postApiV1CommunityChallenges(requestBody: CreateChallengeRequestDTO): CancelablePromise<(ApiResponseDTO & {
17
+ data?: CommunityChallengeDTO;
18
+ })>;
19
+ /**
20
+ * List all challenges
21
+ * Retrieves a list of all community challenges
22
+ * @returns any Challenges retrieved successfully
23
+ * @throws ApiError
24
+ */
25
+ getApiV1CommunityChallenges(): CancelablePromise<(ApiResponseDTO & {
26
+ data?: Array<CommunityChallengeDTO>;
27
+ })>;
28
+ /**
29
+ * Get challenge by ID
30
+ * Retrieves a specific challenge by its ID
31
+ * @param id Challenge ID
32
+ * @returns any Challenge retrieved successfully
33
+ * @throws ApiError
34
+ */
35
+ getApiV1CommunityChallenges1(id: string): CancelablePromise<(ApiResponseDTO & {
36
+ data?: CommunityChallengeDTO;
37
+ })>;
38
+ /**
39
+ * Update a challenge
40
+ * Updates an existing challenge
41
+ * @param id Challenge ID
42
+ * @param requestBody
43
+ * @returns any Challenge updated successfully
44
+ * @throws ApiError
45
+ */
46
+ putApiV1CommunityChallenges(id: string, requestBody: CreateChallengeRequestDTO): CancelablePromise<(ApiResponseDTO & {
47
+ data?: CommunityChallengeDTO;
48
+ })>;
49
+ /**
50
+ * Create challenge from shared game
51
+ * Creates a new challenge game from a shared game to compete against another user
52
+ * @param publicId Public ID of the shared game
53
+ * @returns any Challenge game created successfully
54
+ * @throws ApiError
55
+ */
56
+ postApiV1CommunityChallengesShared(publicId: string): CancelablePromise<(ApiResponseDTO & {
57
+ data?: {
58
+ message?: string;
59
+ /**
60
+ * ID of the newly created challenge game
61
+ */
62
+ gameId?: string;
63
+ /**
64
+ * ID of the challenge record
65
+ */
66
+ challengeId?: string;
67
+ };
68
+ })>;
69
+ /**
70
+ * Get user's challenges
71
+ * Retrieves all challenges for the authenticated user
72
+ * @returns any User challenges retrieved successfully
73
+ * @throws ApiError
74
+ */
75
+ getApiV1CommunityChallengesMy(): CancelablePromise<(ApiResponseDTO & {
76
+ data?: Array<{
77
+ id?: string;
78
+ createdAt?: string;
79
+ status?: 'pending' | 'active' | 'completed';
80
+ outcome?: 'pending' | 'won' | 'lost' | 'draw';
81
+ opponent?: {
82
+ id?: string;
83
+ username?: string;
84
+ };
85
+ }>;
86
+ })>;
87
+ /**
88
+ * Get challenge details by ID
89
+ * Retrieves detailed information about a specific challenge including games and opponent info
90
+ * @param id Challenge ID
91
+ * @returns any Challenge details retrieved successfully
92
+ * @throws ApiError
93
+ */
94
+ getApiV1CommunityChallengesDetails(id: string): CancelablePromise<(ApiResponseDTO & {
95
+ data?: {
96
+ id?: string;
97
+ createdAt?: string;
98
+ status?: 'pending' | 'active' | 'completed';
99
+ outcome?: 'pending' | 'won' | 'lost' | 'draw';
100
+ fixtureId?: string;
101
+ boardSize?: number;
102
+ role?: 'challenger' | 'owner';
103
+ challengerGameId?: string;
104
+ ownerGameId?: string;
105
+ opponent?: {
106
+ id?: string;
107
+ username?: string;
108
+ };
109
+ };
110
+ })>;
111
+ }
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommunityChallengesService = void 0;
4
+ class CommunityChallengesService {
5
+ constructor(httpRequest) {
6
+ this.httpRequest = httpRequest;
7
+ }
8
+ /**
9
+ * Create a new challenge
10
+ * Creates a new community challenge
11
+ * @param requestBody
12
+ * @returns any Challenge created successfully
13
+ * @throws ApiError
14
+ */
15
+ postApiV1CommunityChallenges(requestBody) {
16
+ return this.httpRequest.request({
17
+ method: 'POST',
18
+ url: '/api/v1/community/challenges',
19
+ body: requestBody,
20
+ mediaType: 'application/json',
21
+ errors: {
22
+ 400: `Bad request - invalid input`,
23
+ 401: `Unauthorized - authentication required`,
24
+ 500: `Internal server error`,
25
+ },
26
+ });
27
+ }
28
+ /**
29
+ * List all challenges
30
+ * Retrieves a list of all community challenges
31
+ * @returns any Challenges retrieved successfully
32
+ * @throws ApiError
33
+ */
34
+ getApiV1CommunityChallenges() {
35
+ return this.httpRequest.request({
36
+ method: 'GET',
37
+ url: '/api/v1/community/challenges',
38
+ errors: {
39
+ 500: `Internal server error`,
40
+ },
41
+ });
42
+ }
43
+ /**
44
+ * Get challenge by ID
45
+ * Retrieves a specific challenge by its ID
46
+ * @param id Challenge ID
47
+ * @returns any Challenge retrieved successfully
48
+ * @throws ApiError
49
+ */
50
+ getApiV1CommunityChallenges1(id) {
51
+ return this.httpRequest.request({
52
+ method: 'GET',
53
+ url: '/api/v1/community/challenges/{id}',
54
+ path: {
55
+ 'id': id,
56
+ },
57
+ errors: {
58
+ 404: `Challenge not found`,
59
+ 500: `Internal server error`,
60
+ },
61
+ });
62
+ }
63
+ /**
64
+ * Update a challenge
65
+ * Updates an existing challenge
66
+ * @param id Challenge ID
67
+ * @param requestBody
68
+ * @returns any Challenge updated successfully
69
+ * @throws ApiError
70
+ */
71
+ putApiV1CommunityChallenges(id, requestBody) {
72
+ return this.httpRequest.request({
73
+ method: 'PUT',
74
+ url: '/api/v1/community/challenges/{id}',
75
+ path: {
76
+ 'id': id,
77
+ },
78
+ body: requestBody,
79
+ mediaType: 'application/json',
80
+ errors: {
81
+ 400: `Bad request - invalid input`,
82
+ 401: `Unauthorized - authentication required`,
83
+ 404: `Challenge not found`,
84
+ 500: `Internal server error`,
85
+ },
86
+ });
87
+ }
88
+ /**
89
+ * Create challenge from shared game
90
+ * Creates a new challenge game from a shared game to compete against another user
91
+ * @param publicId Public ID of the shared game
92
+ * @returns any Challenge game created successfully
93
+ * @throws ApiError
94
+ */
95
+ postApiV1CommunityChallengesShared(publicId) {
96
+ return this.httpRequest.request({
97
+ method: 'POST',
98
+ url: '/api/v1/community/challenges/shared/{publicId}',
99
+ path: {
100
+ 'publicId': publicId,
101
+ },
102
+ errors: {
103
+ 400: `Bad request - invalid input or user cannot challenge themselves`,
104
+ 401: `Unauthorized - authentication required`,
105
+ 404: `Shared game not found or no longer available`,
106
+ 409: `Conflict - user already challenged this game`,
107
+ 500: `Internal server error`,
108
+ },
109
+ });
110
+ }
111
+ /**
112
+ * Get user's challenges
113
+ * Retrieves all challenges for the authenticated user
114
+ * @returns any User challenges retrieved successfully
115
+ * @throws ApiError
116
+ */
117
+ getApiV1CommunityChallengesMy() {
118
+ return this.httpRequest.request({
119
+ method: 'GET',
120
+ url: '/api/v1/community/challenges/my',
121
+ errors: {
122
+ 401: `Unauthorized - authentication required`,
123
+ 500: `Internal server error`,
124
+ },
125
+ });
126
+ }
127
+ /**
128
+ * Get challenge details by ID
129
+ * Retrieves detailed information about a specific challenge including games and opponent info
130
+ * @param id Challenge ID
131
+ * @returns any Challenge details retrieved successfully
132
+ * @throws ApiError
133
+ */
134
+ getApiV1CommunityChallengesDetails(id) {
135
+ return this.httpRequest.request({
136
+ method: 'GET',
137
+ url: '/api/v1/community/challenges/details/{id}',
138
+ path: {
139
+ 'id': id,
140
+ },
141
+ errors: {
142
+ 401: `Unauthorized - authentication required`,
143
+ 403: `Forbidden - user is not involved in this challenge`,
144
+ 404: `Challenge not found`,
145
+ 500: `Internal server error`,
146
+ },
147
+ });
148
+ }
149
+ }
150
+ exports.CommunityChallengesService = CommunityChallengesService;