@smartico/public-api 0.0.154 → 0.0.155
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/.prettierrc +12 -0
- package/dist/Base/ProtocolRequest.d.ts +1 -1
- package/dist/Base/ProtocolResponse.d.ts +1 -1
- package/dist/Core/CheckSegmentMatchRequest.d.ts +1 -1
- package/dist/Core/CheckSegmentMatchResponse.d.ts +1 -1
- package/dist/Core/GetAchievementsUserInfoRequest.d.ts +1 -1
- package/dist/Core/GetAchievementsUserInfoResponse.d.ts +1 -1
- package/dist/Core/GetLabelInfoRequest.d.ts +1 -1
- package/dist/Core/GetLabelInfoResponse.d.ts +1 -1
- package/dist/Core/GetTranslationsRequest.d.ts +2 -2
- package/dist/Core/GetTranslationsResponse.d.ts +1 -1
- package/dist/Core/ResponseIdentify.d.ts +2 -2
- package/dist/CustomSections/GetCustomSectionsRequest.d.ts +1 -1
- package/dist/CustomSections/GetCustomSectionsResponse.d.ts +2 -2
- package/dist/CustomSections/UICustomSection.d.ts +2 -2
- package/dist/GResponse.d.ts +1 -1
- package/dist/Inbox/GetInboxMessagesRequest.d.ts +1 -1
- package/dist/Inbox/GetInboxMessagesResponse.d.ts +3 -3
- package/dist/Inbox/InboxMessage.d.ts +2 -2
- package/dist/Inbox/MarkInboxMessageDeletedRequest.d.ts +1 -1
- package/dist/Inbox/MarkInboxMessageDeletedResponse.d.ts +1 -1
- package/dist/Inbox/MarkInboxMessageReadRequest.d.ts +1 -1
- package/dist/Inbox/MarkInboxMessageReadResponse.d.ts +1 -1
- package/dist/Inbox/MarkInboxMessageStarredRequest.d.ts +1 -1
- package/dist/Inbox/MarkInboxMessageStarredResponse.d.ts +1 -1
- package/dist/Inbox/index.d.ts +8 -8
- package/dist/Jackpots/GetJackpotsPotsRequest.d.ts +1 -1
- package/dist/Jackpots/GetJackpotsPotsResponse.d.ts +2 -2
- package/dist/Jackpots/GetJackpotsRequest.d.ts +1 -1
- package/dist/Jackpots/GetJackpotsResponse.d.ts +2 -2
- package/dist/Jackpots/JackpotDetails.d.ts +6 -6
- package/dist/Jackpots/JackpotWinPush.d.ts +3 -3
- package/dist/Jackpots/JackpotsOptinRequest.d.ts +1 -1
- package/dist/Jackpots/JackpotsOptinResponse.d.ts +1 -1
- package/dist/Jackpots/JackpotsOptoutRequest.d.ts +1 -1
- package/dist/Jackpots/JackpotsOptoutResponse.d.ts +1 -1
- package/dist/Leaderboard/GetLeaderBoardsRequest.d.ts +2 -2
- package/dist/Leaderboard/GetLeaderBoardsResponse.d.ts +2 -2
- package/dist/Leaderboard/LeaderBoardDetails.d.ts +3 -3
- package/dist/Leaderboard/LeaderBoards.d.ts +2 -2
- package/dist/Leaderboard/index.d.ts +6 -6
- package/dist/Level/GetLevelMapResponse.d.ts +3 -3
- package/dist/Level/Level.d.ts +1 -1
- package/dist/MiniGames/SAWAcknowledgeSpinPushRequest.d.ts +1 -1
- package/dist/MiniGames/SAWDoAknowledgeRequest.d.ts +1 -1
- package/dist/MiniGames/SAWDoAknowledgeResponse.d.ts +1 -1
- package/dist/MiniGames/SAWDoSpinRequest.d.ts +1 -1
- package/dist/MiniGames/SAWDoSpinResponse.d.ts +2 -2
- package/dist/MiniGames/SAWEventSawPush.d.ts +1 -1
- package/dist/MiniGames/SAWGetTemplatesRequest.d.ts +1 -1
- package/dist/MiniGames/SAWGetTemplatesResponse.d.ts +3 -3
- package/dist/MiniGames/SAWPrize.d.ts +2 -2
- package/dist/MiniGames/SAWPrizeDropAknowledgeRequest.d.ts +3 -1
- package/dist/MiniGames/SAWPrizeDropAknowledgeResponse.d.ts +1 -1
- package/dist/MiniGames/SAWPrizeDropWinPush.d.ts +4 -3
- package/dist/MiniGames/SAWPrizeUI.d.ts +2 -2
- package/dist/MiniGames/SAWSpinsCountPush.d.ts +1 -1
- package/dist/MiniGames/SAWTemplate.d.ts +4 -4
- package/dist/MiniGames/SAWTemplateUI.d.ts +1 -1
- package/dist/MiniGames/SAWUtils.d.ts +1 -1
- package/dist/MiniGames/index.d.ts +24 -22
- package/dist/Missions/AchClaimPrizeRequest.d.ts +1 -1
- package/dist/Missions/AchClaimPrizeResponse.d.ts +1 -1
- package/dist/Missions/AchievementCategory.d.ts +2 -2
- package/dist/Missions/AchievementOptinRequest.d.ts +1 -1
- package/dist/Missions/AchievementOptinResponse.d.ts +1 -1
- package/dist/Missions/GetAchCategoriesRequest.d.ts +1 -1
- package/dist/Missions/GetAchCategoriesResponse.d.ts +2 -2
- package/dist/Missions/GetAchievementMapRequest.d.ts +1 -1
- package/dist/Missions/GetAchievementMapResponse.d.ts +2 -2
- package/dist/Missions/GetRelatedAchTourRequest.d.ts +1 -1
- package/dist/Missions/GetRelatedAchTourResponse.d.ts +3 -3
- package/dist/Missions/ReloadAchievementsEvent.d.ts +2 -2
- package/dist/Missions/UserAchievement.d.ts +7 -7
- package/dist/Missions/UserAchievementTask.d.ts +2 -2
- package/dist/Missions/index.d.ts +13 -13
- package/dist/Quiz/MarketsInfo.d.ts +2 -2
- package/dist/Quiz/MarketsPerSport.d.ts +1 -1
- package/dist/SmarticoAPI.d.ts +8 -8
- package/dist/SmarticoLib/index.d.ts +39 -39
- package/dist/Store/BuyStoreItemRequest.d.ts +1 -1
- package/dist/Store/BuyStoreItemResponse.d.ts +1 -1
- package/dist/Store/GetCategoriesStoreResponse.d.ts +2 -2
- package/dist/Store/GetStoreHistoryRequest.d.ts +1 -1
- package/dist/Store/GetStoreHistoryResponse.d.ts +2 -2
- package/dist/Store/GetStoreItemsResponse.d.ts +2 -2
- package/dist/Store/StoreCategory.d.ts +2 -2
- package/dist/Store/StoreItem.d.ts +3 -3
- package/dist/Store/StoreItemPurchased.d.ts +2 -2
- package/dist/Store/index.d.ts +10 -10
- package/dist/Tournaments/GetTournamentInfoRequest.d.ts +1 -1
- package/dist/Tournaments/GetTournamentInfoResponse.d.ts +5 -5
- package/dist/Tournaments/GetTournamentsRequest.d.ts +1 -1
- package/dist/Tournaments/GetTournamentsResponse.d.ts +2 -2
- package/dist/Tournaments/Tournament.d.ts +8 -8
- package/dist/Tournaments/TournamentPrize.d.ts +1 -1
- package/dist/Tournaments/TournamentRegisterRequest.d.ts +1 -1
- package/dist/Tournaments/TournamentRegisterResponse.d.ts +2 -2
- package/dist/Tournaments/TournamentUtils.d.ts +3 -3
- package/dist/Tournaments/index.d.ts +16 -16
- package/dist/WSAPI/WSAPI.d.ts +65 -65
- package/dist/WSAPI/WSAPITypes.d.ts +18 -18
- package/dist/index.js +76 -78
- package/dist/index.js.map +1 -1
- package/dist/index.modern.mjs +103 -103
- package/dist/index.modern.mjs.map +1 -1
- package/package.json +1 -1
- package/src/Base/AchRelatedGame.ts +13 -13
- package/src/Base/ClassId.ts +118 -121
- package/src/Base/ProtocolMessage.ts +6 -7
- package/src/Base/ProtocolRequest.ts +4 -5
- package/src/Base/ProtocolResponse.ts +3 -5
- package/src/CookieStore.ts +10 -11
- package/src/Core/ActivityTypeLimited.ts +17 -18
- package/src/Core/CheckSegmentMatchRequest.ts +2 -3
- package/src/Core/CheckSegmentMatchResponse.ts +6 -6
- package/src/Core/CoreUtils.ts +37 -39
- package/src/Core/GetAchievementsUserInfoRequest.ts +2 -4
- package/src/Core/GetAchievementsUserInfoResponse.ts +4 -4
- package/src/Core/GetLabelInfoRequest.ts +2 -4
- package/src/Core/GetLabelInfoResponse.ts +4 -4
- package/src/Core/GetTranslationsRequest.ts +5 -7
- package/src/Core/GetTranslationsResponse.ts +3 -5
- package/src/Core/PublicLabelSettings.ts +29 -30
- package/src/Core/PublicProperties.ts +7 -7
- package/src/Core/ResponseIdentify.ts +12 -12
- package/src/Core/TranslationArea.ts +8 -9
- package/src/Core/index.ts +1 -1
- package/src/CustomSections/AchCustomSection.ts +20 -20
- package/src/CustomSections/GetCustomSectionsRequest.ts +2 -4
- package/src/CustomSections/GetCustomSectionsResponse.ts +4 -5
- package/src/CustomSections/UICustomSection.ts +30 -29
- package/src/CustomSections/index.ts +4 -4
- package/src/ErrorCodes.ts +11 -12
- package/src/GResponse.ts +5 -5
- package/src/ILogger.ts +6 -10
- package/src/Inbox/GetInboxMessagesRequest.ts +4 -5
- package/src/Inbox/GetInboxMessagesResponse.ts +15 -17
- package/src/Inbox/InboxMessage.ts +31 -33
- package/src/Inbox/InboxMessageType.ts +9 -9
- package/src/Inbox/MarkInboxMessageDeletedRequest.ts +3 -3
- package/src/Inbox/MarkInboxMessageDeletedResponse.ts +3 -3
- package/src/Inbox/MarkInboxMessageReadRequest.ts +4 -5
- package/src/Inbox/MarkInboxMessageReadResponse.ts +4 -5
- package/src/Inbox/MarkInboxMessageStarredRequest.ts +4 -5
- package/src/Inbox/MarkInboxMessageStarredResponse.ts +4 -5
- package/src/Inbox/index.ts +10 -10
- package/src/IntUtils.ts +72 -85
- package/src/Jackpots/GetJackpotsPotsRequest.ts +3 -3
- package/src/Jackpots/GetJackpotsPotsResponse.ts +3 -5
- package/src/Jackpots/GetJackpotsRequest.ts +4 -6
- package/src/Jackpots/GetJackpotsResponse.ts +5 -7
- package/src/Jackpots/JackPotWinner.ts +11 -12
- package/src/Jackpots/JackpotContributionType.ts +3 -4
- package/src/Jackpots/JackpotDetails.ts +31 -31
- package/src/Jackpots/JackpotHtmlTemplate.ts +3 -3
- package/src/Jackpots/JackpotPot.ts +11 -12
- package/src/Jackpots/JackpotPublicMeta.ts +16 -16
- package/src/Jackpots/JackpotType.ts +2 -5
- package/src/Jackpots/JackpotWinPush.ts +6 -6
- package/src/Jackpots/JackpotsOptinRequest.ts +3 -5
- package/src/Jackpots/JackpotsOptinResponse.ts +2 -4
- package/src/Jackpots/JackpotsOptoutRequest.ts +3 -5
- package/src/Jackpots/JackpotsOptoutResponse.ts +2 -4
- package/src/Jackpots/index.ts +16 -16
- package/src/Leaderboard/GetLeaderBoardsRequest.ts +8 -9
- package/src/Leaderboard/GetLeaderBoardsResponse.ts +4 -6
- package/src/Leaderboard/LeaderBoardDetails.ts +11 -12
- package/src/Leaderboard/LeaderBoardPeriodType.ts +3 -3
- package/src/Leaderboard/LeaderBoardPosition.ts +9 -10
- package/src/Leaderboard/LeaderBoardPublicMeta.ts +3 -4
- package/src/Leaderboard/LeaderBoards.ts +42 -42
- package/src/Leaderboard/index.ts +6 -6
- package/src/Level/GetLevelMapResponse.ts +18 -21
- package/src/Level/Level.ts +10 -11
- package/src/Level/LevelPublicMeta.ts +17 -17
- package/src/Level/index.ts +3 -3
- package/src/MiniGames/SAWAcknowledgeSpinPushRequest.ts +3 -4
- package/src/MiniGames/SAWAcknowledgeType.ts +3 -4
- package/src/MiniGames/SAWAskForUsername.ts +3 -4
- package/src/MiniGames/SAWBuyInType.ts +15 -13
- package/src/MiniGames/SAWDoAknowledgeRequest.ts +3 -3
- package/src/MiniGames/SAWDoAknowledgeResponse.ts +3 -3
- package/src/MiniGames/SAWDoSpinRequest.ts +3 -5
- package/src/MiniGames/SAWDoSpinResponse.ts +10 -11
- package/src/MiniGames/SAWEventSawPush.ts +3 -4
- package/src/MiniGames/SAWGameType.ts +23 -21
- package/src/MiniGames/SAWGetTemplatesRequest.ts +3 -3
- package/src/MiniGames/SAWGetTemplatesResponse.ts +53 -65
- package/src/MiniGames/SAWPrize.ts +11 -12
- package/src/MiniGames/SAWPrizeDropAknowledgeRequest.ts +5 -3
- package/src/MiniGames/SAWPrizeDropAknowledgeResponse.ts +3 -3
- package/src/MiniGames/SAWPrizeDropWinPush.ts +9 -8
- package/src/MiniGames/SAWPrizeType.ts +23 -22
- package/src/MiniGames/SAWPrizeUI.ts +17 -17
- package/src/MiniGames/SAWSpinErrorCode.ts +15 -16
- package/src/MiniGames/SAWSpinsCountPush.ts +4 -4
- package/src/MiniGames/SAWTemplate.ts +29 -29
- package/src/MiniGames/SAWTemplateUI.ts +45 -47
- package/src/MiniGames/SAWUtils.ts +23 -26
- package/src/MiniGames/SAWWinSoundType.ts +10 -11
- package/src/MiniGames/index.ts +24 -22
- package/src/Missions/AchCategoryPublicMeta.ts +2 -3
- package/src/Missions/AchClaimPrizeRequest.ts +4 -5
- package/src/Missions/AchClaimPrizeResponse.ts +3 -4
- package/src/Missions/AchievementCategory.ts +14 -15
- package/src/Missions/AchievementOptinRequest.ts +3 -5
- package/src/Missions/AchievementOptinResponse.ts +2 -4
- package/src/Missions/AchievementPublicMeta.ts +19 -20
- package/src/Missions/AchievementStatus.ts +7 -8
- package/src/Missions/AchievementTaskPublicMeta.ts +2 -3
- package/src/Missions/AchievementTaskType.ts +2 -2
- package/src/Missions/AchievementType.ts +2 -3
- package/src/Missions/GetAchCategoriesRequest.ts +2 -4
- package/src/Missions/GetAchCategoriesResponse.ts +4 -5
- package/src/Missions/GetAchievementMapRequest.ts +2 -4
- package/src/Missions/GetAchievementMapResponse.ts +3 -5
- package/src/Missions/GetRelatedAchTourRequest.ts +3 -4
- package/src/Missions/GetRelatedAchTourResponse.ts +5 -7
- package/src/Missions/ReloadAchievementsEvent.ts +5 -5
- package/src/Missions/ScheduledMissionType.ts +4 -5
- package/src/Missions/UserAchievement.ts +104 -108
- package/src/Missions/UserAchievementTask.ts +13 -15
- package/src/Missions/index.ts +19 -19
- package/src/NodeCache.ts +44 -49
- package/src/OCache.ts +51 -57
- package/src/Quiz/MarketsAnswers.ts +34 -34
- package/src/Quiz/MarketsInfo.ts +184 -177
- package/src/Quiz/MarketsPerSport.ts +30 -37
- package/src/Quiz/MarketsType.ts +28 -28
- package/src/Quiz/ScoreResultTypes.ts +18 -18
- package/src/Quiz/SportTypes.ts +4 -4
- package/src/Quiz/index.ts +6 -6
- package/src/SmarticoAPI.ts +769 -730
- package/src/SmarticoLib/index.ts +1053 -1069
- package/src/Store/BuyStoreItemErrorCode.ts +10 -10
- package/src/Store/BuyStoreItemRequest.ts +2 -2
- package/src/Store/BuyStoreItemResponse.ts +2 -3
- package/src/Store/GetCategoriesStoreResponse.ts +3 -8
- package/src/Store/GetStoreHistoryRequest.ts +3 -3
- package/src/Store/GetStoreHistoryResponse.ts +4 -4
- package/src/Store/GetStoreItemsResponse.ts +3 -4
- package/src/Store/StoreCategory.ts +14 -15
- package/src/Store/StoreCategoryPublicMeta.ts +2 -3
- package/src/Store/StoreItem.ts +32 -33
- package/src/Store/StoreItemPublicMeta.ts +10 -10
- package/src/Store/StoreItemPurchased.ts +40 -40
- package/src/Store/StoreItemType.ts +20 -19
- package/src/Store/index.ts +13 -13
- package/src/Tournaments/GetTournamentInfoRequest.ts +2 -3
- package/src/Tournaments/GetTournamentInfoResponse.ts +45 -48
- package/src/Tournaments/GetTournamentsRequest.ts +2 -4
- package/src/Tournaments/GetTournamentsResponse.ts +7 -14
- package/src/Tournaments/Tournament.ts +109 -115
- package/src/Tournaments/TournamentInstanceStatus.ts +17 -18
- package/src/Tournaments/TournamentPlayer.ts +7 -8
- package/src/Tournaments/TournamentPrize.ts +9 -10
- package/src/Tournaments/TournamentPublicMeta.ts +26 -26
- package/src/Tournaments/TournamentRegisterRequest.ts +2 -3
- package/src/Tournaments/TournamentRegisterResponse.ts +3 -7
- package/src/Tournaments/TournamentRegistrationError.ts +9 -9
- package/src/Tournaments/TournamentRegistrationStatus.ts +25 -27
- package/src/Tournaments/TournamentRegistrationType.ts +15 -16
- package/src/Tournaments/TournamentType.ts +3 -4
- package/src/Tournaments/TournamentUtils.ts +90 -89
- package/src/Tournaments/index.ts +16 -16
- package/src/WSAPI/WSAPI.ts +781 -763
- package/src/WSAPI/WSAPITypes.ts +574 -586
- package/src/index.ts +15 -15
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { ProtocolResponse } from
|
|
2
|
-
import { UserAchievement } from
|
|
3
|
-
|
|
1
|
+
import { ProtocolResponse } from '../Base/ProtocolResponse'
|
|
2
|
+
import { UserAchievement } from './UserAchievement'
|
|
4
3
|
|
|
5
4
|
export interface GetAchievementMapResponse extends ProtocolResponse {
|
|
6
|
-
|
|
7
|
-
achievements?: UserAchievement[];
|
|
5
|
+
achievements?: UserAchievement[]
|
|
8
6
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ProtocolMessage } from
|
|
1
|
+
import { ProtocolMessage } from '../Base/ProtocolMessage'
|
|
2
2
|
|
|
3
|
-
export interface
|
|
4
|
-
|
|
5
|
-
related_game_id?: string;
|
|
3
|
+
export interface GetRelatedAchTourRequest extends ProtocolMessage {
|
|
4
|
+
related_game_id?: string
|
|
6
5
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { ProtocolResponse } from
|
|
2
|
-
import { Tournament } from
|
|
3
|
-
import { UserAchievement } from
|
|
4
|
-
|
|
1
|
+
import { ProtocolResponse } from '../Base/ProtocolResponse'
|
|
2
|
+
import { Tournament } from '../Tournaments'
|
|
3
|
+
import { UserAchievement } from './UserAchievement'
|
|
5
4
|
|
|
6
5
|
export interface GetAchievementMapResponse extends ProtocolResponse {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
tournaments?: Tournament[];
|
|
6
|
+
achievements: UserAchievement[]
|
|
7
|
+
tournaments?: Tournament[]
|
|
10
8
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ProtocolResponse } from
|
|
2
|
-
import { UserAchievement } from
|
|
1
|
+
import { ProtocolResponse } from '../Base/ProtocolResponse'
|
|
2
|
+
import { UserAchievement } from './UserAchievement'
|
|
3
3
|
|
|
4
4
|
export interface ReloadAchievementsEvent extends ProtocolResponse {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
// !important, server will push here UserAchievement but public_meta of ach and tasks will be null
|
|
6
|
+
// we should use only fields that are reflecting updated progress and not meta data for mission/task
|
|
7
|
+
achievements: UserAchievement[]
|
|
8
8
|
}
|
|
@@ -1,116 +1,112 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { UserAchievementTask } from "./UserAchievementTask";
|
|
1
|
+
import { AchRelatedGame } from '../Base/AchRelatedGame'
|
|
2
|
+
import { IntUtils } from '../IntUtils'
|
|
3
|
+
import { TMissionOrBadge } from '../WSAPI/WSAPITypes'
|
|
4
|
+
import { AchievementPublicMeta } from './AchievementPublicMeta'
|
|
5
|
+
import { AchievementStatus } from './AchievementStatus'
|
|
6
|
+
import { AchievementTaskType } from './AchievementTaskType'
|
|
7
|
+
import { AchievementType } from './AchievementType'
|
|
8
|
+
import { ScheduledMissionType } from './ScheduledMissionType'
|
|
9
|
+
import { UserAchievementTask } from './UserAchievementTask'
|
|
11
10
|
|
|
12
11
|
export interface UserAchievement {
|
|
12
|
+
ach_id?: number
|
|
13
|
+
ach_type_id?: AchievementType
|
|
14
|
+
ach_public_meta?: AchievementPublicMeta
|
|
15
|
+
isCompleted?: boolean
|
|
16
|
+
isLocked?: boolean
|
|
17
|
+
requiresOptin?: boolean
|
|
18
|
+
isOptedIn?: boolean
|
|
19
|
+
start_date?: string // time when mission unlocked or opted-in. Needed to calculated "remaining time" in case time_limit_ms is set
|
|
20
|
+
start_date_ts?: number
|
|
21
|
+
time_limit_ms?: number
|
|
22
|
+
progress?: number
|
|
23
|
+
complete_date?: string
|
|
24
|
+
complete_date_ts?: number
|
|
25
|
+
unlock_date?: string
|
|
26
|
+
milliseconds_till_available?: number
|
|
27
|
+
completed_tasks?: number
|
|
28
|
+
achievementTasks?: UserAchievementTask[]
|
|
29
|
+
ach_status_id?: AchievementStatus
|
|
30
|
+
scheduledMissionType?: ScheduledMissionType
|
|
31
|
+
related_games?: AchRelatedGame[]
|
|
32
|
+
active_from_ts?: number // indicates when 'scheduled' mission is active from,
|
|
33
|
+
ach_categories?: number[]
|
|
13
34
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
isCompleted?: boolean;
|
|
18
|
-
isLocked?: boolean;
|
|
19
|
-
requiresOptin?: boolean;
|
|
20
|
-
isOptedIn?: boolean;
|
|
21
|
-
start_date?: string; // time when mission unlocked or opted-in. Needed to calculated "remaining time" in case time_limit_ms is set
|
|
22
|
-
start_date_ts?: number;
|
|
23
|
-
time_limit_ms?: number;
|
|
24
|
-
progress?: number;
|
|
25
|
-
complete_date?: string;
|
|
26
|
-
complete_date_ts?: number;
|
|
27
|
-
unlock_date?: string;
|
|
28
|
-
milliseconds_till_available?: number;
|
|
29
|
-
completed_tasks?: number;
|
|
30
|
-
achievementTasks?: UserAchievementTask[];
|
|
31
|
-
ach_status_id?: AchievementStatus;
|
|
32
|
-
scheduledMissionType?: ScheduledMissionType;
|
|
33
|
-
related_games?: AchRelatedGame[];
|
|
34
|
-
active_from_ts?: number; // indicates when 'scheduled' mission is active from,
|
|
35
|
-
ach_categories?: number[];
|
|
36
|
-
|
|
37
|
-
ach_completed_id?: number; // ID of the completion fact from ach_completed or ach_completed_recurring tables
|
|
38
|
-
requires_prize_claim?: boolean; // flag from achievement if the mission prize will be given only after user claims it
|
|
39
|
-
prize_claimed_date_ts?: number; // the date/timestamp indicating when the prize was claimed by the user
|
|
35
|
+
ach_completed_id?: number // ID of the completion fact from ach_completed or ach_completed_recurring tables
|
|
36
|
+
requires_prize_claim?: boolean // flag from achievement if the mission prize will be given only after user claims it
|
|
37
|
+
prize_claimed_date_ts?: number // the date/timestamp indicating when the prize was claimed by the user
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
completed_today?: boolean
|
|
40
|
+
completed_this_week?: boolean
|
|
41
|
+
completed_this_month?: boolean
|
|
42
|
+
custom_section_type_id?: number
|
|
45
43
|
}
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
|
|
49
45
|
export const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBadge[] => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const x: TMissionOrBadge = {
|
|
57
|
-
id: r.ach_id,
|
|
58
|
-
name: r.ach_public_meta.name,
|
|
59
|
-
description: r.ach_public_meta.description,
|
|
60
|
-
hint_text: r.ach_public_meta.hint_text,
|
|
61
|
-
unlock_mission_description: r.ach_public_meta.unlock_mission_description,
|
|
62
|
-
image: r.ach_public_meta.image_url,
|
|
63
|
-
is_completed: r.isCompleted,
|
|
64
|
-
is_locked: r.isLocked,
|
|
65
|
-
is_requires_optin: r.requiresOptin,
|
|
66
|
-
is_opted_in: r.isOptedIn,
|
|
67
|
-
time_limit_ms: r.time_limit_ms,
|
|
68
|
-
dt_start: r.start_date_ts,
|
|
69
|
-
reward: r.ach_public_meta.reward,
|
|
70
|
-
progress: r.progress,
|
|
71
|
-
type: r.ach_type_id === AchievementType.Mission ? 'mission' : 'badge',
|
|
72
|
-
cta_action: r.ach_public_meta.cta_action,
|
|
73
|
-
cta_text: r.ach_public_meta.cta_text,
|
|
74
|
-
custom_section_id: r.ach_public_meta.custom_section_id,
|
|
75
|
-
only_in_custom_section: r.ach_public_meta.only_in_custom_section,
|
|
76
|
-
custom_data: IntUtils.JsonOrText(r.ach_public_meta.custom_data),
|
|
77
|
-
position: r.ach_public_meta.position,
|
|
78
|
-
ribbon: r.ach_public_meta.label_tag === 'custom' ? r.ach_public_meta.custom_label_tag : r.ach_public_meta.label_tag,
|
|
79
|
-
tasks: (r.achievementTasks || [])
|
|
80
|
-
.filter( t => t.task_type_id === AchievementTaskType.CompleteAchievement)
|
|
81
|
-
.map( t => ({
|
|
82
|
-
id: t.task_id,
|
|
83
|
-
name: t.task_public_meta?.name,
|
|
84
|
-
points_reward: t.points_reward,
|
|
85
|
-
is_completed: t.isCompleted,
|
|
86
|
-
progress: t.userProgress,
|
|
87
|
-
execution_count_expected: t.executionCount,
|
|
88
|
-
execution_count_actual: t.userExecutedCount,
|
|
89
|
-
display_progress_as_count: t.task_public_meta.display_progress_as_count,
|
|
90
|
-
})),
|
|
91
|
-
related_games: (r.related_games || []).map(g => ({
|
|
92
|
-
ext_game_id: g.ext_game_id,
|
|
93
|
-
game_public_meta: {
|
|
94
|
-
name: g.game_public_meta.name,
|
|
95
|
-
link: g.game_public_meta.link,
|
|
96
|
-
image: g.game_public_meta.image,
|
|
97
|
-
enabled: g.game_public_meta.enabled,
|
|
98
|
-
game_categories: g.game_public_meta.game_categories,
|
|
99
|
-
game_provider: g.game_public_meta.game_provider,
|
|
100
|
-
},
|
|
101
|
-
})),
|
|
102
|
-
category_ids: r.ach_categories ?? [],
|
|
103
|
-
ach_completed_id: r.ach_completed_id,
|
|
104
|
-
requires_prize_claim: r.requires_prize_claim,
|
|
105
|
-
prize_claimed_date_ts: r.prize_claimed_date_ts,
|
|
106
|
-
complete_date: r.complete_date,
|
|
107
|
-
complete_date_ts: r.complete_date_ts,
|
|
108
|
-
completed_today: completedToday,
|
|
109
|
-
completed_this_week: completedThisWeek,
|
|
110
|
-
completed_this_month: completedThisMonth,
|
|
111
|
-
custom_section_type_id: r.ach_public_meta.custom_section_type_id,
|
|
112
|
-
}
|
|
113
|
-
return x;
|
|
114
|
-
});
|
|
115
|
-
}
|
|
46
|
+
return items
|
|
47
|
+
.filter((r) => r.ach_id >= 1)
|
|
48
|
+
.map((r) => {
|
|
49
|
+
const completedToday = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'today') : false
|
|
50
|
+
const completedThisWeek = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisWeek') : false
|
|
51
|
+
const completedThisMonth = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisMonth') : false
|
|
116
52
|
|
|
53
|
+
const x: TMissionOrBadge = {
|
|
54
|
+
id: r.ach_id,
|
|
55
|
+
name: r.ach_public_meta.name,
|
|
56
|
+
description: r.ach_public_meta.description,
|
|
57
|
+
hint_text: r.ach_public_meta.hint_text,
|
|
58
|
+
unlock_mission_description: r.ach_public_meta.unlock_mission_description,
|
|
59
|
+
image: r.ach_public_meta.image_url,
|
|
60
|
+
is_completed: r.isCompleted,
|
|
61
|
+
is_locked: r.isLocked,
|
|
62
|
+
is_requires_optin: r.requiresOptin,
|
|
63
|
+
is_opted_in: r.isOptedIn,
|
|
64
|
+
time_limit_ms: r.time_limit_ms,
|
|
65
|
+
dt_start: r.start_date_ts,
|
|
66
|
+
reward: r.ach_public_meta.reward,
|
|
67
|
+
progress: r.progress,
|
|
68
|
+
type: r.ach_type_id === AchievementType.Mission ? 'mission' : 'badge',
|
|
69
|
+
cta_action: r.ach_public_meta.cta_action,
|
|
70
|
+
cta_text: r.ach_public_meta.cta_text,
|
|
71
|
+
custom_section_id: r.ach_public_meta.custom_section_id,
|
|
72
|
+
only_in_custom_section: r.ach_public_meta.only_in_custom_section,
|
|
73
|
+
custom_data: IntUtils.JsonOrText(r.ach_public_meta.custom_data),
|
|
74
|
+
position: r.ach_public_meta.position,
|
|
75
|
+
ribbon: r.ach_public_meta.label_tag === 'custom' ? r.ach_public_meta.custom_label_tag : r.ach_public_meta.label_tag,
|
|
76
|
+
tasks: (r.achievementTasks || [])
|
|
77
|
+
.filter((t) => t.task_type_id === AchievementTaskType.CompleteAchievement)
|
|
78
|
+
.map((t) => ({
|
|
79
|
+
id: t.task_id,
|
|
80
|
+
name: t.task_public_meta?.name,
|
|
81
|
+
points_reward: t.points_reward,
|
|
82
|
+
is_completed: t.isCompleted,
|
|
83
|
+
progress: t.userProgress,
|
|
84
|
+
execution_count_expected: t.executionCount,
|
|
85
|
+
execution_count_actual: t.userExecutedCount,
|
|
86
|
+
display_progress_as_count: t.task_public_meta.display_progress_as_count,
|
|
87
|
+
})),
|
|
88
|
+
related_games: (r.related_games || []).map((g) => ({
|
|
89
|
+
ext_game_id: g.ext_game_id,
|
|
90
|
+
game_public_meta: {
|
|
91
|
+
name: g.game_public_meta.name,
|
|
92
|
+
link: g.game_public_meta.link,
|
|
93
|
+
image: g.game_public_meta.image,
|
|
94
|
+
enabled: g.game_public_meta.enabled,
|
|
95
|
+
game_categories: g.game_public_meta.game_categories,
|
|
96
|
+
game_provider: g.game_public_meta.game_provider,
|
|
97
|
+
},
|
|
98
|
+
})),
|
|
99
|
+
category_ids: r.ach_categories ?? [],
|
|
100
|
+
ach_completed_id: r.ach_completed_id,
|
|
101
|
+
requires_prize_claim: r.requires_prize_claim,
|
|
102
|
+
prize_claimed_date_ts: r.prize_claimed_date_ts,
|
|
103
|
+
complete_date: r.complete_date,
|
|
104
|
+
complete_date_ts: r.complete_date_ts,
|
|
105
|
+
completed_today: completedToday,
|
|
106
|
+
completed_this_week: completedThisWeek,
|
|
107
|
+
completed_this_month: completedThisMonth,
|
|
108
|
+
custom_section_type_id: r.ach_public_meta.custom_section_type_id,
|
|
109
|
+
}
|
|
110
|
+
return x
|
|
111
|
+
})
|
|
112
|
+
}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { AchievementTaskPublicMeta } from
|
|
2
|
-
import { AchievementTaskType } from
|
|
1
|
+
import { AchievementTaskPublicMeta } from './AchievementTaskPublicMeta'
|
|
2
|
+
import { AchievementTaskType } from './AchievementTaskType'
|
|
3
3
|
|
|
4
4
|
export interface UserAchievementTask {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
unlocked_by_level_id?: number;
|
|
5
|
+
task_id?: number
|
|
6
|
+
task_public_meta?: AchievementTaskPublicMeta
|
|
7
|
+
points_reward?: number
|
|
8
|
+
task_type_id: AchievementTaskType
|
|
9
|
+
isCompleted?: boolean
|
|
10
|
+
userExecutedCount?: number // This is the number of times the user has executed 'activity' of the task. e.g. he bet 5 times out of 100. here will be 5
|
|
11
|
+
executionCount?: number // This is the total number of times the user needs to execute to complete task. e.g. he needs to bet 100 times. here will be 100
|
|
12
|
+
userProgress?: number
|
|
13
|
+
lastExecutionDate: string
|
|
14
|
+
unlocked_by_mission_id?: number
|
|
15
|
+
unlocked_by_level_id?: number
|
|
17
16
|
}
|
|
18
|
-
|
package/src/Missions/index.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
10
|
-
export * from
|
|
11
|
-
export * from
|
|
12
|
-
export * from
|
|
13
|
-
export * from
|
|
14
|
-
export * from './AchCategoryPublicMeta'
|
|
15
|
-
export * from './AchievementCategory'
|
|
16
|
-
export * from './GetAchCategoriesResponse'
|
|
17
|
-
export * from './GetAchCategoriesRequest'
|
|
18
|
-
export * from './AchClaimPrizeRequest'
|
|
19
|
-
export * from './AchClaimPrizeResponse'
|
|
1
|
+
export * from './AchievementOptinRequest'
|
|
2
|
+
export * from './AchievementOptinResponse'
|
|
3
|
+
export * from './AchievementPublicMeta'
|
|
4
|
+
export * from './AchievementStatus'
|
|
5
|
+
export * from './AchievementTaskPublicMeta'
|
|
6
|
+
export * from './AchievementTaskType'
|
|
7
|
+
export * from './AchievementType'
|
|
8
|
+
export * from './GetAchievementMapRequest'
|
|
9
|
+
export * from './GetAchievementMapResponse'
|
|
10
|
+
export * from './ReloadAchievementsEvent'
|
|
11
|
+
export * from './UserAchievement'
|
|
12
|
+
export * from './UserAchievementTask'
|
|
13
|
+
export * from './ScheduledMissionType'
|
|
14
|
+
export * from './AchCategoryPublicMeta'
|
|
15
|
+
export * from './AchievementCategory'
|
|
16
|
+
export * from './GetAchCategoriesResponse'
|
|
17
|
+
export * from './GetAchCategoriesRequest'
|
|
18
|
+
export * from './AchClaimPrizeRequest'
|
|
19
|
+
export * from './AchClaimPrizeResponse'
|
package/src/NodeCache.ts
CHANGED
|
@@ -1,52 +1,47 @@
|
|
|
1
|
-
|
|
2
1
|
class NodeCache {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
NodeCache.cache = {};
|
|
47
|
-
}
|
|
48
|
-
|
|
2
|
+
private static ttlChecker: NodeJS.Timeout
|
|
3
|
+
|
|
4
|
+
private static cache: { [key: string]: any } = {}
|
|
5
|
+
|
|
6
|
+
constructor() {
|
|
7
|
+
if (NodeCache.ttlChecker === undefined) {
|
|
8
|
+
NodeCache.ttlChecker = setInterval(() => {
|
|
9
|
+
const now = new Date().getTime()
|
|
10
|
+
for (const key in NodeCache.cache) {
|
|
11
|
+
if (NodeCache.cache.hasOwnProperty(key)) {
|
|
12
|
+
const o = NodeCache.cache[key]
|
|
13
|
+
if (o.ttl < now) {
|
|
14
|
+
delete NodeCache.cache[key]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}, 1000)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public get(key: string): any {
|
|
23
|
+
const o = NodeCache.cache[key]
|
|
24
|
+
if (o !== undefined && o.ttl > new Date().getTime()) {
|
|
25
|
+
return o.value
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public set(key: string, value: any, ttlSeconds: number = 60) {
|
|
30
|
+
NodeCache.cache[key] = {
|
|
31
|
+
value,
|
|
32
|
+
ttl: new Date().getTime() + ttlSeconds * 1000,
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public remove(key: string) {
|
|
37
|
+
if (NodeCache.cache.hasOwnProperty(key)) {
|
|
38
|
+
delete NodeCache.cache[key]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public flushAll() {
|
|
43
|
+
NodeCache.cache = {}
|
|
44
|
+
}
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
|
|
52
|
-
export { NodeCache }
|
|
47
|
+
export { NodeCache }
|
package/src/OCache.ts
CHANGED
|
@@ -1,82 +1,76 @@
|
|
|
1
|
-
import { NodeCache } from
|
|
1
|
+
import { NodeCache } from './NodeCache'
|
|
2
2
|
|
|
3
3
|
export enum ECacheContext {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Translations,
|
|
5
|
+
LabelInfo,
|
|
6
|
+
WSAPI,
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
const WITH_REF_CACHE = [
|
|
10
|
-
ECacheContext.Translations
|
|
11
|
-
];
|
|
9
|
+
const WITH_REF_CACHE = [ECacheContext.Translations]
|
|
12
10
|
|
|
13
11
|
export class OCache {
|
|
12
|
+
private static cache: { [key: string]: NodeCache } = {}
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
private static init(cacheContext: ECacheContext) {
|
|
15
|
+
if (this.cache[cacheContext] === undefined) {
|
|
16
|
+
this.cache[cacheContext] = new NodeCache()
|
|
17
|
+
}
|
|
18
|
+
}
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
this.cache[cacheContext] = new NodeCache();
|
|
20
|
-
}
|
|
21
|
-
}
|
|
20
|
+
public static get<T>(oKey: any, cacheContext: ECacheContext): T | undefined {
|
|
21
|
+
const key = cacheContext.toString() + '_' + JSON.stringify(oKey)
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
this.init(cacheContext)
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
return deepClone(this.cache[cacheContext].get(key))
|
|
26
|
+
}
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
public static set(oKey: any, o: any, cacheContext: ECacheContext, ttlSeconds: number = 60) {
|
|
29
|
+
const key = cacheContext.toString() + '_' + JSON.stringify(oKey)
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
+
this.init(cacheContext)
|
|
31
32
|
|
|
32
|
-
|
|
33
|
+
this.cache[cacheContext].set(key, deepClone(o), ttlSeconds)
|
|
34
|
+
}
|
|
33
35
|
|
|
34
|
-
|
|
36
|
+
public static async use<T>(oKey: any, cacheContext: ECacheContext, f: () => Promise<T>, ttlSeconds: number = 60) {
|
|
37
|
+
if (ttlSeconds <= 0) {
|
|
38
|
+
return await f()
|
|
39
|
+
} else {
|
|
40
|
+
let o: T = OCache.get(oKey, cacheContext)
|
|
35
41
|
|
|
36
|
-
|
|
42
|
+
if (o === undefined) {
|
|
43
|
+
o = await f()
|
|
44
|
+
OCache.set(oKey, o, cacheContext, ttlSeconds)
|
|
45
|
+
}
|
|
37
46
|
|
|
38
|
-
|
|
39
|
-
|
|
47
|
+
return o
|
|
48
|
+
}
|
|
49
|
+
}
|
|
40
50
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return await f();
|
|
44
|
-
} else {
|
|
45
|
-
let o: T = OCache.get(oKey, cacheContext);
|
|
51
|
+
public static async clear(cacheContext: ECacheContext, oKey: any) {
|
|
52
|
+
const key = cacheContext.toString() + '_' + JSON.stringify(oKey)
|
|
46
53
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return o;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
54
|
+
if (this.cache[cacheContext]) {
|
|
55
|
+
this.cache[cacheContext].remove(key)
|
|
56
|
+
}
|
|
57
|
+
}
|
|
55
58
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
public static async clearContext(cacheContext: ECacheContext) {
|
|
65
|
-
if (this.cache[cacheContext]) {
|
|
66
|
-
this.cache[cacheContext].flushAll();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
public static async clearAll() {
|
|
71
|
-
this.cache = {};
|
|
72
|
-
}
|
|
59
|
+
public static async clearContext(cacheContext: ECacheContext) {
|
|
60
|
+
if (this.cache[cacheContext]) {
|
|
61
|
+
this.cache[cacheContext].flushAll()
|
|
62
|
+
}
|
|
63
|
+
}
|
|
73
64
|
|
|
65
|
+
public static async clearAll() {
|
|
66
|
+
this.cache = {}
|
|
67
|
+
}
|
|
74
68
|
}
|
|
75
69
|
|
|
76
70
|
const deepClone = (o: any) => {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
71
|
+
if (o) {
|
|
72
|
+
return JSON.parse(JSON.stringify(o))
|
|
73
|
+
}
|
|
80
74
|
|
|
81
|
-
|
|
75
|
+
return o
|
|
82
76
|
}
|