@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.
- package/README.md +420 -0
- package/dist/FootballBingoClient.d.ts +88 -0
- package/dist/FootballBingoClient.js +100 -0
- package/dist/core/ApiError.d.ts +10 -0
- package/dist/core/ApiError.js +15 -0
- package/dist/core/ApiRequestOptions.d.ts +13 -0
- package/dist/core/ApiRequestOptions.js +2 -0
- package/dist/core/ApiResult.d.ts +7 -0
- package/dist/core/ApiResult.js +2 -0
- package/dist/core/BaseHttpRequest.d.ts +8 -0
- package/dist/core/BaseHttpRequest.js +9 -0
- package/dist/core/CancelablePromise.d.ts +20 -0
- package/dist/core/CancelablePromise.js +116 -0
- package/dist/core/FetchHttpRequest.d.ts +14 -0
- package/dist/core/FetchHttpRequest.js +20 -0
- package/dist/core/OpenAPI.d.ts +16 -0
- package/dist/core/OpenAPI.js +14 -0
- package/dist/core/request.d.ts +30 -0
- package/dist/core/request.js +294 -0
- package/dist/index.d.ts +104 -0
- package/dist/index.js +139 -0
- package/dist/models/Achievement.d.ts +12 -0
- package/dist/models/Achievement.js +2 -0
- package/dist/models/ApiError.d.ts +2 -0
- package/dist/models/ApiError.js +2 -0
- package/dist/models/ApiErrorDTO.d.ts +9 -0
- package/dist/models/ApiErrorDTO.js +2 -0
- package/dist/models/ApiResponse.d.ts +2 -0
- package/dist/models/ApiResponse.js +2 -0
- package/dist/models/ApiResponseDTO.d.ts +10 -0
- package/dist/models/ApiResponseDTO.js +2 -0
- package/dist/models/BingoBoard.d.ts +8 -0
- package/dist/models/BingoBoard.js +2 -0
- package/dist/models/BingoGame.d.ts +19 -0
- package/dist/models/BingoGame.js +13 -0
- package/dist/models/BingoTile.d.ts +8 -0
- package/dist/models/BingoTile.js +2 -0
- package/dist/models/Challenge.d.ts +24 -0
- package/dist/models/Challenge.js +18 -0
- package/dist/models/ChatMessage.d.ts +17 -0
- package/dist/models/ChatMessage.js +12 -0
- package/dist/models/ChatSession.d.ts +13 -0
- package/dist/models/ChatSession.js +2 -0
- package/dist/models/CommunityChallengeDTO.d.ts +32 -0
- package/dist/models/CommunityChallengeDTO.js +19 -0
- package/dist/models/CompletedLine.d.ts +12 -0
- package/dist/models/CompletedLine.js +12 -0
- package/dist/models/CountryDTO.d.ts +5 -0
- package/dist/models/CountryDTO.js +2 -0
- package/dist/models/CreateChallengeRequestDTO.d.ts +22 -0
- package/dist/models/CreateChallengeRequestDTO.js +19 -0
- package/dist/models/CreatePredictionRequestDTO.d.ts +24 -0
- package/dist/models/CreatePredictionRequestDTO.js +12 -0
- package/dist/models/CurrencyTransaction.d.ts +27 -0
- package/dist/models/CurrencyTransaction.js +21 -0
- package/dist/models/DailyLoginRewardDTO.d.ts +13 -0
- package/dist/models/DailyLoginRewardDTO.js +2 -0
- package/dist/models/ErrorResponse.d.ts +5 -0
- package/dist/models/ErrorResponse.js +2 -0
- package/dist/models/FixtureDTO.d.ts +36 -0
- package/dist/models/FixtureDTO.js +16 -0
- package/dist/models/FixtureDetailDTO.d.ts +13 -0
- package/dist/models/FixtureDetailDTO.js +2 -0
- package/dist/models/GameChatMessageDTO.d.ts +20 -0
- package/dist/models/GameChatMessageDTO.js +13 -0
- package/dist/models/GetLeaderboardResponseDTO.d.ts +29 -0
- package/dist/models/GetLeaderboardResponseDTO.js +22 -0
- package/dist/models/GetUserInventoryResponseDTO.d.ts +28 -0
- package/dist/models/GetUserInventoryResponseDTO.js +2 -0
- package/dist/models/LeaderboardEntry.d.ts +10 -0
- package/dist/models/LeaderboardEntry.js +2 -0
- package/dist/models/LeaderboardResponseDTO.d.ts +26 -0
- package/dist/models/LeaderboardResponseDTO.js +13 -0
- package/dist/models/League.d.ts +7 -0
- package/dist/models/League.js +2 -0
- package/dist/models/LeagueDetailDTO.d.ts +17 -0
- package/dist/models/LeagueDetailDTO.js +2 -0
- package/dist/models/LineupDTO.d.ts +25 -0
- package/dist/models/LineupDTO.js +2 -0
- package/dist/models/LineupPrediction.d.ts +9 -0
- package/dist/models/LineupPrediction.js +2 -0
- package/dist/models/MatchEvent.d.ts +27 -0
- package/dist/models/MatchEvent.js +13 -0
- package/dist/models/NewsArticleDTO.d.ts +13 -0
- package/dist/models/NewsArticleDTO.js +2 -0
- package/dist/models/PaginationMeta.d.ts +2 -0
- package/dist/models/PaginationMeta.js +2 -0
- package/dist/models/PaginationMetaDTO.d.ts +7 -0
- package/dist/models/PaginationMetaDTO.js +2 -0
- package/dist/models/PlayerDTO.d.ts +18 -0
- package/dist/models/PlayerDTO.js +2 -0
- package/dist/models/PlayerStatisticsDTO.d.ts +25 -0
- package/dist/models/PlayerStatisticsDTO.js +2 -0
- package/dist/models/PredictionDTO.d.ts +31 -0
- package/dist/models/PredictionDTO.js +18 -0
- package/dist/models/PredictionWithLineupDTO.d.ts +8 -0
- package/dist/models/PredictionWithLineupDTO.js +2 -0
- package/dist/models/Pundit.d.ts +8 -0
- package/dist/models/Pundit.js +2 -0
- package/dist/models/Purchase.d.ts +16 -0
- package/dist/models/Purchase.js +12 -0
- package/dist/models/PurchaseResponseDTO.d.ts +25 -0
- package/dist/models/PurchaseResponseDTO.js +12 -0
- package/dist/models/Score.d.ts +4 -0
- package/dist/models/Score.js +2 -0
- package/dist/models/SendChatMessageRequestDTO.d.ts +12 -0
- package/dist/models/SendChatMessageRequestDTO.js +12 -0
- package/dist/models/ShareGameRequestDTO.d.ts +6 -0
- package/dist/models/ShareGameRequestDTO.js +2 -0
- package/dist/models/SharedGameDTO.d.ts +17 -0
- package/dist/models/SharedGameDTO.js +2 -0
- package/dist/models/StandingsDTO.d.ts +19 -0
- package/dist/models/StandingsDTO.js +2 -0
- package/dist/models/StoreItemDTO.d.ts +47 -0
- package/dist/models/StoreItemDTO.js +29 -0
- package/dist/models/TacticsBoardDTO.d.ts +32 -0
- package/dist/models/TacticsBoardDTO.js +2 -0
- package/dist/models/Team.d.ts +6 -0
- package/dist/models/Team.js +2 -0
- package/dist/models/TeamDetailDTO.d.ts +16 -0
- package/dist/models/TeamDetailDTO.js +2 -0
- package/dist/models/TeamStatisticsDTO.d.ts +12 -0
- package/dist/models/TeamStatisticsDTO.js +2 -0
- package/dist/models/TransactionHistoryDTO.d.ts +9 -0
- package/dist/models/TransactionHistoryDTO.js +2 -0
- package/dist/models/TransferDTO.d.ts +14 -0
- package/dist/models/TransferDTO.js +2 -0
- package/dist/models/TransferPlanDTO.d.ts +45 -0
- package/dist/models/TransferPlanDTO.js +12 -0
- package/dist/models/TrophyDTO.d.ts +6 -0
- package/dist/models/TrophyDTO.js +2 -0
- package/dist/models/UserDTO.d.ts +11 -0
- package/dist/models/UserDTO.js +2 -0
- package/dist/models/UserProfileDTO.d.ts +13 -0
- package/dist/models/UserProfileDTO.js +2 -0
- package/dist/models/UserPurchaseDTO.d.ts +26 -0
- package/dist/models/UserPurchaseDTO.js +19 -0
- package/dist/models/WalletBalance.d.ts +5 -0
- package/dist/models/WalletBalance.js +2 -0
- package/dist/models/WalletSummaryDTO.d.ts +16 -0
- package/dist/models/WalletSummaryDTO.js +2 -0
- package/dist/services/AchievementsDeprecatedService.d.ts +148 -0
- package/dist/services/AchievementsDeprecatedService.js +183 -0
- package/dist/services/AchievementsService.d.ts +204 -0
- package/dist/services/AchievementsService.js +197 -0
- package/dist/services/ActivitiesService.d.ts +27 -0
- package/dist/services/ActivitiesService.js +29 -0
- package/dist/services/AdminPurchasesService.d.ts +64 -0
- package/dist/services/AdminPurchasesService.js +109 -0
- package/dist/services/AdminService.d.ts +349 -0
- package/dist/services/AdminService.js +232 -0
- package/dist/services/AdminUsersService.d.ts +64 -0
- package/dist/services/AdminUsersService.js +103 -0
- package/dist/services/AiChatService.d.ts +70 -0
- package/dist/services/AiChatService.js +52 -0
- package/dist/services/ChallengesService.d.ts +215 -0
- package/dist/services/ChallengesService.js +215 -0
- package/dist/services/CommunityChallengesService.d.ts +111 -0
- package/dist/services/CommunityChallengesService.js +150 -0
- package/dist/services/CommunityGameChatService.d.ts +105 -0
- package/dist/services/CommunityGameChatService.js +150 -0
- package/dist/services/CommunityLineupsService.d.ts +197 -0
- package/dist/services/CommunityLineupsService.js +264 -0
- package/dist/services/CommunitySharedGamesService.d.ts +124 -0
- package/dist/services/CommunitySharedGamesService.js +172 -0
- package/dist/services/CommunityTacticsBoardsService.d.ts +230 -0
- package/dist/services/CommunityTacticsBoardsService.js +272 -0
- package/dist/services/CommunityTransferPlansService.d.ts +231 -0
- package/dist/services/CommunityTransferPlansService.js +291 -0
- package/dist/services/ContentCountriesService.d.ts +30 -0
- package/dist/services/ContentCountriesService.js +53 -0
- package/dist/services/ContentFixturesService.d.ts +51 -0
- package/dist/services/ContentFixturesService.js +88 -0
- package/dist/services/ContentLeaguesService.d.ts +32 -0
- package/dist/services/ContentLeaguesService.js +57 -0
- package/dist/services/ContentNewsService.d.ts +158 -0
- package/dist/services/ContentNewsService.js +255 -0
- package/dist/services/ContentOddsService.d.ts +81 -0
- package/dist/services/ContentOddsService.js +137 -0
- package/dist/services/ContentPlayersService.d.ts +64 -0
- package/dist/services/ContentPlayersService.js +104 -0
- package/dist/services/ContentStandingsService.d.ts +20 -0
- package/dist/services/ContentStandingsService.js +33 -0
- package/dist/services/ContentStatisticsService.d.ts +51 -0
- package/dist/services/ContentStatisticsService.js +83 -0
- package/dist/services/ContentTeamsService.d.ts +67 -0
- package/dist/services/ContentTeamsService.js +106 -0
- package/dist/services/ContentTransfersService.d.ts +23 -0
- package/dist/services/ContentTransfersService.js +38 -0
- package/dist/services/ContentTrophiesService.d.ts +23 -0
- package/dist/services/ContentTrophiesService.js +38 -0
- package/dist/services/DailyChallengeCompletionsDeprecatedService.d.ts +78 -0
- package/dist/services/DailyChallengeCompletionsDeprecatedService.js +130 -0
- package/dist/services/DailyChallengesDeprecatedService.d.ts +117 -0
- package/dist/services/DailyChallengesDeprecatedService.js +179 -0
- package/dist/services/DailyLoginService.d.ts +109 -0
- package/dist/services/DailyLoginService.js +111 -0
- package/dist/services/DailyStreaksDeprecatedService.d.ts +80 -0
- package/dist/services/DailyStreaksDeprecatedService.js +130 -0
- package/dist/services/EventPoolsService.d.ts +104 -0
- package/dist/services/EventPoolsService.js +118 -0
- package/dist/services/LeaderboardService.d.ts +18 -0
- package/dist/services/LeaderboardService.js +35 -0
- package/dist/services/NotificationsService.d.ts +143 -0
- package/dist/services/NotificationsService.js +159 -0
- package/dist/services/PredictionsService.d.ts +223 -0
- package/dist/services/PredictionsService.js +204 -0
- package/dist/services/ProgressionService.d.ts +163 -0
- package/dist/services/ProgressionService.js +149 -0
- package/dist/services/SponsorsService.d.ts +105 -0
- package/dist/services/SponsorsService.js +118 -0
- package/dist/services/StoreService.d.ts +92 -0
- package/dist/services/StoreService.js +147 -0
- package/dist/services/UserAchievementsDeprecatedService.d.ts +146 -0
- package/dist/services/UserAchievementsDeprecatedService.js +209 -0
- package/dist/services/UserActivitiesService.d.ts +48 -0
- package/dist/services/UserActivitiesService.js +65 -0
- package/dist/services/UsersService.d.ts +156 -0
- package/dist/services/UsersService.js +244 -0
- package/dist/services/WalletService.d.ts +31 -0
- package/dist/services/WalletService.js +53 -0
- 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;
|