@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.
Files changed (269) hide show
  1. package/.prettierrc +12 -0
  2. package/dist/Base/ProtocolRequest.d.ts +1 -1
  3. package/dist/Base/ProtocolResponse.d.ts +1 -1
  4. package/dist/Core/CheckSegmentMatchRequest.d.ts +1 -1
  5. package/dist/Core/CheckSegmentMatchResponse.d.ts +1 -1
  6. package/dist/Core/GetAchievementsUserInfoRequest.d.ts +1 -1
  7. package/dist/Core/GetAchievementsUserInfoResponse.d.ts +1 -1
  8. package/dist/Core/GetLabelInfoRequest.d.ts +1 -1
  9. package/dist/Core/GetLabelInfoResponse.d.ts +1 -1
  10. package/dist/Core/GetTranslationsRequest.d.ts +2 -2
  11. package/dist/Core/GetTranslationsResponse.d.ts +1 -1
  12. package/dist/Core/ResponseIdentify.d.ts +2 -2
  13. package/dist/CustomSections/GetCustomSectionsRequest.d.ts +1 -1
  14. package/dist/CustomSections/GetCustomSectionsResponse.d.ts +2 -2
  15. package/dist/CustomSections/UICustomSection.d.ts +2 -2
  16. package/dist/GResponse.d.ts +1 -1
  17. package/dist/Inbox/GetInboxMessagesRequest.d.ts +1 -1
  18. package/dist/Inbox/GetInboxMessagesResponse.d.ts +3 -3
  19. package/dist/Inbox/InboxMessage.d.ts +2 -2
  20. package/dist/Inbox/MarkInboxMessageDeletedRequest.d.ts +1 -1
  21. package/dist/Inbox/MarkInboxMessageDeletedResponse.d.ts +1 -1
  22. package/dist/Inbox/MarkInboxMessageReadRequest.d.ts +1 -1
  23. package/dist/Inbox/MarkInboxMessageReadResponse.d.ts +1 -1
  24. package/dist/Inbox/MarkInboxMessageStarredRequest.d.ts +1 -1
  25. package/dist/Inbox/MarkInboxMessageStarredResponse.d.ts +1 -1
  26. package/dist/Inbox/index.d.ts +8 -8
  27. package/dist/Jackpots/GetJackpotsPotsRequest.d.ts +1 -1
  28. package/dist/Jackpots/GetJackpotsPotsResponse.d.ts +2 -2
  29. package/dist/Jackpots/GetJackpotsRequest.d.ts +1 -1
  30. package/dist/Jackpots/GetJackpotsResponse.d.ts +2 -2
  31. package/dist/Jackpots/JackpotDetails.d.ts +6 -6
  32. package/dist/Jackpots/JackpotWinPush.d.ts +3 -3
  33. package/dist/Jackpots/JackpotsOptinRequest.d.ts +1 -1
  34. package/dist/Jackpots/JackpotsOptinResponse.d.ts +1 -1
  35. package/dist/Jackpots/JackpotsOptoutRequest.d.ts +1 -1
  36. package/dist/Jackpots/JackpotsOptoutResponse.d.ts +1 -1
  37. package/dist/Leaderboard/GetLeaderBoardsRequest.d.ts +2 -2
  38. package/dist/Leaderboard/GetLeaderBoardsResponse.d.ts +2 -2
  39. package/dist/Leaderboard/LeaderBoardDetails.d.ts +3 -3
  40. package/dist/Leaderboard/LeaderBoards.d.ts +2 -2
  41. package/dist/Leaderboard/index.d.ts +6 -6
  42. package/dist/Level/GetLevelMapResponse.d.ts +3 -3
  43. package/dist/Level/Level.d.ts +1 -1
  44. package/dist/MiniGames/SAWAcknowledgeSpinPushRequest.d.ts +1 -1
  45. package/dist/MiniGames/SAWDoAknowledgeRequest.d.ts +1 -1
  46. package/dist/MiniGames/SAWDoAknowledgeResponse.d.ts +1 -1
  47. package/dist/MiniGames/SAWDoSpinRequest.d.ts +1 -1
  48. package/dist/MiniGames/SAWDoSpinResponse.d.ts +2 -2
  49. package/dist/MiniGames/SAWEventSawPush.d.ts +1 -1
  50. package/dist/MiniGames/SAWGetTemplatesRequest.d.ts +1 -1
  51. package/dist/MiniGames/SAWGetTemplatesResponse.d.ts +3 -3
  52. package/dist/MiniGames/SAWPrize.d.ts +2 -2
  53. package/dist/MiniGames/SAWPrizeDropAknowledgeRequest.d.ts +3 -1
  54. package/dist/MiniGames/SAWPrizeDropAknowledgeResponse.d.ts +1 -1
  55. package/dist/MiniGames/SAWPrizeDropWinPush.d.ts +4 -3
  56. package/dist/MiniGames/SAWPrizeUI.d.ts +2 -2
  57. package/dist/MiniGames/SAWSpinsCountPush.d.ts +1 -1
  58. package/dist/MiniGames/SAWTemplate.d.ts +4 -4
  59. package/dist/MiniGames/SAWTemplateUI.d.ts +1 -1
  60. package/dist/MiniGames/SAWUtils.d.ts +1 -1
  61. package/dist/MiniGames/index.d.ts +24 -22
  62. package/dist/Missions/AchClaimPrizeRequest.d.ts +1 -1
  63. package/dist/Missions/AchClaimPrizeResponse.d.ts +1 -1
  64. package/dist/Missions/AchievementCategory.d.ts +2 -2
  65. package/dist/Missions/AchievementOptinRequest.d.ts +1 -1
  66. package/dist/Missions/AchievementOptinResponse.d.ts +1 -1
  67. package/dist/Missions/GetAchCategoriesRequest.d.ts +1 -1
  68. package/dist/Missions/GetAchCategoriesResponse.d.ts +2 -2
  69. package/dist/Missions/GetAchievementMapRequest.d.ts +1 -1
  70. package/dist/Missions/GetAchievementMapResponse.d.ts +2 -2
  71. package/dist/Missions/GetRelatedAchTourRequest.d.ts +1 -1
  72. package/dist/Missions/GetRelatedAchTourResponse.d.ts +3 -3
  73. package/dist/Missions/ReloadAchievementsEvent.d.ts +2 -2
  74. package/dist/Missions/UserAchievement.d.ts +7 -7
  75. package/dist/Missions/UserAchievementTask.d.ts +2 -2
  76. package/dist/Missions/index.d.ts +13 -13
  77. package/dist/Quiz/MarketsInfo.d.ts +2 -2
  78. package/dist/Quiz/MarketsPerSport.d.ts +1 -1
  79. package/dist/SmarticoAPI.d.ts +8 -8
  80. package/dist/SmarticoLib/index.d.ts +39 -39
  81. package/dist/Store/BuyStoreItemRequest.d.ts +1 -1
  82. package/dist/Store/BuyStoreItemResponse.d.ts +1 -1
  83. package/dist/Store/GetCategoriesStoreResponse.d.ts +2 -2
  84. package/dist/Store/GetStoreHistoryRequest.d.ts +1 -1
  85. package/dist/Store/GetStoreHistoryResponse.d.ts +2 -2
  86. package/dist/Store/GetStoreItemsResponse.d.ts +2 -2
  87. package/dist/Store/StoreCategory.d.ts +2 -2
  88. package/dist/Store/StoreItem.d.ts +3 -3
  89. package/dist/Store/StoreItemPurchased.d.ts +2 -2
  90. package/dist/Store/index.d.ts +10 -10
  91. package/dist/Tournaments/GetTournamentInfoRequest.d.ts +1 -1
  92. package/dist/Tournaments/GetTournamentInfoResponse.d.ts +5 -5
  93. package/dist/Tournaments/GetTournamentsRequest.d.ts +1 -1
  94. package/dist/Tournaments/GetTournamentsResponse.d.ts +2 -2
  95. package/dist/Tournaments/Tournament.d.ts +8 -8
  96. package/dist/Tournaments/TournamentPrize.d.ts +1 -1
  97. package/dist/Tournaments/TournamentRegisterRequest.d.ts +1 -1
  98. package/dist/Tournaments/TournamentRegisterResponse.d.ts +2 -2
  99. package/dist/Tournaments/TournamentUtils.d.ts +3 -3
  100. package/dist/Tournaments/index.d.ts +16 -16
  101. package/dist/WSAPI/WSAPI.d.ts +65 -65
  102. package/dist/WSAPI/WSAPITypes.d.ts +18 -18
  103. package/dist/index.js +76 -78
  104. package/dist/index.js.map +1 -1
  105. package/dist/index.modern.mjs +103 -103
  106. package/dist/index.modern.mjs.map +1 -1
  107. package/package.json +1 -1
  108. package/src/Base/AchRelatedGame.ts +13 -13
  109. package/src/Base/ClassId.ts +118 -121
  110. package/src/Base/ProtocolMessage.ts +6 -7
  111. package/src/Base/ProtocolRequest.ts +4 -5
  112. package/src/Base/ProtocolResponse.ts +3 -5
  113. package/src/CookieStore.ts +10 -11
  114. package/src/Core/ActivityTypeLimited.ts +17 -18
  115. package/src/Core/CheckSegmentMatchRequest.ts +2 -3
  116. package/src/Core/CheckSegmentMatchResponse.ts +6 -6
  117. package/src/Core/CoreUtils.ts +37 -39
  118. package/src/Core/GetAchievementsUserInfoRequest.ts +2 -4
  119. package/src/Core/GetAchievementsUserInfoResponse.ts +4 -4
  120. package/src/Core/GetLabelInfoRequest.ts +2 -4
  121. package/src/Core/GetLabelInfoResponse.ts +4 -4
  122. package/src/Core/GetTranslationsRequest.ts +5 -7
  123. package/src/Core/GetTranslationsResponse.ts +3 -5
  124. package/src/Core/PublicLabelSettings.ts +29 -30
  125. package/src/Core/PublicProperties.ts +7 -7
  126. package/src/Core/ResponseIdentify.ts +12 -12
  127. package/src/Core/TranslationArea.ts +8 -9
  128. package/src/Core/index.ts +1 -1
  129. package/src/CustomSections/AchCustomSection.ts +20 -20
  130. package/src/CustomSections/GetCustomSectionsRequest.ts +2 -4
  131. package/src/CustomSections/GetCustomSectionsResponse.ts +4 -5
  132. package/src/CustomSections/UICustomSection.ts +30 -29
  133. package/src/CustomSections/index.ts +4 -4
  134. package/src/ErrorCodes.ts +11 -12
  135. package/src/GResponse.ts +5 -5
  136. package/src/ILogger.ts +6 -10
  137. package/src/Inbox/GetInboxMessagesRequest.ts +4 -5
  138. package/src/Inbox/GetInboxMessagesResponse.ts +15 -17
  139. package/src/Inbox/InboxMessage.ts +31 -33
  140. package/src/Inbox/InboxMessageType.ts +9 -9
  141. package/src/Inbox/MarkInboxMessageDeletedRequest.ts +3 -3
  142. package/src/Inbox/MarkInboxMessageDeletedResponse.ts +3 -3
  143. package/src/Inbox/MarkInboxMessageReadRequest.ts +4 -5
  144. package/src/Inbox/MarkInboxMessageReadResponse.ts +4 -5
  145. package/src/Inbox/MarkInboxMessageStarredRequest.ts +4 -5
  146. package/src/Inbox/MarkInboxMessageStarredResponse.ts +4 -5
  147. package/src/Inbox/index.ts +10 -10
  148. package/src/IntUtils.ts +72 -85
  149. package/src/Jackpots/GetJackpotsPotsRequest.ts +3 -3
  150. package/src/Jackpots/GetJackpotsPotsResponse.ts +3 -5
  151. package/src/Jackpots/GetJackpotsRequest.ts +4 -6
  152. package/src/Jackpots/GetJackpotsResponse.ts +5 -7
  153. package/src/Jackpots/JackPotWinner.ts +11 -12
  154. package/src/Jackpots/JackpotContributionType.ts +3 -4
  155. package/src/Jackpots/JackpotDetails.ts +31 -31
  156. package/src/Jackpots/JackpotHtmlTemplate.ts +3 -3
  157. package/src/Jackpots/JackpotPot.ts +11 -12
  158. package/src/Jackpots/JackpotPublicMeta.ts +16 -16
  159. package/src/Jackpots/JackpotType.ts +2 -5
  160. package/src/Jackpots/JackpotWinPush.ts +6 -6
  161. package/src/Jackpots/JackpotsOptinRequest.ts +3 -5
  162. package/src/Jackpots/JackpotsOptinResponse.ts +2 -4
  163. package/src/Jackpots/JackpotsOptoutRequest.ts +3 -5
  164. package/src/Jackpots/JackpotsOptoutResponse.ts +2 -4
  165. package/src/Jackpots/index.ts +16 -16
  166. package/src/Leaderboard/GetLeaderBoardsRequest.ts +8 -9
  167. package/src/Leaderboard/GetLeaderBoardsResponse.ts +4 -6
  168. package/src/Leaderboard/LeaderBoardDetails.ts +11 -12
  169. package/src/Leaderboard/LeaderBoardPeriodType.ts +3 -3
  170. package/src/Leaderboard/LeaderBoardPosition.ts +9 -10
  171. package/src/Leaderboard/LeaderBoardPublicMeta.ts +3 -4
  172. package/src/Leaderboard/LeaderBoards.ts +42 -42
  173. package/src/Leaderboard/index.ts +6 -6
  174. package/src/Level/GetLevelMapResponse.ts +18 -21
  175. package/src/Level/Level.ts +10 -11
  176. package/src/Level/LevelPublicMeta.ts +17 -17
  177. package/src/Level/index.ts +3 -3
  178. package/src/MiniGames/SAWAcknowledgeSpinPushRequest.ts +3 -4
  179. package/src/MiniGames/SAWAcknowledgeType.ts +3 -4
  180. package/src/MiniGames/SAWAskForUsername.ts +3 -4
  181. package/src/MiniGames/SAWBuyInType.ts +15 -13
  182. package/src/MiniGames/SAWDoAknowledgeRequest.ts +3 -3
  183. package/src/MiniGames/SAWDoAknowledgeResponse.ts +3 -3
  184. package/src/MiniGames/SAWDoSpinRequest.ts +3 -5
  185. package/src/MiniGames/SAWDoSpinResponse.ts +10 -11
  186. package/src/MiniGames/SAWEventSawPush.ts +3 -4
  187. package/src/MiniGames/SAWGameType.ts +23 -21
  188. package/src/MiniGames/SAWGetTemplatesRequest.ts +3 -3
  189. package/src/MiniGames/SAWGetTemplatesResponse.ts +53 -65
  190. package/src/MiniGames/SAWPrize.ts +11 -12
  191. package/src/MiniGames/SAWPrizeDropAknowledgeRequest.ts +5 -3
  192. package/src/MiniGames/SAWPrizeDropAknowledgeResponse.ts +3 -3
  193. package/src/MiniGames/SAWPrizeDropWinPush.ts +9 -8
  194. package/src/MiniGames/SAWPrizeType.ts +23 -22
  195. package/src/MiniGames/SAWPrizeUI.ts +17 -17
  196. package/src/MiniGames/SAWSpinErrorCode.ts +15 -16
  197. package/src/MiniGames/SAWSpinsCountPush.ts +4 -4
  198. package/src/MiniGames/SAWTemplate.ts +29 -29
  199. package/src/MiniGames/SAWTemplateUI.ts +45 -47
  200. package/src/MiniGames/SAWUtils.ts +23 -26
  201. package/src/MiniGames/SAWWinSoundType.ts +10 -11
  202. package/src/MiniGames/index.ts +24 -22
  203. package/src/Missions/AchCategoryPublicMeta.ts +2 -3
  204. package/src/Missions/AchClaimPrizeRequest.ts +4 -5
  205. package/src/Missions/AchClaimPrizeResponse.ts +3 -4
  206. package/src/Missions/AchievementCategory.ts +14 -15
  207. package/src/Missions/AchievementOptinRequest.ts +3 -5
  208. package/src/Missions/AchievementOptinResponse.ts +2 -4
  209. package/src/Missions/AchievementPublicMeta.ts +19 -20
  210. package/src/Missions/AchievementStatus.ts +7 -8
  211. package/src/Missions/AchievementTaskPublicMeta.ts +2 -3
  212. package/src/Missions/AchievementTaskType.ts +2 -2
  213. package/src/Missions/AchievementType.ts +2 -3
  214. package/src/Missions/GetAchCategoriesRequest.ts +2 -4
  215. package/src/Missions/GetAchCategoriesResponse.ts +4 -5
  216. package/src/Missions/GetAchievementMapRequest.ts +2 -4
  217. package/src/Missions/GetAchievementMapResponse.ts +3 -5
  218. package/src/Missions/GetRelatedAchTourRequest.ts +3 -4
  219. package/src/Missions/GetRelatedAchTourResponse.ts +5 -7
  220. package/src/Missions/ReloadAchievementsEvent.ts +5 -5
  221. package/src/Missions/ScheduledMissionType.ts +4 -5
  222. package/src/Missions/UserAchievement.ts +104 -108
  223. package/src/Missions/UserAchievementTask.ts +13 -15
  224. package/src/Missions/index.ts +19 -19
  225. package/src/NodeCache.ts +44 -49
  226. package/src/OCache.ts +51 -57
  227. package/src/Quiz/MarketsAnswers.ts +34 -34
  228. package/src/Quiz/MarketsInfo.ts +184 -177
  229. package/src/Quiz/MarketsPerSport.ts +30 -37
  230. package/src/Quiz/MarketsType.ts +28 -28
  231. package/src/Quiz/ScoreResultTypes.ts +18 -18
  232. package/src/Quiz/SportTypes.ts +4 -4
  233. package/src/Quiz/index.ts +6 -6
  234. package/src/SmarticoAPI.ts +769 -730
  235. package/src/SmarticoLib/index.ts +1053 -1069
  236. package/src/Store/BuyStoreItemErrorCode.ts +10 -10
  237. package/src/Store/BuyStoreItemRequest.ts +2 -2
  238. package/src/Store/BuyStoreItemResponse.ts +2 -3
  239. package/src/Store/GetCategoriesStoreResponse.ts +3 -8
  240. package/src/Store/GetStoreHistoryRequest.ts +3 -3
  241. package/src/Store/GetStoreHistoryResponse.ts +4 -4
  242. package/src/Store/GetStoreItemsResponse.ts +3 -4
  243. package/src/Store/StoreCategory.ts +14 -15
  244. package/src/Store/StoreCategoryPublicMeta.ts +2 -3
  245. package/src/Store/StoreItem.ts +32 -33
  246. package/src/Store/StoreItemPublicMeta.ts +10 -10
  247. package/src/Store/StoreItemPurchased.ts +40 -40
  248. package/src/Store/StoreItemType.ts +20 -19
  249. package/src/Store/index.ts +13 -13
  250. package/src/Tournaments/GetTournamentInfoRequest.ts +2 -3
  251. package/src/Tournaments/GetTournamentInfoResponse.ts +45 -48
  252. package/src/Tournaments/GetTournamentsRequest.ts +2 -4
  253. package/src/Tournaments/GetTournamentsResponse.ts +7 -14
  254. package/src/Tournaments/Tournament.ts +109 -115
  255. package/src/Tournaments/TournamentInstanceStatus.ts +17 -18
  256. package/src/Tournaments/TournamentPlayer.ts +7 -8
  257. package/src/Tournaments/TournamentPrize.ts +9 -10
  258. package/src/Tournaments/TournamentPublicMeta.ts +26 -26
  259. package/src/Tournaments/TournamentRegisterRequest.ts +2 -3
  260. package/src/Tournaments/TournamentRegisterResponse.ts +3 -7
  261. package/src/Tournaments/TournamentRegistrationError.ts +9 -9
  262. package/src/Tournaments/TournamentRegistrationStatus.ts +25 -27
  263. package/src/Tournaments/TournamentRegistrationType.ts +15 -16
  264. package/src/Tournaments/TournamentType.ts +3 -4
  265. package/src/Tournaments/TournamentUtils.ts +90 -89
  266. package/src/Tournaments/index.ts +16 -16
  267. package/src/WSAPI/WSAPI.ts +781 -763
  268. package/src/WSAPI/WSAPITypes.ts +574 -586
  269. package/src/index.ts +15 -15
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.mjs","sources":["../src/Base/ClassId.ts","../src/IntUtils.ts","../src/MiniGames/SAWBuyInType.ts","../src/MiniGames/SAWUtils.ts","../src/MiniGames/SAWAcknowledgeType.ts","../src/MiniGames/SAWAskForUsername.ts","../src/MiniGames/SAWGameType.ts","../src/MiniGames/SAWPrizeType.ts","../src/MiniGames/SAWGetTemplatesResponse.ts","../src/MiniGames/SAWSpinErrorCode.ts","../src/MiniGames/SAWWinSoundType.ts","../src/NodeCache.ts","../src/OCache.ts","../src/Core/ActivityTypeLimited.ts","../src/Core/CoreUtils.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/GetInboxMessagesResponse.ts","../src/Inbox/InboxMessage.ts","../src/Inbox/InboxMessageType.ts","../src/Store/BuyStoreItemErrorCode.ts","../src/Store/StoreCategory.ts","../src/Store/StoreItemType.ts","../src/Store/StoreItem.ts","../src/Store/StoreItemPurchased.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.ts","../src/Missions/UserAchievement.ts","../src/Missions/ScheduledMissionType.ts","../src/Missions/AchievementCategory.ts","../src/Tournaments/TournamentRegistrationType.ts","../src/Tournaments/TournamentRegistrationStatus.ts","../src/Tournaments/Tournament.ts","../src/Tournaments/TournamentInstanceStatus.ts","../src/Tournaments/TournamentUtils.ts","../src/Tournaments/GetTournamentInfoResponse.ts","../src/Tournaments/TournamentRegistrationError.ts","../src/Tournaments/TournamentType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Level/GetLevelMapResponse.ts","../src/WSAPI/WSAPI.ts","../src/Leaderboard/LeaderBoards.ts","../src/CustomSections/AchCustomSection.ts","../src/CustomSections/UICustomSection.ts","../src/SmarticoAPI.ts","../src/CookieStore.ts","../src/Quiz/SportTypes.ts","../src/Quiz/MarketsType.ts","../src/Quiz/MarketsAnswers.ts","../src/Quiz/MarketsInfo.ts","../src/Quiz/MarketsPerSport.ts","../src/Jackpots/JackpotContributionType.ts","../src/Jackpots/JackpotType.ts"],"sourcesContent":["export enum ClassId {\n PING = 1,\n PONG = 2,\n\n\n INIT = 3,\n INIT_RESPONSE = 4,\n IDENTIFY = 5,\n IDENTIFY_RESPONSE = 6,\n LOGIN = 7,\n LOGOUT = 8,\n EVENT = 9,\n EVENT_RESPONSE = 10,\n\n LOGIN_RESPONSE = 11,\n LOGOUT_RESPONSE = 12,\n\n GET_TRANSLATIONS_REQUEST = 13,\n GET_TRANSLATIONS_RESPONSE = 14,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n CLIENT_ENGAGEMENT_IMPRESSION_REQUEST = 103,\n CLIENT_ENGAGEMENT_ACTION_REQUEST = 104,\n CLIENT_EXECUTE_DEEPLINK_EVENT = 105,\n CLIENT_ENGAGEMENT_FAILED_REQUEST = 106,\n CLIENT_EXECUTE_JS_EVENT = 107,\n CLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT = 108,\n CLIENT_ENGAGEMENT_EVENT_NEW = 110,\n\n CLIENT_TRACK_ACTIVITY_REQUEST = 155,\n CLIENT_SET_AVATAR_REQUEST = 157,\n CLIENT_SET_AVATAR_RESPONSE = 158,\n\n CLIENT_SET_CUSTOM_USERNAME_REQUEST = 159,\n CLIENT_SET_CUSTOM_USERNAME_RESPONSE = 160,\n\n CHECK_SEGMENT_MATCH_REQUEST = 161,\n CHECK_SEGMENT_MATCH_RESPONSE = 162,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n // 500-1000 - Achievements\n GET_LEVEL_MAP_REQUEST = 500,\n GET_LEVEL_MAP_RESPONSE = 501,\n GET_ACHIEVEMENT_MAP_REQUEST = 502,\n GET_ACHIEVEMENT_MAP_RESPONSE = 503,\n RELOAD_ACHIEVEMENTS_EVENT = 504,\n GET_LEADERS_BOARD_REQUEST = 505,\n GET_LEADERS_BOARD_RESPONSE = 506,\n GET_SHOP_ITEMS_REQUEST = 509,\n GET_SHOP_ITEMS_RESPONSE = 510,\n BUY_SHOP_ITEM_REQUEST = 511,\n BUY_SHOP_ITEM_RESPONSE = 512,\n GET_INBOX_MESSAGES_REQUEST = 513,\n GET_INBOX_MESSAGES_RESPONSE = 514,\n GET_SHOP_CATEGORIES_REQUEST = 515,\n GET_SHOP_CATEGORIES_RESPONSE = 516,\n GET_TOURNAMENT_LOBBY_REQUEST = 517,\n GET_TOURNAMENT_LOBBY_RESPONSE = 518,\n GET_TOURNAMENT_INFO_REQUEST = 519,\n GET_TOURNAMENT_INFO_RESPONSE = 520,\n TOURNAMENT_REGISTER_REQUEST = 521,\n TOURNAMENT_REGISTER_RESPONSE = 522,\n GET_CUSTOM_SECTIONS_REQUEST = 523,\n GET_CUSTOM_SECTIONS_RESPONSE = 524,\n MISSION_OPTIN_REQUEST = 525,\n MISSION_OPTIN_RESPONSE = 526,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n GET_ACHIEVEMENT_USER_REQUEST = 527,\n GET_ACHIEVEMENT_USER_RESPONSE = 528,\n\n MARK_INBOX_READ_REQUEST = 529,\n MARK_INBOX_READ_RESPONSE = 530,\n MARK_INBOX_STARRED_REQUEST = 531,\n MARK_INBOX_STARRED_RESPONSE = 532,\n MARK_INBOX_DELETED_REQUEST = 535,\n MARK_INBOX_DELETED_RESPONSE = 536,\n\n GET_ACH_CATEGORIES_REQUEST = 537,\n GET_ACH_CATEGORIES_RESPONSE = 538,\n\n ACHIEVEMENT_CLAIM_PRIZE_REQUEST = 539,\n ACHIEVEMENT_CLAIM_PRIZE_RESPONSE = 540,\n\n ACH_SHOP_ITEM_HISTORY_REQUEST = 541,\n ACH_SHOP_ITEM_HISTORY_RESPONSE = 542,\n\n GET_RELATED_ACH_N_TOURNAMENTS_REQUEST = 543,\n GET_RELATED_ACH_N_TOURNAMENTS_RESPONSE = 544,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n GET_BONUSES_REQUEST = 600,\n GET_BONUSES_RESPONSE = 601,\n CLAIM_BONUS_REQUEST = 602,\n CLAIM_BONUS_RESPONSE = 603,\n\n SAW_GET_SPINS_REQUEST = 700,\n SAW_GET_SPINS_RESPONSE = 701,\n SAW_DO_SPIN_REQUEST = 702,\n SAW_DO_SPIN_RESPONSE = 703,\n SAW_AKNOWLEDGE_REQUEST = 704,\n SAW_AKNOWLEDGE_RESPONSE = 705,\n SAW_SPINS_COUNT_PUSH = 706,\n SAW_SHOW_SPIN_PUSH = 707,\n SAW_PRIZE_DROP_WIN_PUSH = 708,\n SAW_PRIZE_DROP_WIN_AKNOWLEDGE_REQUEST = 709,\n SAW_PRIZE_DROP_WIN_AKNOWLEDGE_RESPONSE = 710,\n SAW_AKNOWLEDGE_SPIN_PUSH = 711,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n\n JP_GET_JACKPOTS_REQUEST = 800,\n JP_GET_JACKPOTS_RESPONSE = 801,\n\n JP_GET_LATEST_POTS_REQUEST = 802,\n JP_GET_LATEST_POTS_RESPONSE = 803,\n\n JP_OPTIN_REQUEST = 804,\n JP_OPTIN_RESPONSE = 805,\n\n JP_OPTOUT_REQUEST = 806,\n JP_OPTOUT_RESPONSE = 807,\n\n JP_WIN_PUSH = 808,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n REGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ = 1003,\n REGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP = 2003,\n\n CLIENT_DEBUG_REQUEST = 77777,\n\n \n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n UNSUPPORTED_COMMAND = 99999,\n}","\n\n\nclass IntUtils {\n\n public static uuid(): string {\n let a: any;\n let b: any;\n for (b = a = \"\"; a++ < 36; b += a * 51 & 52 ? (a ^ 15 ? 8 ^ Math.random() * (a ^ 20 ? 16 : 4) : 4).toString(16) : \"-\") {}\n return b;\n } \n\n public static isNotNull(val: any): boolean {\n return typeof val !== \"undefined\" && val !== null;\n } \n\n public static isNotEmpty(val: string): boolean {\n return typeof val !== \"undefined\" && val !== null && val.length > 0;\n } \n\n public static replaceAll(value: string, regex: string, replacement: string | number): string {\n if (IntUtils.isNotNull(value)) {\n return value.replace(new RegExp(IntUtils.escapeRegExp(regex), \"g\"), replacement?.toString());\n }\n return value;\n } \n\n public static escapeRegExp(v: string): string {\n if (IntUtils.isNotEmpty(v)) {\n return v.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n return v;\n }\n\n public static JsonOrText = (str: string): any => {\n if (str && str.includes && (str.includes('{') || str.includes('['))) {\n try {\n return JSON.parse(str)\n } catch (e) {\n return str;\n }\n }\n return str;\n }\n \n // public static wsTimeToEpoch = (time: string): number => {\n // if (time) {\n // return moment.utc(time, \"DD/MM/YYYY HH:mm:ss\").valueOf()\n // } else {\n // return null\n // }\n // }\n\n public static isWithinPeriod = (timestamp: number, period: 'today' | 'thisWeek' | 'thisMonth'): boolean => {\n const now = new Date();\n const completedDate = new Date(timestamp);\n\n switch(period) {\n case 'today':\n return (\n now.getFullYear() === completedDate.getFullYear() &&\n now.getMonth() === completedDate.getMonth() &&\n now.getDate() === completedDate.getDate()\n );\n case \"thisWeek\":\n const startOfWeek = new Date(now);\n startOfWeek.setDate(now.getDate() - now.getDay());\n startOfWeek.setHours(0, 0, 0, 0);\n\n const endOfWeek = new Date(startOfWeek);\n endOfWeek.setDate(startOfWeek.getDate() + 6);\n endOfWeek.setHours(23, 59, 59, 999);\n\n return completedDate >= startOfWeek && completedDate <= endOfWeek;\n case \"thisMonth\":\n return (\n now.getFullYear() === completedDate.getFullYear() &&\n now.getMonth() === completedDate.getMonth()\n );\n default:\n return false;\n }\n }\n}\n\n\n\nexport { IntUtils }","/** @hidden */\nexport enum SAWBuyInType {\n Free = 1,\n Points = 2,\n Spins = 3\n}\n\nexport enum SAWBuyInTypeName {\n Free = 'free',\n Points = 'points',\n Spins = 'spins',\n Unknown = 'unknown'\n}\n\n/** @hidden */\nexport const SAWBuyInTypeNamed = (type: SAWBuyInType): SAWBuyInTypeName => {\n return {\n [SAWBuyInType.Free]: SAWBuyInTypeName.Free,\n [SAWBuyInType.Points]: SAWBuyInTypeName.Points,\n [SAWBuyInType.Spins]: SAWBuyInTypeName.Spins\n }[type] || SAWBuyInTypeName.Unknown;\n}","import { SAWBuyInType } from \"./SAWBuyInType\";\nimport { SAWTemplate } from \"./SAWTemplate\";\n\n\nclass SAWUtils {\n\n public static canPlay = (t: SAWTemplate, pointsBalance: number): boolean => {\n if (t === null || t === undefined) {\n return false;\n }\n \n switch (t.saw_buyin_type_id) {\n case SAWBuyInType.Free: {\n return true;\n }\n case SAWBuyInType.Spins: {\n return t.spin_count !== null && t.spin_count > 0\n }\n case SAWBuyInType.Points: {\n return t.buyin_cost_points <= pointsBalance;\n }\n default: {\n console.error(\"MiniGamesUtils.canPlay: Unknwon SAW buyin type \" + t.saw_buyin_type_id);\n return false;\n }\n }\n }\n \n}\n\nexport { SAWUtils }","export enum SAWAcknowledgeType {\n\n Silent = 1,\n QuickMessage = 2,\n FullMessage = 3\n}\n","\nexport enum SAWAskForUsername {\n NOASK = \"no-ask\",\n ONSUMBIT = \"on-submit\"\n}","/** @hidden */\n\nexport enum SAWGameType {\n SpinAWheel = 1,\n ScratchCard = 2,\n MatchX = 3,\n GiftBox = 4,\n PrizeDrop = 5,\n Quiz = 6\n}\n\nexport enum SAWGameTypeName {\n SpinAWheel = \"wheel\",\n ScratchCard = \"scratch\",\n MatchX = \"matchx\",\n GiftBox = \"giftbox\",\n PrizeDrop = \"prizedrop\",\n Quiz = 'quiz',\n Unknown = \"unknown\"\n}\n\n/** @hidden */\nexport const SAWGameTypeNamed = (type: SAWGameType): SAWGameTypeName => {\n return {\n [SAWGameType.SpinAWheel]: SAWGameTypeName.SpinAWheel,\n [SAWGameType.ScratchCard]: SAWGameTypeName.ScratchCard,\n [SAWGameType.MatchX]: SAWGameTypeName.MatchX,\n [SAWGameType.GiftBox]: SAWGameTypeName.GiftBox,\n [SAWGameType.PrizeDrop]: SAWGameTypeName.PrizeDrop,\n [SAWGameType.Quiz]: SAWGameTypeName.Quiz\n }[type] || SAWGameTypeName.Unknown;\n}\n","/** @hidden */\nexport enum SAWPrizeType {\n\n NO_PRIZE = 1,\n POINTS = 2,\n BONUS = 3,\n MANUAL = 4,\n SPIN = 5,\n JACKPOT = 6\n}\n\nexport enum MiniGamePrizeTypeName {\n NO_PRIZE = 'no-prize',\n POINTS = 'points',\n BONUS = 'bonus',\n MANUAL = 'manual',\n SPIN = 'spin',\n JACKPOT = 'jackpot',\n UNKNOWN = \"unknown\"\n}\n\n/** @hidden */\nexport const MiniGamePrizeTypeNamed = (type: SAWPrizeType): MiniGamePrizeTypeName => {\n return {\n [SAWPrizeType.NO_PRIZE]: MiniGamePrizeTypeName.NO_PRIZE,\n [SAWPrizeType.POINTS]: MiniGamePrizeTypeName.POINTS,\n [SAWPrizeType.BONUS]: MiniGamePrizeTypeName.BONUS,\n [SAWPrizeType.MANUAL]: MiniGamePrizeTypeName.MANUAL,\n [SAWPrizeType.SPIN]: MiniGamePrizeTypeName.SPIN,\n [SAWPrizeType.JACKPOT]: MiniGamePrizeTypeName.JACKPOT, \n }[type] || MiniGamePrizeTypeName.UNKNOWN;\n}\n","import { IntUtils } from \"../IntUtils\";\nimport { TMiniGamePrize, TMiniGameTemplate } from \"../WSAPI/WSAPITypes\";\nimport { ProtocolResponse } from \"./../Base/ProtocolResponse\";\nimport { SAWBuyInTypeNamed } from \"./SAWBuyInType\";\nimport { SAWGameTypeNamed } from \"./SAWGameType\";\nimport { MiniGamePrizeTypeName, MiniGamePrizeTypeNamed } from \"./SAWPrizeType\";\nimport { SAWTemplate } from \"./SAWTemplate\";\nimport { SAWUtils } from \"./SAWUtils\";\n\n\nexport interface SAWGetTemplatesResponse extends ProtocolResponse {\n\n templates: SAWTemplate[];\n}\n\n\nexport const SAWTemplatesTransform = (items: SAWTemplate[]): TMiniGameTemplate[] => { \n \n \n return items.map( r => {\n\n const x: TMiniGameTemplate = {\n \n id: r.saw_template_id,\n name: r.saw_template_ui_definition.name,\n description: r.saw_template_ui_definition.description,\n thumbnail: \n r.saw_skin_ui_definition?.skin_folder\n ? r.saw_skin_ui_definition?.skin_folder + '/ico.png'\n : `https://libs.smartico.ai/gf/images/saw/${r.saw_skin_key}/ico.png`\n ,\n over_limit_message: r.saw_template_ui_definition.over_limit_message,\n no_attempts_message: r.saw_template_ui_definition.no_attempts_message,\n jackpot_symbol: r.saw_template_ui_definition.jackpot_symbol,\n saw_game_type: SAWGameTypeNamed(r.saw_game_type_id),\n saw_buyin_type: SAWBuyInTypeNamed(r.saw_buyin_type_id),\n buyin_cost_points: r.buyin_cost_points,\n jackpot_add_on_attempt: r.jackpot_add_on_attempt,\n jackpot_current: r.jackpot_current,\n spin_count: r.spin_count,\n promo_image: r.saw_template_ui_definition.promo_image,\n promo_text: r.saw_template_ui_definition.promo_text,\n custom_data: IntUtils.JsonOrText(r.saw_template_ui_definition.custom_data),\n expose_game_stat_on_api: r.expose_game_stat_on_api,\n\n next_available_spin_ts: r.next_available_spin_ts,\n\n prizes: r.prizes.map( p => {\n const y: TMiniGamePrize = {\n id: p.saw_prize_id,\n name: p.saw_prize_ui_definition.name,\n prize_type: MiniGamePrizeTypeNamed(p.prize_type_id),\n prize_value: p.prize_value,\n font_size: p.saw_prize_ui_definition.font_size,\n font_size_mobile: p.saw_prize_ui_definition.font_size_mobile,\n icon: p.saw_prize_ui_definition.icon,\n position: p.saw_prize_ui_definition.position,\n aknowledge_message: p.saw_prize_ui_definition.aknowledge_message,\n acknowledge_dp: p.saw_prize_ui_definition.acknowledge_dp,\n acknowledge_action_title: p.saw_prize_ui_definition.acknowledge_action_title,\n pool: p.pool,\n wins_count: p.wins_count,\n }\n return y;\n })\n };\n return x;\n });\n}\n\n","\n/*\n* Possible error codes for the mini-games attempts\n*/\nexport enum SAWSpinErrorCode {\n /** No error */\n SAW_OK = 0,\n /** User doesn't have 'spin attempts' to play. In case buy in type for the game is 'spins' based */\n SAW_NO_SPINS = 40001,\n /** The are no prizes left to play the game */\n SAW_PRIZE_POOL_EMPTY = 40002,\n /** User doesn't have enough points to play. In case buy in type for the game is 'points' based */\n SAW_NOT_ENOUGH_POINTS = 40003,\n /** User reached max number of game attempts defined in the BackOffice */\n SAW_FAILED_MAX_SPINS_REACHED = 40004,\n /** Special code for the 'visitor' mode */\n SAW_VISITOR_STOP_SPIN_REQUEST = -40001 \n}","export enum SAWWinSoundType {\n\n Disappointing = 1,\n Positive = 2,\n HighlyPositive = 3,\n NoSound = 4,\n Custom = 5,\n}\n\nexport const SAWWinSoundFiles = {\n [SAWWinSoundType.NoSound]: null,\n [SAWWinSoundType.Disappointing]: \"saw-disappointed.m4a\",\n [SAWWinSoundType.Positive]: \"saw-positive.m4a\",\n [SAWWinSoundType.HighlyPositive]: \"saw-highly-positive.m4a\",\n}","\nclass NodeCache {\n\n private static ttlChecker: NodeJS.Timeout;\n\n private static cache: { [key: string] : any } = {};\n\n constructor() {\n if (NodeCache.ttlChecker === undefined) {\n NodeCache.ttlChecker = setInterval(() => {\n const now = new Date().getTime();\n for (const key in NodeCache.cache) {\n if (NodeCache.cache.hasOwnProperty(key)) {\n const o = NodeCache.cache[key];\n if (o.ttl < now) {\n delete NodeCache.cache[key];\n }\n }\n }\n }, 1000);\n }\n }\n\n public get(key: string): any {\n const o = NodeCache.cache[key];\n if (o !== undefined && o.ttl > new Date().getTime()) {\n return o.value;\n }\n }\n\n public set(key: string, value: any, ttlSeconds: number = 60) {\n NodeCache.cache[key] = {\n value,\n ttl: new Date().getTime() + ttlSeconds * 1000\n }\n }\n\n public remove(key: string) {\n if (NodeCache.cache.hasOwnProperty(key)) { \n delete NodeCache.cache[key];\n\n }\n } \n\n public flushAll() {\n NodeCache.cache = {};\n }\n\n}\n\n\nexport { NodeCache }","import { NodeCache } from \"./NodeCache\";\n\nexport enum ECacheContext {\n Translations,\n LabelInfo,\n WSAPI,\n}\n\nconst WITH_REF_CACHE = [\n ECacheContext.Translations\n];\n\nexport class OCache {\n\n private static cache: { [key: string]: NodeCache } = {};\n\n private static init(cacheContext: ECacheContext) {\n if (this.cache[cacheContext] === undefined) {\n this.cache[cacheContext] = new NodeCache();\n }\n }\n\n public static get<T>(oKey: any, cacheContext: ECacheContext): T | undefined {\n\n const key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n this.init(cacheContext);\n\n return deepClone(this.cache[cacheContext].get(key));\n }\n\n public static set(oKey: any, o: any, cacheContext: ECacheContext, ttlSeconds: number = 60) {\n\n const key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n this.init(cacheContext);\n\n this.cache[cacheContext].set(key, deepClone(o), ttlSeconds);\n }\n\n public static async use<T>(oKey: any, cacheContext: ECacheContext, f: () => Promise<T>, ttlSeconds: number = 60) {\n if (ttlSeconds <= 0) {\n return await f();\n } else {\n let o: T = OCache.get(oKey, cacheContext);\n\n if (o === undefined) {\n o = await f();\n OCache.set(oKey, o, cacheContext, ttlSeconds);\n }\n \n return o;\n }\n }\n\n public static async clear(cacheContext: ECacheContext, oKey: any) {\n const key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n if (this.cache[cacheContext]) {\n this.cache[cacheContext].remove(key);\n }\n }\n\n public static async clearContext(cacheContext: ECacheContext) {\n if (this.cache[cacheContext]) {\n this.cache[cacheContext].flushAll();\n }\n }\n\n public static async clearAll() {\n this.cache = {};\n } \n\n}\n\nconst deepClone = (o: any) => {\n if (o) {\n return JSON.parse(JSON.stringify(o));\n }\n\n return o;\n}\n","export enum ActivityTypeLimited {\n\n DoNothing = 8,\n Points = 12,\n GiveMission = 14,\n StartAnotherCampaign = 15,\n MiniGameAttempt = 16,\n DeductPoints = 21,\n ResetPoints = 22,\n Popup = 30,\n Inbox = 31,\n Slack = 70,\n Email_To_Customer_Support = 80,\n Email_To_Risk_Operator = 90,\n Bonus = 100,\n WebHook = 200,\n TagCustomer = 504,\n UnTagCustomer = 505,\n}","\nclass CoreUtils {\n\n public static avatarUrl = (avatar_id: string, avatarDomain: string): string => {\n if (avatarDomain && avatar_id !== null && avatar_id !== undefined && !(avatar_id.startsWith && avatar_id.startsWith('http'))) {\n if (avatarDomain.endsWith('/')) {\n return avatarDomain.slice(0, -1) + '/avatar/' + avatar_id\n } else {\n return avatarDomain + '/avatar/' + avatar_id\n }\n } else {\n return avatar_id\n }\n }\n\n public static currencySymbol(currency: string) {\n return {\n [currency?.toUpperCase()]: currency?.toUpperCase(),\n USD: \"$\", // United States Dollar\n EUR: \"\\u20AC\", // Euro\n JPY: \"\\u00A5\", // Japanese Yen\n GBP: \"\\u00A3\", // British Pound Sterling\n AUD: \"A$\", // Australian Dollar\n CAD: \"C$\", // Canadian Dollar\n CHF: \"CHF\", // Swiss Franc\n CNY: \"\\u00A5\", // Chinese Yuan\n SEK: \"kr\", // Swedish Krona\n NZD: \"NZ$\", // New Zealand Dollar\n MXN: \"MX$\", // Mexican Peso\n SGD: \"S$\", // Singapore Dollar\n HKD: \"HK$\", // Hong Kong Dollar\n NOK: \"kr\", // Norwegian Krone\n KRW: \"\\u20A9\", // South Korean Won\n TRY: \"\\u20BA\", // Turkish Lira\n INR: \"\\u20B9\", // Indian Rupee\n RUB: \"\\u20BD\", // Russian Ruble\n BRL: \"R$\", // Brazilian Real\n ZAR: \"R\", // South African Rand\n }[currency?.toUpperCase()];\n }\n}\n\nexport { CoreUtils }","\nexport enum PublicLabelSettings {\n PUBLIC_API_URL = \"PUBLIC_API_URL\",\n RECORDING_ENABLED_FOR_ALL_USERS = \"RECORDING_ENABLED_FOR_ALL_USERS\",\n JS_INJECTION = \"JS_INJECTION\",\n GAMIFICATION_UI_MAIN = \"GAMIFICATION_UI_MAIN\",\n GAMIFICATION_UI_WIDGET = \"GAMIFICATION_UI_WIDGET\",\n GAMIFICATION_UI_MINI_GAME = \"GAMIFICATION_UI_MINI_GAME\",\n GAMIFICATION_UI_SETTINGS = \"GAMIFICATION_UI_SETTINGS\",\n GAMIFICATION_UI_MAIN_TEST = \"GAMIFICATION_UI_MAIN_TEST\",\n GAMIFICATION_UI_WIDGET_TEST = \"GAMIFICATION_UI_WIDGET_TEST\",\n GAMIFICATION_UI_SETTINGS_TEST = \"GAMIFICATION_UI_SETTINGS_TEST\",\n FRONT_END_ALLOWED_LANGUAGES = \"FRONT_END_ALLOWED_LANGUAGES\",\n FRONT_END_ALLOW_DOMAINS = \"FRONT_END_ALLOW_DOMAINS\",\n DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS = \"DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS\",\n SHADOW_LABEL_PUBLIC_KEY = \"SHADOW_LABEL_PUBLIC_KEY\",\n DYNAMIC_IMAGE_DOMAIN = \"DYNAMIC_IMAGE_DOMAIN\",\n \n GAMIFICATION_UI_LEVEL_ENABLED = \"GAMIFICATION_UI_LEVEL_ENABLED\",\n GAMIFICATION_UI_LEVEL_IMAGE_MOB = \"GAMIFICATION_UI_LEVEL_IMAGE_MOB\",\n GAMIFICATION_UI_LEVEL_IMAGE_DESK = \"GAMIFICATION_UI_LEVEL_IMAGE_DESK\",\n \n GAMIFICATION_LEVELS_LOGIC2 = \"GAMIFICATION_LEVELS_LOGIC2\",\n GAMIFICATION_LEVELS_LOGIC3 = \"GAMIFICATION_LEVELS_LOGIC2\",\n \n AVATAR_CUSTOM_IMAGE_MAX_ID = \"AVATAR_CUSTOM_IMAGE_MAX_ID\",\n AVATAR_CUSTOM_IMAGE_FOLDER = \"AVATAR_CUSTOM_IMAGE_FOLDER\",\n \n GAMIFICATION_SHOW_POWERED_BY = \"GAMIFICATION_SHOW_POWERED_BY\",\n _system_leader_board_mask_username = \"_system_leader_board_mask_username\",\n\n INBOX_PUBLIC_CDN = \"INBOX_PUBLIC_CDN\",\n}\n","enum TranslationArea {\n\n Casino = 1,\n Gamification = 2,\n Trading = 3,\n Archived = 4,\n Affiliation = 5,\n RetentionGames = 6,\n AffIliateAdminNew = 7\n}\n\nexport { TranslationArea };\n","import { TInboxMessage } from \"../WSAPI/WSAPITypes\";\nimport { ProtocolResponse } from \"../Base/ProtocolResponse\";\nimport { InboxMessage } from \"./InboxMessage\";\n\nexport interface GetInboxMessagesResponse extends ProtocolResponse {\n\n log: InboxMessage[];\n}\n\nexport const InboxMessagesTransform = ((items: InboxMessage[]): TInboxMessage[] => {\n\n return items.map(item => {\n const x: TInboxMessage = {\n sent_date: item.createDate,\n message_guid: item.engagement_uid,\n read: item.is_read,\n favorite: item.is_starred,\n }\n return x;\n });\n})\n","import { TInboxMessageBody } from \"../WSAPI/WSAPITypes\";\nimport { InboxMessageType } from \"./InboxMessageType\";\n\nexport interface InboxMessageBody {\n action: string;\n body: string;\n type: InboxMessageType;\n image: string;\n title: string;\n html_body: string; \n additional_buttons?: { inbox_cta_text: string, action: string }[];\n}\n\nexport interface InboxMessage {\n\n createDate: string;\n body: InboxMessageBody;\n engagement_uid: string;\n is_read: boolean;\n is_starred: boolean;\n is_deleted?: boolean;\n}\n\nexport const InboxMessageBodyTransform = (item: InboxMessageBody): TInboxMessageBody => {\n \n const x: TInboxMessageBody = {\n action: item.action,\n icon: item.image,\n title: item.title,\n preview_body: item.body,\n }\n\n if (item.action === 'dp:inbox') {\n if (item.additional_buttons && item.additional_buttons.length) {\n x.buttons = item.additional_buttons.map(b => ({\n action: b.action,\n text: b.inbox_cta_text\n }))\n }\n\n x.html_body = item?.html_body || null;\n }\n\n return x;\n}\n","export enum InboxMessageType {\n Custom = 0,\n MissionCompleted = 1,\n MissionUnlocked = 2,\n LeaderboardWon = 3,\n LevelChanged = 4,\n BonusGiven = 5,\n PointsAdded = 6,\n PointsUsed = 7,\n PersonalMessage = 8\n}\n\n// keep in sync with BO enum\n","export enum BuyStoreItemErrorCode {\n FAILED_TO_BUY_SHOP_ITEM = 121,\n SHOP_NO_BALANCE = 11000,\n SHOP_WRONG_LABEL = 11001,\n SHOP_FAILED_TO_BUY_BONUS = 11002, // remote product restriction\n SHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION = 11003, // when not visible but trying to buy. Shoudnt happen\n SHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION_PURSHASE = 11004, // when visible but not matching to purchase segment\n SHOP_FAILED_TO_BUY_MATCHING_BONUS = 11005,\n SHOP_FAILED_MAX_BOUGHT_ITEMS_REACHED = 11006,\n SHOP_FAILED_POOL_EMPTY = 11009,\n}","import { TStoreCategory } from \"../WSAPI/WSAPITypes\";\nimport { StoreCategoryPublicMeta } from \"./StoreCategoryPublicMeta\";\n\nexport interface StoreCategory {\n\n id?: number;\n publicMeta?: StoreCategoryPublicMeta;\n}\n\nexport const StoreCategoryTransform = (items: StoreCategory[]): TStoreCategory[] => { \n return items.map( r => {\n const x: TStoreCategory = {\n id: r.id,\n name: r.publicMeta?.name,\n order: r.publicMeta?.order\n }\n return x;\n })\n}","export enum StoreItemType {\n Bonus = 1,\n Tangible = 2,\n MiniGameSpin = 3,\n ChangeLevel = 4,\n PrizeDrop = 5,\n}\n\nexport enum StoreItemTypeName {\n Bonus = \"bonus\",\n Tangible = \"tangible\",\n MiniGameSpin = \"minigamespin\",\n ChangeLevel = \"changelevel\",\n PrizeDrop = \"prizedrop\",\n Unknown = \"unknown\"\n}\n\nexport const StoreItemTypeNamed = (type: StoreItemType): StoreItemTypeName => {\n return {\n [StoreItemType.Bonus]: StoreItemTypeName.Bonus,\n [StoreItemType.Tangible]: StoreItemTypeName.Bonus,\n [StoreItemType.MiniGameSpin]: StoreItemTypeName.MiniGameSpin,\n [StoreItemType.ChangeLevel]: StoreItemTypeName.ChangeLevel,\n [StoreItemType.PrizeDrop]: StoreItemTypeName.PrizeDrop,\n }[type] || StoreItemTypeName.Unknown;\n}\n\n","import { TStoreItem } from \"../WSAPI/WSAPITypes\";\nimport { StoreItemPublicMeta } from \"./StoreItemPublicMeta\";\nimport { StoreItemType, StoreItemTypeNamed } from \"./StoreItemType\";\n\nexport interface StoreItem {\n id: number;\n itemTypeId: StoreItemType;\n itemPublicMeta: StoreItemPublicMeta;\n categoryIds?: number[];\n canBuy?: boolean;\n shopPool: number;\n}\n\n\nexport const StoreItemTransform = (items: StoreItem[]): TStoreItem[] => { \n return items.filter( r => r.id >= 1).map( r => {\n const x: TStoreItem = \n {\n id: r.id,\n name: r.itemPublicMeta.name,\n price: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n image: r.itemPublicMeta.image_url,\n description: r.itemPublicMeta.description,\n ribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n limit_message: r.itemPublicMeta.limit_message,\n priority: r.itemPublicMeta.priority ?? 0,\n related_item_ids: r.itemPublicMeta.related_items,\n hint_text: r.itemPublicMeta.hint_text,\n type: StoreItemTypeNamed(r.itemTypeId),\n can_buy: r.canBuy,\n category_ids: r.categoryIds ?? [],\n pool: r.shopPool,\n }\n return x;\n });\n\n}","import { IntUtils } from \"../IntUtils\";\nimport { TStoreItem } from \"../WSAPI/WSAPITypes\";\nimport { StoreItem } from \"./StoreItem\";\nimport { StoreItemTypeNamed } from \"./StoreItemType\";\n\ninterface StoreItemPurchased extends StoreItem {\n purchase_ts: number;\n purchase_points_amount: number;\n purchased_today?: boolean;\n purchased_this_week?: boolean;\n purchased_this_month?: boolean;\n}\n\nexport const StoreItemPurchasedTransform = (items: StoreItemPurchased[]): TStoreItem[] => { \n return items.filter( r => r.id >= 1).map( r => {\n const purchasedToday = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'today') : false;\n const purchasedThisWeek = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisWeek') : false;\n const purchasedThisMonth = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisMonth') : false;\n\n const x: TStoreItem = \n {\n id: r.id,\n name: r.itemPublicMeta.name,\n price: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n image: r.itemPublicMeta.image_url,\n description: r.itemPublicMeta.description,\n ribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n limit_message: r.itemPublicMeta.limit_message,\n priority: r.itemPublicMeta.priority ?? 0,\n related_item_ids: r.itemPublicMeta.related_items,\n hint_text: r.itemPublicMeta.hint_text,\n type: StoreItemTypeNamed(r.itemTypeId),\n can_buy: r.canBuy,\n category_ids: r.categoryIds ?? [],\n pool: r.shopPool,\n purchase_ts: r.purchase_ts,\n purchase_points_amount: r.purchase_points_amount,\n purchased_today: purchasedToday,\n purchased_this_week: purchasedThisWeek,\n purchased_this_month: purchasedThisMonth,\n }\n\n return x;\n });\n\n}\n\nexport { StoreItemPurchased }","export enum AchievementStatus {\n\n Draft = 1,\n AvailableUnlocked = 2,\n AvailableLocked = 3,\n Archived = 4,\n FeaturedManually = 5,\n FeaturedAI = 6,\n Recurring = 7\n}\n","export enum AchievementTaskType {\n CompleteAchievement = 1,\n UnlockAchievement = 2\n}\n","export enum AchievementType {\n\n Mission = 1,\n Badge = 2\n}\n","\nimport { AchRelatedGame } from \"../Base/AchRelatedGame\";\nimport { IntUtils } from \"../IntUtils\";\nimport { TMissionOrBadge } from \"../WSAPI/WSAPITypes\";\nimport { AchievementPublicMeta } from \"./AchievementPublicMeta\";\nimport { AchievementStatus } from \"./AchievementStatus\";\nimport { AchievementTaskType } from \"./AchievementTaskType\";\nimport { AchievementType } from \"./AchievementType\";\nimport { ScheduledMissionType } from \"./ScheduledMissionType\";\nimport { UserAchievementTask } from \"./UserAchievementTask\";\n\nexport interface UserAchievement {\n\n ach_id?: number;\n ach_type_id?: AchievementType;\n ach_public_meta?: AchievementPublicMeta;\n isCompleted?: boolean;\n isLocked?: boolean;\n requiresOptin?: boolean;\n isOptedIn?: boolean;\n start_date?: string; // time when mission unlocked or opted-in. Needed to calculated \"remaining time\" in case time_limit_ms is set\n start_date_ts?: number; \n time_limit_ms?: number;\n progress?: number;\n complete_date?: string;\n complete_date_ts?: number;\n unlock_date?: string;\n milliseconds_till_available?: number;\n completed_tasks?: number;\n achievementTasks?: UserAchievementTask[];\n ach_status_id?: AchievementStatus;\n scheduledMissionType?: ScheduledMissionType;\n related_games?: AchRelatedGame[];\n active_from_ts?: number; // indicates when 'scheduled' mission is active from,\n ach_categories?: number[];\n\n ach_completed_id?: number; // ID of the completion fact from ach_completed or ach_completed_recurring tables\n requires_prize_claim?: boolean; // flag from achievement if the mission prize will be given only after user claims it\n prize_claimed_date_ts?: number; // the date/timestamp indicating when the prize was claimed by the user\n\n completed_today?: boolean;\n completed_this_week?: boolean;\n completed_this_month?: boolean;\n custom_section_type_id?: number;\n}\n\n\n\nexport const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBadge[] => {\n \n return items.filter( r => r.ach_id >= 1).map( r => {\n const completedToday = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'today') : false;\n const completedThisWeek = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisWeek') : false;\n const completedThisMonth = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisMonth') : false;\n\n const x: TMissionOrBadge = {\n id: r.ach_id,\n name: r.ach_public_meta.name,\n description: r.ach_public_meta.description,\n hint_text: r.ach_public_meta.hint_text,\n unlock_mission_description: r.ach_public_meta.unlock_mission_description,\n image: r.ach_public_meta.image_url,\n is_completed: r.isCompleted,\n is_locked: r.isLocked,\n is_requires_optin: r.requiresOptin,\n is_opted_in: r.isOptedIn,\n time_limit_ms: r.time_limit_ms,\n dt_start: r.start_date_ts,\n reward: r.ach_public_meta.reward,\n progress: r.progress,\n type: r.ach_type_id === AchievementType.Mission ? 'mission' : 'badge',\n cta_action: r.ach_public_meta.cta_action,\n cta_text: r.ach_public_meta.cta_text,\n custom_section_id: r.ach_public_meta.custom_section_id,\n only_in_custom_section: r.ach_public_meta.only_in_custom_section,\n custom_data: IntUtils.JsonOrText(r.ach_public_meta.custom_data),\n position: r.ach_public_meta.position,\n ribbon: r.ach_public_meta.label_tag === 'custom' ? r.ach_public_meta.custom_label_tag : r.ach_public_meta.label_tag,\n tasks: (r.achievementTasks || [])\n .filter( t => t.task_type_id === AchievementTaskType.CompleteAchievement)\n .map( t => ({\n id: t.task_id,\n name: t.task_public_meta?.name,\n points_reward: t.points_reward,\n is_completed: t.isCompleted,\n progress: t.userProgress,\n execution_count_expected: t.executionCount,\n execution_count_actual: t.userExecutedCount,\n display_progress_as_count: t.task_public_meta.display_progress_as_count,\n })),\n related_games: (r.related_games || []).map(g => ({\n ext_game_id: g.ext_game_id,\n game_public_meta: {\n name: g.game_public_meta.name,\n link: g.game_public_meta.link,\n image: g.game_public_meta.image,\n enabled: g.game_public_meta.enabled,\n game_categories: g.game_public_meta.game_categories,\n game_provider: g.game_public_meta.game_provider,\n },\n })),\n category_ids: r.ach_categories ?? [],\n ach_completed_id: r.ach_completed_id,\n requires_prize_claim: r.requires_prize_claim,\n prize_claimed_date_ts: r.prize_claimed_date_ts,\n complete_date: r.complete_date,\n complete_date_ts: r.complete_date_ts,\n completed_today: completedToday,\n completed_this_week: completedThisWeek,\n completed_this_month: completedThisMonth,\n custom_section_type_id: r.ach_public_meta.custom_section_type_id,\n }\n return x;\n});\n} \n\n","export enum ScheduledMissionType {\n\n Future = 1,\n Past = 2,\n Present = 3,\n}","import { TAchCategory } from \"../WSAPI/WSAPITypes\";\nimport { AchCategoryPublicMeta } from \"./AchCategoryPublicMeta\";\n\nexport interface AchCategory {\n\n id?: number;\n publicMeta?: AchCategoryPublicMeta;\n}\n\nexport const AchCategoryTransform = (items: AchCategory[]): TAchCategory[] => { \n return items.map( r => {\n const x: TAchCategory = {\n id: r.id,\n name: r.publicMeta?.name,\n order: r.publicMeta?.order\n }\n return x;\n })\n}","/** @hidden */\nexport enum TournamentRegistrationType {\n\n AUTO = 1,\n OPT_IN = 2,\n BUY_IN_POINTS = 3,\n MANUAL_APPROVAL = 4,\n REQUIRES_QUALIFICATION = 5\n // BUY_IN_CASH = 5???,\n}\n\nexport type TournamentRegistrationTypeName = 'AUTO' | 'OPT_IN' | 'BUY_IN_POINTS' | 'MANUAL_APPROVAL' | 'REQUIRES_QUALIFICATION' | 'UNKNOWN';\n\n/** @hidden */\nexport const TournamentRegistrationTypeGetName = (type: TournamentRegistrationType): TournamentRegistrationTypeName => {\n return ({\n [TournamentRegistrationType.AUTO]: 'AUTO',\n [TournamentRegistrationType.BUY_IN_POINTS]: 'BUY_IN_POINTS',\n [TournamentRegistrationType.MANUAL_APPROVAL]: 'MANUAL_APPROVAL',\n [TournamentRegistrationType.OPT_IN]: 'OPT_IN',\n [TournamentRegistrationType.REQUIRES_QUALIFICATION]: 'REQUIRES_QUALIFICATION',\n }[type] || 'UNKNOWN') as any as TournamentRegistrationTypeName;\n}","/** @hidden */\nexport enum TournamentRegistrationStatus {\n\n NOT_REGISTERED = 0,\n REGISTERED = 1,\n FINISHED = 2,\n PENDING = 3,\n CANCELLED = 4,\n REGISTERED_PENDING_QUALIFICATION = 5,\n QUALIFIED_PENDING_REGISTRATION = 6\n}\n\nexport enum TournamentRegistrationStatusName {\n NOT_REGISTERED = 'NOT_REGISTERED',\n REGISTERED = 'REGISTERED',\n FINISHED = 'FINISHED',\n PENDING = 'PENDING',\n CANCELLED = 'CANCELLED',\n REGISTERED_PENDING_QUALIFICATION = 'REGISTERED_PENDING_QUALIFICATION',\n QUALIFIED_PENDING_REGISTRATION = 'QUALIFIED_PENDING_REGISTRATION',\n UNKNOWN = \"UNKNOWN\"\n}\n\n/** @hidden */\nexport const TournamentRegistrationStatusNamed = (type: TournamentRegistrationStatus): TournamentRegistrationStatusName => {\n return ({\n [TournamentRegistrationStatus.CANCELLED]: TournamentRegistrationStatusName.CANCELLED,\n [TournamentRegistrationStatus.FINISHED]: TournamentRegistrationStatusName.FINISHED,\n [TournamentRegistrationStatus.NOT_REGISTERED]: TournamentRegistrationStatusName.NOT_REGISTERED,\n [TournamentRegistrationStatus.PENDING]: TournamentRegistrationStatusName.PENDING,\n [TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION]: TournamentRegistrationStatusName.QUALIFIED_PENDING_REGISTRATION,\n [TournamentRegistrationStatus.REGISTERED]: TournamentRegistrationStatusName.REGISTERED,\n [TournamentRegistrationStatus.REGISTERED_PENDING_QUALIFICATION]: TournamentRegistrationStatusName.REGISTERED_PENDING_QUALIFICATION\n }[type] || TournamentRegistrationStatusName.UNKNOWN) as TournamentRegistrationStatusName;\n} \n\n","import {TournamentRegistrationType, TournamentRegistrationTypeGetName} from \"./TournamentRegistrationType\";\nimport {TournamentInstanceStatus} from \"./TournamentInstanceStatus\";\nimport { TournamentRegistrationStatus, TournamentRegistrationStatusName, TournamentRegistrationStatusNamed } from \"./TournamentRegistrationStatus\";\nimport { TournamentType } from \"./TournamentType\";\nimport { TournamentPublicMeta } from \"./TournamentPublicMeta\";\nimport { TTournament } from \"../WSAPI/WSAPITypes\";\nimport { TournamentPlayer, TournamentPrize, TournamentUtils } from \".\";\nimport { IntUtils } from \"../IntUtils\";\nimport { AchRelatedGame } from \"../Base/AchRelatedGame\";\n\nexport interface Tournament {\n\n /** ID of tournament template */\n tournamentId?: number;\n /** ID of tournament instance. Generated every time when tournament based on specific template is scheduled for run */\n tournamentInstanceId?: number;\n /** Type of the tournament. For now only SCHEDULED is support */\n tournamentType?: TournamentType;\n /** Meta information about tournament that should be used to build UI */\n publicMeta?: TournamentPublicMeta;\n /** Cost of registration in the tournament in gamification points */\n buyInAmount?: number;\n /** Not in use */\n prizePool?: number;\n /** The time when tournament is going to start */\n startTime?: string;\n /** The time when tournament is going to finish */\n endTime?: string;\n /** The time when tournament is going to start, epoch */\n startTimeTs?: number;\n /** The time when tournament is going to finish, epoch */\n endTimeTs?: number; \n /** Number of users registered in the tournament */\n registrationCount?: number;\n /** Not in use */\n totalCount?: number;\n /** Type of registration in the tournament */\n registrationType?: TournamentRegistrationType;\n /** Status of registration in the tournament for current user */\n tournamentRegistrationStatus?: TournamentRegistrationStatus;\n /** Status of tournament instance */\n tournamentInstanceStatus?: TournamentInstanceStatus;\n /** flag indicating if current user is registered in the tournament */\n isUserRegistered?: boolean;\n /** Indicator if tournament allows later registration, when tournament is already started */\n allowLateRegistration?: boolean;\n /** Minimum number of participant for this tournament. If tournament doesnt have enough registrations, it will not start */\n playersMinCount?: number;\n /** Maximum number of participant for this tournament. When reached, new users won't be able to register */\n playersMaxCount?: number;\n /** Tournament duration in millisecnnds */\n durationMs?: number;\n /** prizes structure */\n prizeStructure?: {\n prizes: TournamentPrize[],\n }\n /** Information about current user */\n tournamentPlayer?: TournamentPlayer\n\n /** List of casino games (or other types of entities) related to the tournament */\n related_games?: AchRelatedGame[];\n}\n\n\nexport const TournamentItemsTransform = (items: Tournament[]): TTournament[] => { \n\n return items.filter(r => r.tournamentId >= 1).map(r => {\n const x: TTournament = {\n instance_id: r.tournamentInstanceId,\n tournament_id: r.tournamentId,\n name: r.publicMeta.name,\n description: r.publicMeta.description,\n segment_dont_match_message: r.publicMeta.segment_dont_match_message,\n image1: r.publicMeta.image_url,\n image2: r.publicMeta.image_url2,\n image2_mobile: r.publicMeta.image_url2_mobile,\n prize_pool_short: r.publicMeta.prize_pool_short,\n custom_price_text: r.publicMeta.custom_price_text,\n custom_section_id: r.publicMeta.custom_section_id,\n custom_data: IntUtils.JsonOrText(r.publicMeta.custom_data),\n is_featured: r.publicMeta.featured,\n ribbon: r.publicMeta.label_tag === 'custom' ? r.publicMeta.custom_label_tag : r.publicMeta.label_tag,\n priority: r.publicMeta.position,\n \n\n start_time: r.startTimeTs,\n end_time: r.endTimeTs,\n registration_count: r.registrationCount,\n is_user_registered: r.isUserRegistered,\n players_min_count: r.playersMinCount,\n players_max_count: r.playersMaxCount,\n registration_status: TournamentRegistrationStatusNamed(r.tournamentRegistrationStatus),\n\n registration_type: TournamentRegistrationTypeGetName(r.registrationType),\n registration_cost_points: r.buyInAmount,\n duration_ms: r.durationMs,\n\n is_active: TournamentUtils.isActive(r),\n is_can_register: TournamentUtils.isCanRegister(r),\n is_cancelled: TournamentUtils.isCancelled(r),\n is_finished: TournamentUtils.isFinished(r),\n is_in_progress: TournamentUtils.isInProgress(r),\n is_upcoming: TournamentUtils.isUpcoming(r),\n\n }\n\n if (r.prizeStructure) {\n x.prizes = r.prizeStructure.prizes.map(p => TournamentUtils.getPrizeTransformed(p));\n }\n\n if (r.tournamentPlayer) {\n x.me = TournamentUtils.getPlayerTransformed(r.tournamentPlayer, true)\n }\n\n return x;\n });\n\n\n}\n\n","export enum TournamentInstanceStatus {\n\n PUBLISHED = 1,\n REGISTER = 2,\n STARTED = 3,\n FINISHED = 4,\n CANCELLED = 5,\n FAILED = 6,\n FINALIZING = 7,\n}\n\nexport const TournamentInstanceStatusName = (s: TournamentInstanceStatus): string => {\n return {\n [TournamentInstanceStatus.PUBLISHED]: \"PUBLISHED\",\n [TournamentInstanceStatus.REGISTER]: \"REGISTER\",\n [TournamentInstanceStatus.STARTED]: \"STARTED\",\n [TournamentInstanceStatus.FINISHED]: \"FINISHED\",\n [TournamentInstanceStatus.CANCELLED]: \"CANCELLED\",\n [TournamentInstanceStatus.FAILED]: \"FAILED\",\n [TournamentInstanceStatus.FINALIZING]: \"FINALIZING\",\n }[s];\n};","import { ActivityTypeLimited } from \"../Core\";\nimport { Tournament } from \"./Tournament\";\nimport { TournamentInstanceStatus } from \"./TournamentInstanceStatus\";\nimport { TournamentPlayer } from \"./TournamentPlayer\";\nimport { TournamentPrize } from \"./TournamentPrize\";\nimport { TournamentRegistrationStatus } from \"./TournamentRegistrationStatus\";\nimport { TournamentRegistrationType } from \"./TournamentRegistrationType\";\n\nconst tournamentPrizeTypeToPrizeName = (type: ActivityTypeLimited) => {\n return {\n [ActivityTypeLimited.DoNothing]: 'TANGIBLE',\n [ActivityTypeLimited.Points]: 'POINTS_ADD',\n [ActivityTypeLimited.DeductPoints]: 'POINTS_DEDUCT',\n [ActivityTypeLimited.ResetPoints]: 'POINTS_RESET',\n [ActivityTypeLimited.MiniGameAttempt]: \"MINI_GAME_ATTEMPT\",\n [ActivityTypeLimited.Bonus]: 'BONUS',\n }[type]\n}\n\nexport class TournamentUtils {\n\n public static isCanRegister = (tournament: Tournament): boolean => {\n if (tournament) {\n if (tournament.tournamentRegistrationStatus === TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION) {\n return true;\n }\n return !tournament.isUserRegistered &&\n (tournament.playersMaxCount !== tournament.registrationCount || tournament.playersMaxCount === null || tournament.playersMaxCount === 0) &&\n tournament.registrationType !== TournamentRegistrationType.AUTO &&\n (\n tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n (tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED && tournament.allowLateRegistration)\n );\n }\n return false;\n }\n\n\n public static isInProgress = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED;\n }\n return false;\n }\n\n public static isActive = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED\n }\n return false;\n }\n\n public static isFinished = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.FINISHED\n || tournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED\n || tournament.tournamentInstanceStatus === TournamentInstanceStatus.FINALIZING;\n }\n return false;\n }\n\n public static isCancelled = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED;\n }\n return false;\n }\n\n public static isUpcoming = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED || tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER;\n }\n return false;\n }\n\n public static getPlayerTransformed = (player: TournamentPlayer, isMe?: boolean) => {\n if (player) {\n const playerTransformed = {\n public_username: player.userAltName,\n avatar_url: player.avatar_url,\n position: player.position,\n scores: player.scores,\n is_me: player.isMe,\n }\n \n if (isMe) {\n delete playerTransformed.is_me;\n }\n\n return playerTransformed;\n }\n\n return null;\n }\n\n public static getPrizeTransformed = (prize: TournamentPrize) => {\n if (prize) {\n return ({...prize, type: tournamentPrizeTypeToPrizeName(prize.type)})\n }\n\n return null;\n }\n\n}\n","import {Tournament, TournamentItemsTransform} from \"./Tournament\";\nimport {TournamentPlayer} from \"./TournamentPlayer\";\nimport { ProtocolResponse } from \"../Base/ProtocolResponse\";\nimport { TournamentPrize } from \"./TournamentPrize\";\nimport { TTournamentDetailed } from \"../WSAPI/WSAPITypes\";\nimport { TournamentUtils } from \"./TournamentUtils\";\n\nexport interface GetTournamentInfoResponse extends ProtocolResponse {\n\n /** tournament info */\n tournamentInfo: {\n /** id of label, not in use */\n labelId: number;\n tournamentLobbyInfo: Tournament;\n /** list of registered users */\n players: TournamentPlayer[];\n },\n /** information about current user position */\n userPosition: TournamentPlayer,\n /** prizes structure */\n prizeStructure?: {\n prizes: TournamentPrize[],\n }\n}\n\nexport const tournamentInfoItemTransform = (t: GetTournamentInfoResponse): TTournamentDetailed => {\n const response: TTournamentDetailed = {\n ...TournamentItemsTransform([t.tournamentInfo.tournamentLobbyInfo])[0],\n related_games: (t.tournamentInfo.tournamentLobbyInfo.related_games || []).map(g => ({\n ext_game_id: g.ext_game_id,\n game_public_meta: {\n name: g.game_public_meta.name,\n link: g.game_public_meta.link,\n image: g.game_public_meta.image,\n enabled: g.game_public_meta.enabled,\n game_categories: g.game_public_meta.game_categories,\n game_provider: g.game_public_meta.game_provider,\n },\n })),\n players: t.tournamentInfo.players.map( p => TournamentUtils.getPlayerTransformed(p)),\n };\n\n if (t.prizeStructure) {\n response.prizes = t.prizeStructure.prizes.map(p => TournamentUtils.getPrizeTransformed(p));\n }\n\n if (t.userPosition) {\n response.me = TournamentUtils.getPlayerTransformed(t.userPosition, true)\n }\n\n return response;\n}\n\n\n","export enum TournamentRegistrationError {\n NO_ERROR = 0,\n TOURNAMENT_INSTANCE_NOT_FOUND = 30001,\n TOURNAMENT_REGISTRATION_NOT_ENOUGH_POINTS = 30002,\n TOURNAMENT_INSTANCE_NOT_IN_STATE = 30003,\n TOURNAMENT_ALREADY_REGISTERED = 30004,\n TOURNAMENT_USER_DONT_MATCH_CONDITIONS = 30005,\n TOURNAMENT_USER_NOT_REGISTERED = 30006,\n TOURNAMENT_CANT_CHANGE_REGISTRATION_STATUS = 30007,\n TOURNAMENT_MAX_REGISTRATIONS_REACHED = 30008,\n}\n","export enum TournamentType {\n\n SCHEDULED = 1,\n SNG = 2,\n TEST = 3,\n}\n","export enum LeaderBoardPeriodType {\n DAILY = 1,\n WEEKLY = 2,\n MONTHLY = 3\n}\n","import { IntUtils } from \"../IntUtils\";\nimport { ProtocolResponse } from \"../Base/ProtocolResponse\";\nimport { TLevel } from \"../WSAPI/WSAPITypes\";\nimport { Level } from \"./Level\";\n\nexport interface GetLevelMapResponse extends ProtocolResponse {\n\n levels: Level[];\n}\n\n\nexport const GetLevelMapResponseTransform = (levels: GetLevelMapResponse): TLevel[] => {\n \n return levels?.levels.map((l => ({\n id: l.level_id,\n name: l.level_public_meta.name,\n description: l.level_public_meta.description,\n image: l.level_public_meta.image_url,\n required_points: l.required_points,\n visibility_points: l.level_public_meta.visibility_points ? parseInt(l.level_public_meta.visibility_points as any) : null,\n required_level_counter_1: l.required_level_counter_1,\n required_level_counter_2: l.required_level_counter_2,\n custom_data: IntUtils.JsonOrText(l.level_public_meta?.custom_data),\n })));\n}","import { ClassId } from \"../Base/ClassId\";\nimport { CoreUtils } from \"../Core\";\nimport { MiniGamePrizeTypeName, SAWDoSpinResponse, SAWSpinErrorCode, SAWSpinsCountPush } from \"../MiniGames\";\nimport { ECacheContext, OCache } from \"../OCache\";\nimport { SmarticoAPI } from \"../SmarticoAPI\";\nimport { InboxMarkMessageAction, LeaderBoardDetailsT, TAchCategory, TBuyStoreItemResult, TGetTranslations, TInboxMessage, TInboxMessageBody, TLevel, TMiniGamePlayResult, TMiniGameTemplate, TMissionClaimRewardResult, TMissionOptInResult, TMissionOrBadge, TSegmentCheckResult, TStoreCategory, TStoreItem, TTournament, TTournamentDetailed, TTournamentRegistrationResult, TUICustomSection, TUserProfile, UserLevelExtraCountersT } from \"./WSAPITypes\";\nimport { LeaderBoardPeriodType } from \"../Leaderboard\";\nimport { JackpotDetails, JackpotPot, JackpotWinPush, JackpotsOptinResponse, JackpotsOptoutRequest, JackpotsOptoutResponse } from \"../Jackpots\";\n \n/** @hidden */\nconst CACHE_DATA_SEC = 30;\n\nconst JACKPOT_TEMPLATE_CACHE_SEC = 30;\nconst JACKPOT_POT_CACHE_SEC = 1;\n\n /** @hidden */\nenum onUpdateContextKey {\n Saw = 'saw',\n Missions = 'missions',\n TournamentList = 'tournamentList',\n InboxMessages = 'inboxMessages',\n Badges = 'badges',\n Levels = 'levels',\n StoreItems = 'storeItems',\n StoreCategories = 'storeCategories',\n AchCategories = 'achCategories',\n LeaderBoards = 'leaderBoards',\n LevelExtraCounters = 'levelExtraCounters',\n Segments = 'segments',\n StoreHistory = 'storeHistory',\n Jackpots = 'jackpots',\n Pots = 'Pots',\n CustomSections = 'customSections'\n}\n\n\n/** @group General API */\nexport class WSAPI {\n\n private onUpdateCallback: Map<onUpdateContextKey, (data: any) => void> = new Map();\n private jackpotGetSignature: string = '';\n\n /** @private */\n constructor(private api: SmarticoAPI) {\n\n OCache.clearAll();\n if (this.api.tracker) {\n const on = this.api.tracker.on;\n on(ClassId.SAW_SPINS_COUNT_PUSH, (data: SAWSpinsCountPush) => this.updateOnSpin(data));\n on(ClassId.SAW_SHOW_SPIN_PUSH, () => this.updateOnAddSpin());\n on(ClassId.SAW_DO_SPIN_RESPONSE, (data: SAWDoSpinResponse) => on(ClassId.SAW_AKNOWLEDGE_RESPONSE, () => this.updateOnPrizeWin(data)));\n on(ClassId.MISSION_OPTIN_RESPONSE, () => this.updateMissionsOnOptIn());\n on(ClassId.TOURNAMENT_REGISTER_RESPONSE, () => this.updateTournamentsOnRegistration());\n on(ClassId.CLIENT_ENGAGEMENT_EVENT_NEW, () => this.updateInboxMessages());\n on(ClassId.LOGOUT_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n on(ClassId.IDENTIFY_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n on(ClassId.JP_WIN_PUSH, (data: JackpotWinPush) => this.jackpotClearCache());\n on(ClassId.JP_OPTOUT_RESPONSE, (data: JackpotsOptoutRequest) => this.jackpotClearCache());\n on(ClassId.JP_OPTIN_RESPONSE, (data: JackpotsOptinResponse) => this.jackpotClearCache());\n }\n }\n\n /** Returns information about current user\n * \n * **Example**:\n * ```\n * _smartico.api.getUserProfile().then((result) => {\n * console.log(result);\n * });\n * ```\n * **Visitor mode: not supported**\n * */\n public getUserProfile(): TUserProfile {\n if (this.api.tracker) {\n const o: TUserProfile = Object.assign({}, this.api.tracker.userPublicProps);\n o.avatar_url = CoreUtils.avatarUrl(this.api.tracker.userPublicProps.avatar_id, this.api.avatarDomain);\n return o;\n } else {\n throw new Error('Tracker is not initialized, cannot getUserProfile');\n }\n }\n\n /** Check if user belongs to specific segments\n * **Example**:\n * ```\n * _smartico.api.checkSegmentMatch(1).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n public async checkSegmentMatch(segment_id: number): Promise<boolean> {\n const r = await this.api.coreCheckSegments(null, [segment_id]);\n if (r && r.find(s => s.segment_id === segment_id && s.is_matching)) {\n return true;\n } else {\n return false;\n }\n }\n\n /** Check if user belongs to specific list of segments\n * **Example**:\n * ```\n * _smartico.api.checkSegmentListMatch([1, 2, 3]).then((result) => {\n * console.log(result);\n * });\n * ```\n * **Visitor mode: not supported**\n */\n public async checkSegmentListMatch(segment_ids: number[]): Promise<TSegmentCheckResult[]> {\n return await this.api.coreCheckSegments(null, Array.isArray(segment_ids) ? segment_ids : [segment_ids]);\n } \n\n /** Returns all the levels available the current user\n * **Example**:\n * ```\n * _smartico.api.getLevels().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getLevels().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getLevels(): Promise<TLevel[]> {\n return OCache.use(onUpdateContextKey.Levels, ECacheContext.WSAPI, () => this.api.levelsGetT(null), CACHE_DATA_SEC);\n }\n\n /** Returns all the missions available the current user.\n * The returned missions are cached for 30 seconds. But you can pass the onUpdate callback as a parameter.\n * Note that each time you call getMissions with a new onUpdate callback, the old one will be overwritten by the new one. \n * The onUpdate callback will be called on mission OptIn and the updated missions will be passed to it.\n * \n * **Example**:\n * ```\n * _smartico.api.getMissions().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getMissions().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getMissions({ onUpdate }: { onUpdate?: (data: TMissionOrBadge[]) => void } = {}): Promise<TMissionOrBadge[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.Missions, onUpdate);\n }\n\n return OCache.use(onUpdateContextKey.Missions, ECacheContext.WSAPI, () => this.api.missionsGetItemsT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns all the badges available the current user\n * \n * **Visitor mode: not supported**\n */\n public async getBadges(): Promise<TMissionOrBadge[]> {\n return OCache.use(onUpdateContextKey.Badges, ECacheContext.WSAPI, () => this.api.badgetsGetItemsT(null), CACHE_DATA_SEC);\n }\n\n /** \n * Returns the extra counters for the current user level.\n * These are counters that are configured for each Smartico client separatly by request.\n * For example 1st counter could be total wagering amount, 2nd counter could be total deposit amount, etc.\n * \n * **Example**:\n * ```\n * _smartico.api.getUserLevelExtraCounters().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n public async getUserLevelExtraCounters(): Promise<UserLevelExtraCountersT> {\n return OCache.use(onUpdateContextKey.LevelExtraCounters, ECacheContext.WSAPI, () => this.api.getUserGamificationInfoT(null), CACHE_DATA_SEC);\n }\n\n /** \n * \n * Returns all the store items available the current user\n * \n * **Example**:\n * ```\n * _smartico.api.getStoreItems().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getStoreItems().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n\n public async getStoreItems(): Promise<TStoreItem[]> {\n return OCache.use(onUpdateContextKey.StoreItems, ECacheContext.WSAPI, () => this.api.storeGetItemsT(null), CACHE_DATA_SEC);\n }\n\n /** Buy the specific shop item by item_id. Returns the err_code in case of success or error.\n * **Example**:\n * ```\n * _smartico.api.buyStoreItem(1).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n public async buyStoreItem(item_id: number): Promise<TBuyStoreItemResult> {\n const r = await this.api.buyStoreItem(null, item_id);\n\n const o: TBuyStoreItemResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** \n * \n * Returns store categories\n * \n * **Example**:\n * ```\n * _smartico.api.getStoreCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getStoreCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getStoreCategories(): Promise<TStoreCategory[]> {\n return OCache.use(onUpdateContextKey.StoreCategories, ECacheContext.WSAPI, () => this.api.storeGetCategoriesT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns purchased items based on the provided parameters. \"Limit\" and \"offset\" indicate the range of items to be fetched. \n * The maximum number of items per request is limited to 20. \n * You can leave this params empty and by default it will return list of purchased items ranging from 0 to 20.\n * \n * **Example**:\n * ```\n * _smartico.api.getStorePurchasedItems().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n\n public async getStorePurchasedItems({ limit, offset, onUpdate } : { limit?: number, offset?: number, onUpdate?: (data: TStoreItem[]) => void} = {}): Promise<TStoreItem[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.StoreHistory, onUpdate);\n }\n return OCache.use(onUpdateContextKey.StoreHistory, ECacheContext.WSAPI, () => this.api.storeGetPurchasedItemsT(null, limit, offset), CACHE_DATA_SEC);\n }\n\n /**\n * Returns missions & badges categories\n * \n * **Example**:\n * ```\n * _smartico.api.getAchCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getAchCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * */\n public async getAchCategories(): Promise<TAchCategory[]> {\n return OCache.use(onUpdateContextKey.AchCategories, ECacheContext.WSAPI, () => this.api.achGetCategoriesT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns list of custom sections\n * \n * **Example**:\n * ```\n * _smartico.api.getCustomSections().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getCustomSections().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * */\n public async getCustomSections(): Promise<TUICustomSection[]> {\n return OCache.use(onUpdateContextKey.CustomSections, ECacheContext.WSAPI, () => this.api.getCustomSectionsT(null), CACHE_DATA_SEC);\n }\n\n /** \n * Returns the list of mini-games available for user \n * The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getMiniGames with a new onUpdate callback, the old one will be overwritten by the new one. \n * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n * \n * **Example**:\n * ```\n * _smartico.api.getMiniGames().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getMiniGames().then((result) => {\n * console.log(result);\n * });\n * ```\n *\n */\n public async getMiniGames({ onUpdate }: { onUpdate?: (data: TMiniGameTemplate[]) => void } = {}): Promise<TMiniGameTemplate[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate);\n }\n\n return OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n }\n\n /** \n * Plays the specified by template_id mini-game on behalf of user and returns prize_id or err_code\n * \n * **Visitor mode: not supported** \n */\n public async playMiniGame(template_id: number): Promise<TMiniGamePlayResult> {\n const r = await this.api.sawSpinRequest(null, template_id);\n this.api.doAcknowledgeRequest(null, r.request_id)\n\n const o: TMiniGamePlayResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n prize_id: r.saw_prize_id,\n }\n\n return o;\n }\n\n /** \n * Requests an opt-in for the specified mission_id. Returns the err_code.\n * \n * **Visitor mode: not supported** \n */\n public async requestMissionOptIn(mission_id: number): Promise<TMissionOptInResult>{\n const r = await this.api.missionOptIn(null, mission_id);\n\n const o: TMissionOptInResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** \n * Request for claim reward for the specified mission id. Returns the err_code.\n * \n * **Visitor mode: not supported** \n */\n public async requestMissionClaimReward(mission_id: number, ach_completed_id: number): Promise<TMissionClaimRewardResult> {\n const r = await this.api.missionClaimPrize(null, mission_id, ach_completed_id);\n\n const o: TMissionClaimRewardResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** Returns all the active instances of tournaments \n * The returned list is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getTournamentsList with a new onUpdate callback, the old one will be overwritten by the new one. \n * The onUpdate callback will be called when the user has registered in a tournament. Updated list will be passed to onUpdate callback.\n * \n * **Example**:\n * ```\n * _smartico.api.getTournamentsList().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getTournamentsList().then((result) => {\n * console.log(result);\n * });\n * ```\n * */\n public async getTournamentsList({ onUpdate }: { onUpdate?: (data: TTournament[]) => void } = {}): Promise<TTournament[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.TournamentList, onUpdate);\n }\n\n return OCache.use(onUpdateContextKey.TournamentList, ECacheContext.WSAPI, () => this.api.tournamentsGetLobbyT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns details information of specific tournament instance, the response will include tournament info and the leaderboard of players\n * \n * **Example**:\n * ```\n * _smartico.api.getTournamentsList().then((result) => {\n * if (result.length > 0) {\n * _smartico.api.getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n * console.log(result);\n * });\n * }\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getTournamentsList().then((result) => {\n * if (result.length > 0) {\n * _smartico.vapi('EN').getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n * console.log(result);\n * });\n * }\n * });\n * ```\n */\n public async getTournamentInstanceInfo(tournamentInstanceId: number): Promise<TTournamentDetailed> {\n return this.api.tournamentsGetInfoT(null, tournamentInstanceId);\n }\n\n /** \n * Requests registration for the specified tournament instance. Returns the err_code.\n * \n * **Visitor mode: not supported** \n */\n public async registerInTournament(tournamentInstanceId: number): Promise<TTournamentRegistrationResult>{\n const r = await this.api.registerInTournament(null, tournamentInstanceId);\n\n const o: TTournamentRegistrationResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** \n * Returns the leaderboard for the current type (default is Daily). If getPreviousPeriod is passed as true, a leaderboard for the previous period for the current type will be returned.\n * For example, if the type is Weekly and getPreviousPeriod is true, a leaderboard for the previous week will be returned.\n * \n * **Example**:\n * ```\n * _smartico.api.getLeaderBoard(1).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getLeaderBoard(1).then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getLeaderBoard(periodType: LeaderBoardPeriodType, getPreviousPeriod?: boolean): Promise<LeaderBoardDetailsT> {\n return OCache.use(onUpdateContextKey.LeaderBoards, ECacheContext.WSAPI, () => this.api.leaderboardsGetT(null, periodType, getPreviousPeriod), CACHE_DATA_SEC);\n }\n\n /** Returns inbox messages based on the provided parameters. \"From\" and \"to\" indicate the range of messages to be fetched. \n * The maximum number of messages per request is limited to 20. An indicator \"onlyFavorite\" can be passed to get only messages marked as favorites. \n * You can leave this params empty and by default it will return list of messages ranging from 0 to 20.\n * This functions return list of messages without the body of the message. \n * To get the body of the message you need to call getInboxMessageBody function and pass the message guid contained in each message of this request.\n * All other action like mark as read, favorite, delete, etc. can be done using this message GUID.\n * The \"onUpdate\" callback will be triggered when the user receives a new message. It will provide an updated list of messages, ranging from 0 to 20, to the onUpdate callback function.\n *\n * **Visitor mode: not supported** \n * \n * @param params\n */\n public async getInboxMessages({ from, to, onlyFavorite, onUpdate }: { from?: number, to?: number, onlyFavorite?: boolean, onUpdate?: (data: TInboxMessage[]) => void } = {}): Promise<TInboxMessage[]> { \n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate);\n }\n\n return await this.api.getInboxMessagesT(null, from, to, onlyFavorite);\n }\n\n /** \n * Returns the message body of the specified message guid.\n *\n * **Visitor mode: not supported** \n */\n public async getInboxMessageBody(messageGuid: string): Promise<TInboxMessageBody> {\n return await this.api.getInboxMessageBodyT(messageGuid);\n }\n\n /** \n * Requests to mark inbox message with specified guid as read\n *\n * **Visitor mode: not supported** \n */\n public async markInboxMessageAsRead(messageGuid: string): Promise<InboxMarkMessageAction> {\n const r = await this.api.markInboxMessageRead(null, messageGuid);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to mark all inbox messages as rea\n *\n * **Visitor mode: not supported** \n */ \n public async markAllInboxMessagesAsRead(): Promise<InboxMarkMessageAction> {\n const r = await this.api.markAllInboxMessageRead(null);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to mark inbox message with specified guid as favorite. Pass mark true to add message to favorite and false to remove.\n *\n * **Visitor mode: not supported** \n */\n public async markUnmarkInboxMessageAsFavorite(messageGuid: string, mark: boolean): Promise<InboxMarkMessageAction> {\n const r = await this.api.markUnmarkInboxMessageAsFavorite(null, messageGuid, mark);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to delete inbox message\n *\n * **Visitor mode: not supported** \n */\n \n public async deleteInboxMessage(messageGuid: string): Promise<InboxMarkMessageAction> {\n const r = await this.api.deleteInboxMessage(null, messageGuid);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to delete all inbox messages\n *\n * **Visitor mode: not supported** \n */\n\n public async deleteAllInboxMessages(): Promise<InboxMarkMessageAction> {\n const r = await this.api.deleteAllInboxMessages(null);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests translations for the given language. Returns the object including translation key/translation value pairs. All possible translation keys defined in the back office.\n */\n public async getTranslations(lang_code: string): Promise<TGetTranslations> {\n const r = await this.api.getTranslationsT(null, lang_code, []);\n\n return {\n translations: r.translations\n }\n }\n\n private async updateOnSpin(data: SAWSpinsCountPush) {\n const templates: TMiniGameTemplate[] = await OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n const index = templates.findIndex(t => t.id === data.saw_template_id);\n templates[index].spin_count = data.spin_count;\n this.updateEntity(onUpdateContextKey.Saw, templates)\n }\n\n private async updateOnAddSpin() {\n const payload = await this.api.sawGetTemplatesT(null);\n this.updateEntity(onUpdateContextKey.Saw, payload)\n }\n\n private async updateOnPrizeWin(data: SAWDoSpinResponse) {\n if (data.errCode === SAWSpinErrorCode.SAW_OK) {\n const templates: TMiniGameTemplate[] = await OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n const template: TMiniGameTemplate = templates.find(t => t.prizes.find(p => p.id === data.saw_prize_id));\n const prizeType = template.prizes.find(p => p.id === data.saw_prize_id)?.prize_type;\n\n if (\n template.jackpot_add_on_attempt ||\n template.spin_count === 1 ||\n prizeType === MiniGamePrizeTypeName.JACKPOT ||\n prizeType === MiniGamePrizeTypeName.SPIN\n ) {\n const updatedTemplates = await this.api.sawGetTemplatesT(null);\n this.updateEntity(onUpdateContextKey.Saw, updatedTemplates)\n }\n }\n }\n\n private async updateMissionsOnOptIn() {\n const payload = await this.api.missionsGetItemsT(null);\n this.updateEntity(onUpdateContextKey.Missions, payload)\n }\n\n private async updateTournamentsOnRegistration() {\n const payload = await this.api.tournamentsGetLobbyT(null);\n this.updateEntity(onUpdateContextKey.TournamentList, payload)\n }\n\n private async updateInboxMessages() {\n const payload = await this.api.getInboxMessagesT(null);\n this.updateEntity(onUpdateContextKey.InboxMessages, payload)\n }\n\n private async updateEntity(contextKey: onUpdateContextKey, payload: any) {\n OCache.set(contextKey, payload, ECacheContext.WSAPI);\n\n const onUpdate = this.onUpdateCallback.get(contextKey);\n if (onUpdate) {\n onUpdate(payload);\n }\n }\n\n private async jackpotClearCache() {\n OCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Jackpots);\n OCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Pots); \n }\n\n /** Returns list of Jackpots that are active in the systen and matching to the filter definition.\n * If filter is not provided, all active jackpots will be returned.\n * Filter can be used to get jackpots related to specific game or specific jackpot template.\n * You can call this method every second in order to get up to date information about current value of the jackpot(s) and present them to the end-users\n * \n * **Example**:\n * ```\n * _smartico.api.jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async jackpotGet(filter?: { related_game_id?: string, jp_template_id?: number }): Promise<JackpotDetails[]> {\n\n const signature: string = `${filter?.jp_template_id}:${filter?.related_game_id}`;\n\n if (signature !== this.jackpotGetSignature) {\n this.jackpotGetSignature = signature;\n this.jackpotClearCache();\n }\n\n let jackpots: JackpotDetails[] = [];\n let pots: JackpotPot[] = [];\n\n jackpots = await OCache.use<JackpotDetails[]>(onUpdateContextKey.Jackpots, ECacheContext.WSAPI, async () => {\n \n const _jackpots = await this.api.jackpotGet(null, filter);\n const _pots = _jackpots.items.map( jp => jp.pot);\n\n OCache.set(onUpdateContextKey.Pots, _pots, ECacheContext.WSAPI, JACKPOT_POT_CACHE_SEC);\n return _jackpots.items;\n\n }, JACKPOT_TEMPLATE_CACHE_SEC);\n\n\n if (jackpots.length > 0) {\n pots = await OCache.use<JackpotPot[]>(onUpdateContextKey.Pots, ECacheContext.WSAPI, async () => {\n \n const jp_template_ids = jackpots.map(jp => jp.jp_template_id);\n return (await this.api.potGet(null, { jp_template_ids })).items;\n\n }, JACKPOT_POT_CACHE_SEC);\n }\n\n return jackpots.map( jp => {\n let _jp: JackpotDetails = {\n ...jp,\n pot: pots.find( p => p.jp_template_id === jp.jp_template_id),\n };\n return _jp;\n });\n\n }\n\n /** \n * Opt-in currently logged in user to the jackpot with the specified jp_template_id.\n * You may call jackpotGet method after doing optin to see that user is opted in to the jackpot.\n * \n * **Example**:\n * ```\n * _smartico.api.jackpotOptIn({ jp_template_id: 123 }).then((result) => {\n * console.log('Opted in to the jackpot');\n * });\n * ```\n *\n * **Visitor mode: not supported** \n *\n */ \n public async jackpotOptIn(filter: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n \n if (!filter.jp_template_id) {\n throw new Error('jp_template_id is required in jackpotOptIn');\n };\n\n const result = await this.api.jackpotOptIn(null, filter);\n\n return result;\n }\n\n /** \n * Opt-out currently logged in user from the jackpot with the specified jp_template_id.\n * You may call jackpotGet method after doing optout to see that user is not opted in to the jackpot.\n * \n * **Example**:\n * ```\n * _smartico.api.jackpotOptOut({ jp_template_id: 123 }).then((result) => {\n * console.log('Opted out from the jackpot');\n * });\n * ```\n *\n * **Visitor mode: not supported** \n *\n */ \n public async jackpotOptOut(filter: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n \n if (!filter.jp_template_id) {\n throw new Error('jp_template_id is required in jackpotOptOut');\n };\n\n const result = await this.api.jackpotOptOut(null, filter);\n\n return result;\n }\n}\n","import { LeaderBoardDetailsT, LeaderBoardUserT, LeaderBoardsRewardsT } from \"../WSAPI/WSAPITypes\";\nimport { LeaderBoardDetails } from \"./LeaderBoardDetails\";\nimport { LeaderBoardPeriodType } from \"./LeaderBoardPeriodType\";\nimport { LeaderBoardPosition } from \"./LeaderBoardPosition\";\n\nconst pointsRewardTransform = (reward_points: number[]): LeaderBoardsRewardsT[] => {\n if (reward_points && reward_points.length) {\n return reward_points.map((r, i) => ({ place: i + 1, points: r }));\n }\n\n return null;\n}\n\nconst getLeaderBoardPlayerTransformed = (user: LeaderBoardPosition, isMe?: boolean): LeaderBoardUserT => {\n if (user) {\n const x: LeaderBoardUserT= {\n public_username: user?.public_username || user.user_alt_name,\n avatar_url: user.avatar_url,\n position: user.position_in_board,\n points: user.points_accumulated,\n is_me: user.is_me,\n }\n \n if (isMe) {\n delete x.is_me;\n }\n\n return x;\n }\n\n return null;\n}\n\nexport const getLeaderBoardTransform = (board: LeaderBoardDetails): LeaderBoardDetailsT => {\n if (board) {\n const x: LeaderBoardDetailsT = {\n board_id: board.board_id,\n name: board.board_public_meta.name,\n description: board.board_public_meta.description,\n rules: board.board_public_meta.rules,\n period_type_id: board.period_type_id,\n rewards: pointsRewardTransform(board.reward_points),\n users: board.positions.map(p => getLeaderBoardPlayerTransformed(p)),\n me: getLeaderBoardPlayerTransformed(board.userPosition, true),\n }\n\n return x;\n }\n\n return null;\n}","export enum AchCustomSectionType {\n HTML_PAGE = 1,\n MISSIONS_CATEGORY = 2,\n TOURNAMENTS_CATEGORY = 3,\n LEVELS = 4,\n MINI_GAMES = 5,\n MISSION_CUSTOM_LAYOUT = 6,\n MATCH_X = 7,\n}\n\nexport enum AchCustomLayoutTheme {\n VALENTINES_LIGHT = 'valentines-light',\n VALENTINES_DARK = 'valentines-dark',\n EURO_2024 = 'euro-2024',\n GENERIC = 'generic',\n}\n\nexport enum AchMissionsTabsOptions {\n ONLY_OVERVIEW = 1,\n NO_OVERVIEW = 2,\n ALL = 3,\n}\n\nexport enum AchOverviewMissionsFilter {\n ANY = 1,\n ALL_MISSIONS = 2,\n ALL_EXCEPT_COMPLETED = 3,\n ALL_EXCEPT_LOCKED = 4,\n ALL_EXCEPT_COMPLETED_AND_LOCKED = 5,\n}","import { TUICustomSection } from \"../WSAPI/WSAPITypes\";\nimport { AchCustomLayoutTheme, AchCustomSectionType, AchMissionsTabsOptions, AchOverviewMissionsFilter } from \"./AchCustomSection\";\n\nexport interface UICustomSection {\n\n body?: string;\n menu_img?: string;\n menu_name?: string;\n custom_skin_images?: string;\n section_type_id?: AchCustomSectionType;\n theme?: AchCustomLayoutTheme;\n generic_custom_css?: string;\n mission_tabs_options?: AchMissionsTabsOptions;\n overview_missions_filter?: AchOverviewMissionsFilter;\n overview_missions_count?: number;\n}\n\nexport const UICustomSectionTransform = (items: UICustomSection[]): TUICustomSection[] => {\n return items.filter(r => r.section_type_id !== undefined && r.section_type_id >= 1).map( r => {\n const x: TUICustomSection = {\n body: r.body,\n menu_img: r.menu_img,\n menu_name: r.menu_name,\n section_type_id: r.section_type_id,\n custom_skin_images: r.custom_skin_images,\n generic_custom_css: r.generic_custom_css,\n mission_tabs_options: r.mission_tabs_options,\n overview_missions_count: r.overview_missions_count,\n overview_missions_filter: r.overview_missions_filter,\n theme: r.theme\n }\n return x;\n })\n}","import { ClassId } from \"./Base/ClassId\";\nimport { ProtocolRequest } from './Base/ProtocolRequest';\nimport { ProtocolResponse } from './Base/ProtocolResponse';\nimport { SAWGetTemplatesResponse } from './MiniGames/SAWGetTemplatesResponse';\nimport { SAWGetTemplatesRequest } from './MiniGames/SAWGetTemplatesRequest';\nimport { IntUtils } from './IntUtils';\nimport { ILogger } from './ILogger';\nimport { SAWDoAknowledgeRequest, SAWDoAknowledgeResponse, SAWDoSpinRequest, SAWDoSpinResponse, SAWSpinErrorCode, SAWTemplatesTransform } from './MiniGames';\nimport { ECacheContext, OCache } from './OCache';\nimport { CoreUtils, GetTranslationsRequest, GetTranslationsResponse, PublicLabelSettings, ResponseIdentify, TranslationArea } from './Core';\nimport { GetLabelInfoResponse } from './Core/GetLabelInfoResponse';\nimport { GetLabelInfoRequest } from './Core/GetLabelInfoRequest';\nimport { GetInboxMessagesRequest, GetInboxMessagesResponse, InboxMessageBody, InboxMessageBodyTransform, InboxMessagesTransform, MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse, MarkInboxMessageReadRequest, MarkInboxMessageReadResponse, MarkInboxMessageStarredRequest, MarkInboxMessageStarredResponse } from './Inbox';\nimport { BuyStoreItemRequest, BuyStoreItemResponse, GetCategoriesStoreResponse, GetStoreHistoryRequest, GetStoreHistoryResponse, GetStoreItemsResponse, StoreCategoryTransform, StoreItemPurchasedTransform, StoreItemTransform } from './Store';\nimport { AchCategoryTransform, AchClaimPrizeRequest, AchClaimPrizeResponse, AchievementOptinRequest, AchievementOptinResponse, AchievementType, GetAchCategoriesResponse, GetAchievementMapRequest, GetAchievementMapResponse, UserAchievementTransform } from './Missions';\nimport { GetTournamentInfoRequest, GetTournamentInfoResponse, GetTournamentsRequest, GetTournamentsResponse, TournamentItemsTransform, TournamentRegisterRequest, TournamentRegisterResponse, tournamentInfoItemTransform } from './Tournaments';\nimport { GetLeaderBoardsRequest, GetLeaderBoardsResponse, LeaderBoardDetails, LeaderBoardPeriodType } from \"./Leaderboard\";\nimport { GetLevelMapResponse, GetLevelMapResponseTransform } from \"./Level\";\nimport { WSAPI } from \"./WSAPI/WSAPI\";\nimport { TInboxMessage, TInboxMessageBody, TLevel, TMiniGameTemplate, TMissionOrBadge, TStoreCategory, TAchCategory, TStoreItem, TTournament, TTournamentDetailed, LeaderBoardDetailsT, UserLevelExtraCountersT, TSegmentCheckResult, TUICustomSection } from \"./WSAPI/WSAPITypes\";\nimport { getLeaderBoardTransform } from \"./Leaderboard/LeaderBoards\";\nimport { GetAchievementsUserInfoResponse } from \"./Core/GetAchievementsUserInfoResponse\";\nimport { CheckSegmentMatchResponse } from \"./Core/CheckSegmentMatchResponse\";\nimport { CheckSegmentMatchRequest } from \"./Core/CheckSegmentMatchRequest\";\nimport { GetJackpotsPotsRequest, GetJackpotsPotsResponse, GetJackpotsRequest, GetJackpotsResponse, JackpotDetails, JackpotPot, JackpotsOptinRequest, JackpotsOptinResponse, JackpotsOptoutRequest, JackpotsOptoutResponse } from \"./Jackpots\";\nimport { GetCustomSectionsRequest, GetCustomSectionsResponse, UICustomSectionTransform } from \"./CustomSections\";\n\nconst PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';\nconst C_SOCKET_PROD = 'wss://api{ENV_ID}.smartico.ai/websocket/services';\nconst AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';\nconst DEFAULT_LANG_EN = \"EN\";\n\ninterface Tracker {\n label_api_key: string;\n userPublicProps: any;\n on: (callBackKey: ClassId, func: (data: any) => void) => void;\n getLabelSetting: (key: PublicLabelSettings) => any;\n}\ninterface IOptions {\n logger?: ILogger;\n logCIDs?: ClassId[];\n logHTTPTiming?: boolean;\n tracker?: Tracker;\n}\n\ntype MessageSender = (message: any, publicApuUrl?: string, expectCID?: ClassId) => Promise<any>;\n\n\nclass SmarticoAPI {\n\n private publicUrl: string;\n private wsUrl: string;\n private inboxCdnUrl: string;\n private partnerUrl: string;\n public avatarDomain: string;\n\n private logger: ILogger;\n private logCIDs: ClassId[];\n private logHTTPTiming: boolean;\n public tracker?: Tracker;\n\n public constructor(private label_api_key: string, private brand_api_key: string, private messageSender: MessageSender, options: IOptions = {}) {\n\n this.logger = options.logger || (console as any);\n\n if (this.logger.always === undefined) {\n this.logger.always = this.logger.info;\n }\n\n this.logCIDs = options.logCIDs || [];\n this.logHTTPTiming = options.logHTTPTiming || false;\n this.tracker = options.tracker;\n\n this.publicUrl = SmarticoAPI.getPublicUrl(label_api_key);\n this.wsUrl = SmarticoAPI.getPublicWsUrl(label_api_key);\n\n this.avatarDomain = SmarticoAPI.getAvatarUrl(label_api_key || options.tracker?.label_api_key);\n\n this.label_api_key = SmarticoAPI.getCleanLabelApiKey(label_api_key);\n\n }\n\n public static getEnvDnsSuffix(label_api_key: string): string {\n\n let ENV_ID = label_api_key.length === 38 ? label_api_key.substring(37, 38) : '';\n \n if (ENV_ID === '1' || ENV_ID === '2') {\n ENV_ID = ''\n }\n return ENV_ID;\n }\n\n public static getEnvId(label_api_key: string): number {\n\n return label_api_key.length === 38 ? parseInt(label_api_key.substring(37, 38), 10) : 2;\n \n }\n\n public static getCleanLabelApiKey(label_api_key: string): string {\n return label_api_key.substring(0, 36);\n }\n\n public static getPublicUrl(label_api_key: string): string {\n return PUBLIC_API_URL.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key)); \n }\n\n public static getPublicWsUrl(label_api_key: string): string {\n return C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key)); \n } \n\n public static getAvatarUrl(label_api_key: string): string {\n return AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key)); \n } \n\n private async send<T>(message: any, expectCID?: ClassId, force_language?: string): Promise<T> {\n\n\n if (this.logCIDs.includes(message.cid)) {\n this.logger.info('REQ', message)\n }\n\n if (force_language) {\n message.force_language = force_language;\n }\n\n let result: any;\n \n try {\n const timeStart = new Date().getTime();\n result = await this.messageSender(message, this.publicUrl, expectCID);\n const timeEnd = new Date().getTime();\n\n if (this.logHTTPTiming) {\n this.logger.always('HTTP time, ms:' + (timeEnd - timeStart))\n }\n\n } catch (e) {\n this.logger.error(`Failed to make request to smartico channel, L2. ${e.message}`, { url: this.publicUrl, request: message, error: e.message });\n throw(new Error(`Failed to make request to smartico channel, L2 L1. ${e.message}`));\n }\n\n if (this.logCIDs.includes(message.cid)) {\n this.logger.info('RES', result)\n }\n\n if (expectCID) {\n if (Array.isArray(result)) { \n for (const str of result as string[]) {\n const obj: ProtocolResponse = JSON.parse(str);\n if (this.logCIDs.includes(obj.cid)) {\n this.logger.info('RES', result)\n }\n if (obj.cid === expectCID) {\n return obj as any;\n }\n }\n this.logger.error(`Cant find proper response in array, expected CID ${expectCID}`, { request: message, response: result });\n } else {\n return result;\n } \n } else {\n if (Array.isArray(result)) { \n if (result.length === 1) {\n const obj = JSON.parse(result[0]);\n if (this.logCIDs.includes(obj.cid)) {\n this.logger.info('RES', result)\n } \n return obj;\n } else {\n this.logger.error('Expected one response, but got array', { request: message, response: result });\n }\n }\n return result;\n }\n }\n\n private buildMessage<TRequest,TResponse>(user_ext_id: string, cid: ClassId, payload: Partial<TRequest> = {}): TResponse {\n\n const message: ProtocolRequest = {\n // AA: in fact we need api and brand keys and ext_user_id only in the context of HTTP\n // its not needed in WebSocket and can be deleted\n api_key: this.label_api_key, \n brand_key: this.brand_api_key,\n ext_user_id: user_ext_id,\n cid,\n uuid: IntUtils.uuid(),\n ts: new Date().getTime(),\n ...payload\n };\n\n if (message.ext_user_id === undefined || message.ext_user_id === null) {\n delete message.ext_user_id;\n }\n\n if (message.brand_key === undefined || message.brand_key === null) {\n delete message.brand_key;\n } \n\n return message as any\n }\n\n public async coreReportCustomEvent(user_ext_id: string, eventType: string, payload: any = {}): Promise<any> {\n const eventMessage = this.buildMessage<any, any>(user_ext_id, ClassId.EVENT, {\n eventType,\n payload\n });\n\n const eventResponse = await this.send<any>(eventMessage, ClassId.EVENT_RESPONSE);\n return eventResponse;\n }\n\n public async coreGetTranslations(user_ext_id: string, lang_code: string, areas: TranslationArea[], cacheSec: number = 60): Promise<GetTranslationsResponse> {\n\n if (lang_code === undefined || lang_code === null || lang_code.trim && lang_code.trim() === '') {\n lang_code = DEFAULT_LANG_EN;\n } \n\n const response = await OCache.use<GetTranslationsResponse>(`${lang_code}-${this.label_api_key}-${this.brand_api_key}`, ECacheContext.Translations, async () => {\n\n const tsBaseRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(user_ext_id, ClassId.GET_TRANSLATIONS_REQUEST, {\n lang_code: DEFAULT_LANG_EN,\n hash_code: 0,\n areas\n });\n\n const trBase = await this.send<GetTranslationsResponse>(tsBaseRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n\n if (lang_code !== DEFAULT_LANG_EN) {\n const trUserRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(user_ext_id, ClassId.GET_TRANSLATIONS_REQUEST, {\n lang_code,\n hash_code: 0,\n areas\n }); \n\n const trUser = await this.send<GetTranslationsResponse>(trUserRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n \n Object.keys(trUser?.translations ?? {}).forEach( k => {\n trBase.translations[k] = trUser.translations[k];\n })\n }\n\n return trBase;\n\n }, cacheSec );\n\n return response;\n } \n\n public async coreIdentifyLabel(user_ext_id: string, cacheSec: number = 60): Promise<GetLabelInfoResponse> {\n \n return OCache.use<GetLabelInfoResponse>(`${this.label_api_key} - ${this.brand_api_key}`, ECacheContext.LabelInfo, async () => {\n\n const message = this.buildMessage<GetLabelInfoResponse, GetLabelInfoRequest>(user_ext_id, ClassId.INIT);\n\n return this.send<GetLabelInfoResponse>(message, ClassId.INIT_RESPONSE)\n \n }, cacheSec);\n \n } \n\n public async coreIdentifyUser(user_ext_id: string): Promise<ResponseIdentify> {\n\n const message = this.buildMessage<any, ResponseIdentify>(user_ext_id, ClassId.IDENTIFY, {\n request_id: IntUtils.uuid() // AA: do we need request_id?\n });\n\n const r = await this.send<ResponseIdentify>(message, ClassId.IDENTIFY_RESPONSE);\n\n r.avatar_id = CoreUtils.avatarUrl(r.avatar_id, this.avatarDomain);\n\n return r;\n } \n\n public async coreChangeUsername(user_ext_id: string, public_username_custom: string): Promise<{ public_username_custom: string }> {\n \n const message = this.buildMessage<any, any>(user_ext_id, ClassId.CLIENT_SET_CUSTOM_USERNAME_REQUEST, {\n public_username_custom\n });\n \n return await this.send(message, ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE);\n }\n\n public async coreCheckSegments(user_ext_id: string, segment_id: number[]): Promise<TSegmentCheckResult[]> {\n \n const message = this.buildMessage<CheckSegmentMatchRequest, any>(user_ext_id, ClassId.CHECK_SEGMENT_MATCH_REQUEST, {\n segment_id\n });\n \n const results = await this.send<CheckSegmentMatchResponse>(message, ClassId.CHECK_SEGMENT_MATCH_RESPONSE);\n\n return results.segments || [];\n }\n\n public async jackpotGet(user_ext_id: string, filter?: { related_game_id?: string, jp_template_id?: number }, force_language?: string ): Promise<GetJackpotsResponse> {\n\n const message = this.buildMessage<GetJackpotsRequest, GetJackpotsResponse>(user_ext_id, ClassId.JP_GET_JACKPOTS_REQUEST, filter);\n return await this.send<GetJackpotsResponse>(message, ClassId.JP_GET_JACKPOTS_RESPONSE, force_language);\n }\n\n public async potGet(user_ext_id: string, filter: { jp_template_ids: number[] }): Promise<GetJackpotsPotsResponse> {\n const message = this.buildMessage<GetJackpotsPotsRequest, GetJackpotsPotsResponse>(user_ext_id, ClassId.JP_GET_LATEST_POTS_REQUEST, filter);\n return await this.send<GetJackpotsPotsResponse>(message, ClassId.JP_GET_LATEST_POTS_RESPONSE);\n }\n\n public async jackpotOptIn(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n const message = this.buildMessage<JackpotsOptinRequest, JackpotsOptinResponse>(user_ext_id, ClassId.JP_OPTIN_REQUEST, payload);\n return await this.send<JackpotsOptinResponse>(message, ClassId.JP_OPTIN_RESPONSE);\n }\n\n public async jackpotOptOut(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n const message = this.buildMessage<JackpotsOptoutRequest, JackpotsOptoutResponse>(user_ext_id, ClassId.JP_OPTOUT_REQUEST, payload);\n return await this.send<JackpotsOptoutResponse>(message, ClassId.JP_OPTOUT_RESPONSE);\n }\n\n public async sawGetTemplates(user_ext_id: string, force_language?: string, is_visitor_mode: boolean = false): Promise<SAWGetTemplatesResponse> {\n\n const message = this.buildMessage<SAWGetTemplatesRequest, SAWGetTemplatesResponse>(user_ext_id, ClassId.SAW_GET_SPINS_REQUEST, { is_visitor_mode });\n\n const response = await this.send<SAWGetTemplatesResponse>(message, ClassId.SAW_GET_SPINS_RESPONSE, force_language);\n\n if (response && response.templates) {\n response.templates.forEach(t => {\n \n if (t.jackpot_current !== undefined && t.jackpot_current !== null) {\n const jackpotValue = t.jackpot_current + (t.saw_template_ui_definition?.jackpot_symbol ? ' ' + t.saw_template_ui_definition?.jackpot_symbol : '');\n t.saw_template_ui_definition.name = IntUtils.replaceAll(t.saw_template_ui_definition.name, '{{jackpot}}', jackpotValue);\n t.saw_template_ui_definition.description = IntUtils.replaceAll(t.saw_template_ui_definition.description, '{{jackpot}}', jackpotValue);\n t.saw_template_ui_definition.promo_text = IntUtils.replaceAll(t.saw_template_ui_definition.promo_text, '{{jackpot}}', jackpotValue);\n t.prizes.forEach(p => {\n p.saw_prize_ui_definition.name = IntUtils.replaceAll(p.saw_prize_ui_definition.name, '{{jackpot}}', jackpotValue);\n p.saw_prize_ui_definition.aknowledge_message = IntUtils.replaceAll(p.saw_prize_ui_definition.aknowledge_message, '{{jackpot}}', jackpotValue);\n })\n }\n });\n }\n\n return response;\n }\n\n public async sawGetTemplatesT(user_ext_id: string): Promise<TMiniGameTemplate[]> {\n return SAWTemplatesTransform((await this.sawGetTemplates(user_ext_id)).templates);\n }\n\n public async doAcknowledgeRequest(user_ext_id: string, request_id: string): Promise<SAWDoAknowledgeResponse>{\n const message = this.buildMessage<SAWDoAknowledgeRequest, SAWDoAknowledgeResponse>(user_ext_id, ClassId.SAW_AKNOWLEDGE_REQUEST, {\n request_id\n });\n\n return await this.send<SAWDoAknowledgeResponse>(message, ClassId.SAW_AKNOWLEDGE_RESPONSE);\n }\n\n public async sawSpinRequest(user_ext_id: string, saw_template_id: number, round_id?: number): Promise<SAWDoSpinResponse> {\n if (!saw_template_id) {\n throw new Error('Missing template id');\n }\n\n const request_id = IntUtils.uuid();\n\n const message = this.buildMessage<SAWDoSpinRequest, SAWDoSpinResponse>(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {\n saw_template_id,\n request_id\n });\n\n const spinAttemptResponse = await this.send<SAWDoSpinResponse>(message, ClassId.SAW_DO_SPIN_RESPONSE);\n\n // to simulate fail\n // response.errCode = SAWSpinErrorCode.SAW_NO_SPINS;\n\n const status: string = {\n [SAWSpinErrorCode.SAW_OK]: 'OK',\n [SAWSpinErrorCode.SAW_NO_SPINS]: 'NO SPINS AVAILABLE',\n [SAWSpinErrorCode.SAW_PRIZE_POOL_EMPTY]: 'PRIZE POOL IS EMPTY',\n [SAWSpinErrorCode.SAW_NOT_ENOUGH_POINTS]: 'NOT ENOUGH POINTS',\n [SAWSpinErrorCode.SAW_FAILED_MAX_SPINS_REACHED]: 'MAX SPIN ATTEMPTS REACHED',\n }[spinAttemptResponse.errCode] || 'OTHER';\n\n await this.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {\n saw_template_id,\n status,\n round_id,\n });\n\n return {...spinAttemptResponse, request_id };\n }\n\n public async missionOptIn(user_ext_id: string, mission_id: number) {\n if (!mission_id) {\n throw new Error('Missing mission id');\n }\n const message = this.buildMessage<AchievementOptinRequest, AchievementOptinResponse>(user_ext_id, ClassId.MISSION_OPTIN_REQUEST, {\n achievementId: mission_id\n });\n\n const res = await this.send<AchievementOptinResponse>(message, ClassId.MISSION_OPTIN_RESPONSE);\n\n return res;\n }\n\n public async missionClaimPrize(user_ext_id: string, mission_id: number, ach_completed_id: number) {\n if (!mission_id) {\n throw new Error('Missing mission id');\n }\n\n const message = this.buildMessage<AchClaimPrizeRequest, AchClaimPrizeResponse>(user_ext_id, ClassId.ACHIEVEMENT_CLAIM_PRIZE_REQUEST, {\n ach_id: mission_id,\n ach_completed_id: ach_completed_id\n })\n\n const res = await this.send<AchClaimPrizeResponse>(message, ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE);\n\n return res;\n }\n\n public async registerInTournament(user_ext_id: string, tournamentInstanceId: number) {\n if (!tournamentInstanceId) {\n throw new Error('Missing tournament instance id');\n }\n const message = this.buildMessage<TournamentRegisterRequest, TournamentRegisterResponse>(user_ext_id, ClassId.TOURNAMENT_REGISTER_REQUEST, {\n tournamentInstanceId\n });\n\n const res = await this.send<TournamentRegisterResponse>(message, ClassId.TOURNAMENT_REGISTER_RESPONSE);\n\n return res;\n }\n\n public async buyStoreItem(user_ext_id: string, itemId: number) {\n if (!itemId) {\n throw new Error('Missing store item id');\n }\n const message = this.buildMessage<BuyStoreItemRequest, BuyStoreItemResponse>(user_ext_id, ClassId.BUY_SHOP_ITEM_REQUEST, {\n itemId\n });\n\n const res = await this.send<BuyStoreItemResponse>(message, ClassId.BUY_SHOP_ITEM_RESPONSE);\n\n return res;\n }\n\n public async inboxGetMessages(user_ext_id: string, limit: number = 10, offset: number = 0): Promise<GetInboxMessagesResponse> {\n\n const message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(user_ext_id, ClassId.GET_INBOX_MESSAGES_REQUEST, {\n limit,\n offset\n });\n\n return await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n\n }\n\n public async storeGetItems(user_ext_id: string, force_language?: string): Promise<GetStoreItemsResponse> {\n const message = this.buildMessage<any, GetStoreItemsResponse>(user_ext_id, ClassId.GET_SHOP_ITEMS_REQUEST);\n return await this.send<GetStoreItemsResponse>(message, ClassId.GET_SHOP_ITEMS_RESPONSE, force_language);\n }\n\n public async storeGetItemsT(user_ext_id: string): Promise<TStoreItem[]> {\n return StoreItemTransform((await this.storeGetItems(user_ext_id)).items);\n }\n\n public async storeGetCategories(user_ext_id: string, force_language?: string): Promise<GetCategoriesStoreResponse> {\n const message = this.buildMessage<any, GetCategoriesStoreResponse>(user_ext_id, ClassId.GET_SHOP_CATEGORIES_REQUEST);\n return await this.send<GetCategoriesStoreResponse>(message, ClassId.GET_SHOP_CATEGORIES_RESPONSE, force_language);\n }\n\n public async storeGetCategoriesT(user_ext_id: string): Promise<TStoreCategory[]> {\n return StoreCategoryTransform((await this.storeGetCategories(user_ext_id)).categories);\n }\n\n public async storeGetPurchasedItems(user_ext_id: string, limit: number = 20, offset: number = 0): Promise<GetStoreHistoryResponse> {\n\n const message = this.buildMessage<GetStoreHistoryRequest, GetStoreHistoryResponse>(user_ext_id, ClassId.ACH_SHOP_ITEM_HISTORY_REQUEST, {\n limit,\n offset\n });\n\n return await this.send<GetStoreHistoryResponse>(message, ClassId.ACH_SHOP_ITEM_HISTORY_RESPONSE);\n }\n\n public async storeGetPurchasedItemsT(user_ext_id: string, limit?: number, offset?: number): Promise<TStoreItem[]> {\n return StoreItemPurchasedTransform((await this.storeGetPurchasedItems(user_ext_id, limit, offset)).items);\n }\n\n public async missionsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\n const message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_MAP_REQUEST);\n const response = await this.send<GetAchievementMapResponse>(message, ClassId.GET_ACHIEVEMENT_MAP_RESPONSE, force_language);\n // we need to clone response to avoid changing original object,for cases when its called together with badgesGetItems (e.g. in Promise.all)\n const responseClone = { ...response };\n\n if (responseClone.achievements) { \n responseClone.achievements = responseClone.achievements.filter(a => a.ach_type_id === AchievementType.Mission);\n }\n return responseClone;\n }\n\n public async missionsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n return UserAchievementTransform((await this.missionsGetItems(user_ext_id)).achievements);\n }\n\n public async getUserGamificationInfo(user_ext_id: string): Promise<GetAchievementsUserInfoResponse> {\n const message = this.buildMessage<GetAchievementMapRequest, GetAchievementsUserInfoResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_USER_REQUEST);\n\n return await this.send<GetAchievementsUserInfoResponse>(message, ClassId.GET_ACHIEVEMENT_USER_RESPONSE);\n }\n\n public async getUserGamificationInfoT(user_ext_id: string): Promise<UserLevelExtraCountersT> {\n const response = await this.getUserGamificationInfo(user_ext_id);\n \n return {\n level_counter_1: response.level_counter_1,\n level_counter_2: response.level_counter_2,\n }\n }\n\n public async achGetCategories(user_ext_id: string, force_language?: string): Promise<GetAchCategoriesResponse> {\n\n const message = this.buildMessage<any, GetAchCategoriesResponse>(user_ext_id, ClassId.GET_ACH_CATEGORIES_REQUEST);\n return await this.send<GetAchCategoriesResponse>(message, ClassId.GET_ACH_CATEGORIES_RESPONSE, force_language);\n }\n\n public async achGetCategoriesT(user_ext_id: string): Promise<TAchCategory[]> {\n return AchCategoryTransform((await this.achGetCategories(user_ext_id)).categories);\n } \n\n public async badgetsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\n const message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_MAP_REQUEST);\n const response = await this.send<GetAchievementMapResponse>(message, ClassId.GET_ACHIEVEMENT_MAP_RESPONSE, force_language);\n // we need to clone response to avoid changing original object,for cases when its called together with missionsGetItems (e.g. in Promise.all)\n const responseClone = { ...response };\n\n if (responseClone.achievements) { \n responseClone.achievements = responseClone.achievements.filter(a => a.ach_type_id === AchievementType.Badge);\n }\n return responseClone;\n } \n\n public async badgetsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n return UserAchievementTransform((await this.badgetsGetItems(user_ext_id)).achievements);\n } \n\n\n public async tournamentsGetLobby(user_ext_id: string, force_language?: string): Promise<GetTournamentsResponse> {\n\n const message = this.buildMessage<GetTournamentsRequest, GetTournamentsResponse>(user_ext_id, ClassId.GET_TOURNAMENT_LOBBY_REQUEST);\n return await this.send<GetTournamentsResponse>(message, ClassId.GET_TOURNAMENT_LOBBY_RESPONSE, force_language);\n\n }\n\n public async tournamentsGetLobbyT(user_ext_id: string): Promise<TTournament[]> {\n return TournamentItemsTransform((await this.tournamentsGetLobby(user_ext_id)).tournaments);\n }\n\n public async tournamentsGetInfo(user_ext_id: string, tournamentInstanceId: number, force_language?: string): Promise<GetTournamentInfoResponse> {\n\n const message = this.buildMessage<GetTournamentInfoRequest, GetTournamentInfoResponse>(user_ext_id, ClassId.GET_TOURNAMENT_INFO_REQUEST, \n {\n tournamentInstanceId\n }\n );\n const response = await this.send<GetTournamentInfoResponse>(message, ClassId.GET_TOURNAMENT_INFO_RESPONSE, force_language);\n \n if (response.userPosition?.avatar_id) {\n response.userPosition.avatar_url = CoreUtils.avatarUrl(response.userPosition.avatar_id, this.avatarDomain);\n }\n\n if (response.tournamentInfo.players?.length) {\n response.tournamentInfo.players.forEach(p => {\n p.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n });\n }\n\n return response;\n\n }\n\n public async tournamentsGetInfoT(user_ext_id: string, tournamentInstanceId: number): Promise<TTournamentDetailed> {\n if (!tournamentInstanceId) {\n throw new Error('Missing tournament instance id');\n }\n const response = await this.tournamentsGetInfo(user_ext_id, tournamentInstanceId);\n return tournamentInfoItemTransform(response);\n } \n\n public async leaderboardGet(user_ext_id: string, period_type_id?: LeaderBoardPeriodType, prevPeriod: boolean = false, force_language?: string): Promise<LeaderBoardDetails> {\n\n const message = this.buildMessage<GetLeaderBoardsRequest, GetLeaderBoardsResponse>(user_ext_id, ClassId.GET_LEADERS_BOARD_REQUEST, \n {\n period_type_id,\n snapshot_offset: prevPeriod ? 1 : 0,\n include_users: true\n }\n );\n\n const response = await this.send<GetLeaderBoardsResponse>(message, ClassId.GET_LEADERS_BOARD_RESPONSE, force_language);\n\n const boardKey = Object.keys(response.map).find( k => period_type_id === undefined || k === period_type_id?.toString());\n\n if (boardKey === undefined) {\n return undefined;\n }\n\n if (response.map[boardKey]?.userPosition?.avatar_id) {\n response.map[boardKey].userPosition.avatar_url = CoreUtils.avatarUrl(response.map[boardKey].userPosition.avatar_id, this.avatarDomain);\n }\n\n if (response.map[boardKey]?.positions?.length) {\n response.map[boardKey].positions.forEach(p => {\n p.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n });\n \n }\n \n return response.map[boardKey];\n\n }\n\n public async leaderboardsGetT(user_ext_id: string, period_type_id: LeaderBoardPeriodType = LeaderBoardPeriodType.DAILY, prevPeriod: boolean = false): Promise<LeaderBoardDetailsT> { \n return getLeaderBoardTransform(await this.leaderboardGet(user_ext_id, period_type_id, prevPeriod));\n }\n\n public async levelsGet(user_ext_id: string, force_language?: string): Promise<GetLevelMapResponse> {\n const message = this.buildMessage<any, GetLevelMapResponse>(user_ext_id, ClassId.GET_LEVEL_MAP_REQUEST);\n return await this.send<GetLevelMapResponse>(message, ClassId.GET_LEVEL_MAP_RESPONSE, force_language);\n }\n\n public async levelsGetT(user_ext_id: string): Promise<TLevel[]> {\n return GetLevelMapResponseTransform(await this.levelsGet(user_ext_id));\n }\n\n public async getCustomSections(user_ext_id: string): Promise<GetCustomSectionsResponse> {\n const message = this.buildMessage<GetCustomSectionsRequest, GetCustomSectionsResponse>(user_ext_id, ClassId.GET_CUSTOM_SECTIONS_REQUEST);\n return await this.send<GetCustomSectionsResponse>(message, ClassId.GET_CUSTOM_SECTIONS_RESPONSE);\n }\n\n public async getCustomSectionsT(user_ext_id: string): Promise<TUICustomSection[]> {\n return UICustomSectionTransform(Object.values((await this.getCustomSections(user_ext_id)).customSections));\n }\n\n public async getTranslationsT(user_ext_id: string, lang_code: string, areas: TranslationArea[], cacheSec: number = 60): Promise<GetTranslationsResponse> {\n return await this.coreGetTranslations(user_ext_id, lang_code, areas, 30);\n }\n\n public async getInboxMessages(user_ext_id: string, limit: number = 20, offset: number = 0, starred_only: boolean): Promise<GetInboxMessagesResponse> {\n const message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(user_ext_id, ClassId.GET_INBOX_MESSAGES_REQUEST, {\n limit,\n offset,\n starred_only\n });\n return await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n }\n\n public async getInboxMessagesT(user_ext_id: string, from: number = 0, to: number = 20, favoriteOnly: boolean = false): Promise<TInboxMessage[]> {\n const limit = (to - from) > 20 ? 20 : to - from;\n const offset = from;\n\n return InboxMessagesTransform((await this.getInboxMessages(user_ext_id, limit, offset, favoriteOnly)).log);\n }\n\n public async getInboxMessageBody(messageGuid: string): Promise<InboxMessageBody> {\n\n const getMessageBody = async (messageGuid: string): Promise<InboxMessageBody>=> {\n const inboxCdnUrl = this.tracker.getLabelSetting(PublicLabelSettings.INBOX_PUBLIC_CDN);\n\n try {\n const url = `${inboxCdnUrl}${messageGuid}.json`;\n \n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*'\n }\n });\n const data = await response.json();\n return data || {};\n } catch (error) {\n this.logger.error('Error fetching inbox message body:', error);\n return null;\n }\n };\n\n return await getMessageBody(messageGuid)\n }\n\n public async getInboxMessageBodyT(messageGuid: string): Promise<TInboxMessageBody> {\n const message = await this.getInboxMessageBody(messageGuid);\n return InboxMessageBodyTransform(message);\n }\n\n public async markInboxMessageRead(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageReadResponse> {\n const message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(user_ext_id, ClassId.MARK_INBOX_READ_REQUEST, {\n engagement_uid: messageGuid\n });\n\n return await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n }\n\n public async markAllInboxMessageRead(user_ext_id: string): Promise<MarkInboxMessageReadResponse> {\n const message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(user_ext_id, ClassId.MARK_INBOX_READ_REQUEST, {\n all_read: true\n });\n\n return await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n }\n\n public async markUnmarkInboxMessageAsFavorite(user_ext_id: string, messageGuid: string, mark: boolean): Promise<MarkInboxMessageStarredResponse> {\n const message = this.buildMessage<MarkInboxMessageStarredRequest, MarkInboxMessageStarredResponse>(user_ext_id, ClassId.MARK_INBOX_STARRED_REQUEST, {\n engagement_uid: messageGuid,\n is_starred: mark\n });\n\n return await this.send<MarkInboxMessageStarredResponse>(message, ClassId.MARK_INBOX_STARRED_RESPONSE);\n }\n\n public async deleteInboxMessage(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageDeletedResponse> {\n const message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(user_ext_id, ClassId.MARK_INBOX_DELETED_REQUEST, {\n engagement_uid: messageGuid,\n });\n\n return await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n }\n\n public async deleteAllInboxMessages(user_ext_id: string): Promise<MarkInboxMessageDeletedResponse> {\n const message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(user_ext_id, ClassId.MARK_INBOX_DELETED_REQUEST, {\n all_deleted: true\n });\n\n return await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n }\n\n\n public getWSCalls(): WSAPI {\n return new WSAPI(this);\n }\n\n}\n\nexport { SmarticoAPI, MessageSender }","import { TSMap } from \"typescript-map\";\n\nclass CookieStore {\n private static cookieStore = new TSMap<string, string[]>()\n\n public static get(key: string): string[] | undefined {\n \n return CookieStore.cookieStore.get(key);\n }\n\n public static set(key: string, value: string[]) {\n const v = value.map(v => v.split(';')[0]);\n CookieStore.cookieStore.set(key, v);\n }\n}\n\nexport { CookieStore }","export enum QuizSportType {\n Soccer = 1,\n Tennis = 5,\n Basketball = 6,\n}\n\nexport const quizSupportedSports = [QuizSportType.Basketball, QuizSportType.Soccer, QuizSportType.Tennis];\n","export enum SAWGPMarketType {\n TwoTeamsWithScore = 1,\n RedCard = 2,\n OneXTwo = 3,\n OneXTwoHalftime = 4,\n HalftimeFulltime = 5,\n FirstGoal = 6,\n DoubleChance = 7,\n OverUnder2_5 = 8,\n OverUnder1_5Halftime = 9,\n OverUnder1_5__2ndHalf = 10,\n TotalCorners8_5 = 11,\n TotalCorners9_5 = 12,\n Corners1x2 = 13,\n One_Two = 14,\n Overtime = 15,\n OddEven = 16,\n OddEvenHomeAway = 17,\n FirstSet = 18,\n SecondSet = 19,\n ThirdSet = 20,\n FourthSet = 21,\n FifthSet = 22,\n PlayerOneWinsOneSet = 23,\n PlayerTwoWinsOneSet = 24,\n LastGoal = 25,\n\n CustomSport = 26,\n CustomNonSport = 27,\n}","export enum QuizAnswersValueType {\n HomeTeam = '1',\n AwayTeam = '2',\n Draw = 'x',\n HomeTeamHomeTeam = '1/1',\n HomeTeamDraw = '1/x',\n HomeTeamAwayTeam = '1/2',\n DrawHomeTeam = 'x/1',\n DrawDraw = 'x/x',\n DrawAwayTeam = 'x/2',\n AwayTeamHomeTeam = '2/1',\n AwayTeamDraw = '2/x',\n AwayTeamAwayTeam = '2/2',\n Yes = 'yes',\n No = 'no',\n Odd = 'odd',\n Even = 'even',\n HomeOdd = '1/odd',\n HomeEven = '1/even',\n AwayOdd = '2/odd',\n AwayEven = '2/even',\n}\n\nexport const quizAnswerHomeTeamReplacementText = '{quiz_home_team}';\nexport const quizAnswerAwayTeamReplacementText = '{quiz_away_team}';\nexport const quizDrawReplacementText = '{quiz_draw}';\nexport const quizYesReplacementText = '{yes}';\nexport const quizNoReplacementText = '{no}';\nexport const quizOddReplacementText = '{odd}';\nexport const quizEvenReplacementText = '{even}';\nexport const quizOrReplacementText = '{or}';\n\nexport const quizAnswersTrKeys = {\n [quizDrawReplacementText]: 'quizAnswer_draw',\n [quizYesReplacementText]: 'quizAnswer_yes',\n [quizNoReplacementText]: 'quizAnswer_no',\n [quizOddReplacementText]: 'quizAnswer_odd',\n [quizEvenReplacementText]: 'quizAnswer_even',\n [quizOrReplacementText]: 'quizAnswer_or',\n}\n","import { QuizAnswersValueType, quizAnswerAwayTeamReplacementText, quizAnswerHomeTeamReplacementText, quizDrawReplacementText, quizEvenReplacementText, quizNoReplacementText, quizOddReplacementText, quizOrReplacementText, quizYesReplacementText } from \"./MarketsAnswers\";\nimport { SAWGPMarketType } from \"./MarketsType\";\n\nconst yesNoAnswers = [\n { text: quizYesReplacementText, value: QuizAnswersValueType.Yes },\n { text: quizNoReplacementText, value: QuizAnswersValueType.No }\n]\n\nconst homeAwayAnswers = [\n { text: quizAnswerHomeTeamReplacementText, value: QuizAnswersValueType.HomeTeam },\n { text: quizAnswerAwayTeamReplacementText, value: QuizAnswersValueType.AwayTeam }\n]\n\nconst homeAwayDrawAnswers = [\n ...homeAwayAnswers,\n { text: quizDrawReplacementText, value: QuizAnswersValueType.Draw },\n]\n\nexport const marketsInfo = [\n {\n type: SAWGPMarketType.OneXTwo,\n name: '1x2',\n question: { text: 'Who will win the match ?', trKey: 'quizQuestion_1x2'},\n answers: homeAwayDrawAnswers\n },\n {\n type: SAWGPMarketType.OneXTwoHalftime,\n name: '1x2 Halftime',\n question: { text: 'Who will lead the first half of the match ?', trKey: 'quizQuestion_x2half' },\n answers: homeAwayDrawAnswers\n },\n {\n type: SAWGPMarketType.HalftimeFulltime,\n name: 'Halftime / Fulltime',\n question: { text: 'Who will lead the first half and who will win the match ?', trKey: 'quizQuestion__HalftimeFulltime' },\n answers: [\n { text: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamHomeTeam },\n { text: `${quizAnswerHomeTeamReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.HomeTeamDraw },\n { text: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamAwayTeam },\n { text: `${quizDrawReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.DrawHomeTeam },\n { text: `${quizDrawReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.DrawDraw },\n { text: `${quizDrawReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.DrawAwayTeam },\n { text: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamHomeTeam },\n { text: `${quizAnswerAwayTeamReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.AwayTeamDraw },\n { text: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamAwayTeam }\n ]\n },\n {\n type: SAWGPMarketType.FirstGoal,\n name: 'First Goal',\n question: { text: 'Who will score the first goal ?', trKey: 'quizQuestion_firstGoal' },\n answers: homeAwayDrawAnswers\n },\n {\n type: SAWGPMarketType.LastGoal,\n name: 'Last Goal',\n question: { text: 'Who will score the last goal ?', trKey: 'quizQuestion_lastGoal' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.DoubleChance,\n name: 'Double Chance',\n question: { text: 'Who will win the match? Choose a combination:', trKey: 'quizQuestion_doubleChance' },\n answers: [\n { text: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamDraw },\n { text: `${quizAnswerHomeTeamReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamAwayTeam },\n { text: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamDraw }\n ]\n },\n {\n type: SAWGPMarketType.OverUnder2_5,\n name: 'Over/Under 2.5',\n question: { text: 'Will there be 3 or more goals in the match?', trKey: 'quizQuestion_overUnder2_5' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.OverUnder1_5Halftime,\n name: 'Over/Under 1.5 Halftime',\n question: { text: 'Will there be 2 or more goals in the first half?', trKey: 'quizQuestion_overUnder1_5Halftime' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.OverUnder1_5__2ndHalf,\n name: 'Over/Under 1.5 2nd Half',\n question: { text: 'Will there be 2 or more goals in the second half?', trKey: 'quizQuestion_overUnder1_5__2ndHalf' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.RedCard,\n name: 'Red Card',\n question: { text: 'Will there be a red card in the match?', trKey: 'quizQuestion_redCard' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.TotalCorners8_5,\n name: 'Total Corners 8.5',\n question: { text: 'Will there be 9 or more corners in the match?', trKey: 'quizQuestion_totalCorners8_5' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.TotalCorners9_5,\n name: 'Total Corners 9.5',\n question: { text: 'Will there be 10 or more corners in the match?', trKey: 'quizQuestion_totalCorners9_5' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.Corners1x2,\n name: 'Corners 1x2',\n question: { text: 'Which team will have more corners in the match?', trKey: 'quizQuestion_corners1x2' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.One_Two,\n name: '1-2',\n question: { text: 'Who will win the match ?', trKey: 'quizQuestion_1-2'},\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.Overtime,\n name: 'Overtime',\n question: { text: 'Will there be overtime in the match?', trKey: 'quizQuestion_overtime' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.OddEven,\n name: 'Odd/Even',\n question: { text: 'Is the sum of all points scored in the game going to be an odd number or even?', trKey: 'quizQuestion_oddEven' },\n answers: [\n { text: quizOddReplacementText, value: QuizAnswersValueType.Odd },\n { text: quizEvenReplacementText, value: QuizAnswersValueType.Even }\n ]\n },\n {\n type: SAWGPMarketType.OddEvenHomeAway,\n name: 'Odd/Even Home/Away',\n question: { text: 'Which team will win and what will be the sum of the points (Odd or Even)?', trKey: 'quizQuestion_oddEvenHomeAway' },\n answers: [\n { text: `${quizAnswerHomeTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.HomeOdd },\n { text: `${quizAnswerHomeTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.HomeEven },\n { text: `${quizAnswerAwayTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.AwayOdd },\n { text: `${quizAnswerAwayTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.AwayEven }\n ]\n },\n {\n type: SAWGPMarketType.FirstSet,\n name: 'First Set',\n question: { text: 'Who will win the first set ?', trKey: 'quizQuestion_firstSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.SecondSet,\n name: 'Second Set',\n question: { text: 'Who will win the second set ?', trKey: 'quizQuestion_secondSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.ThirdSet,\n name: 'Third Set',\n question: { text: 'Who will win the third set ?', trKey: 'quizQuestion_thirdSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.FourthSet,\n name: 'Fourth Set',\n question: { text: 'Who will win the fourth set ?', trKey: 'quizQuestion_fourthSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.FifthSet,\n name: 'Fifth Set',\n question: { text: 'Who will win the fifth set ?', trKey: 'quizQuestion_fifthSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.PlayerOneWinsOneSet,\n name: 'Player One Wins One Set',\n question: { text: 'Will Player One win at least one set?', trKey: 'quizQuestion_playerOneWinsOneSet' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.PlayerTwoWinsOneSet,\n name: 'Player Two Wins One Set',\n question: { text: 'Will Player Two win at least one set?', trKey: 'quizQuestion_playerTwoWinsOneSet' },\n answers: yesNoAnswers\n },\n]","import { SAWGPMarketType } from \"./MarketsType\";\nimport { QuizSportType } from \"./SportTypes\";\n\nexport const QuizMarketPerSport = {\n [QuizSportType.Basketball]: [\n SAWGPMarketType.One_Two,\n SAWGPMarketType.Overtime,\n SAWGPMarketType.OneXTwo,\n SAWGPMarketType.OddEven,\n SAWGPMarketType.OddEvenHomeAway,\n SAWGPMarketType.DoubleChance,\n ],\n [QuizSportType.Soccer]: [\n SAWGPMarketType.OneXTwo,\n SAWGPMarketType.OneXTwoHalftime,\n SAWGPMarketType.HalftimeFulltime,\n SAWGPMarketType.FirstGoal,\n SAWGPMarketType.LastGoal,\n SAWGPMarketType.DoubleChance,\n SAWGPMarketType.OverUnder2_5,\n SAWGPMarketType.OverUnder1_5Halftime,\n SAWGPMarketType.OverUnder1_5__2ndHalf,\n SAWGPMarketType.RedCard,\n SAWGPMarketType.TotalCorners8_5,\n SAWGPMarketType.TotalCorners9_5,\n SAWGPMarketType.Corners1x2,\n ],\n [QuizSportType.Tennis]: [\n SAWGPMarketType.One_Two,\n SAWGPMarketType.FirstSet,\n SAWGPMarketType.SecondSet,\n SAWGPMarketType.ThirdSet,\n SAWGPMarketType.FourthSet,\n SAWGPMarketType.FifthSet,\n SAWGPMarketType.PlayerOneWinsOneSet,\n SAWGPMarketType.PlayerTwoWinsOneSet,\n SAWGPMarketType.OddEven\n ]\n}","enum JackpotContributionType {\n Fixed = 1,\n Percentage = 2\n}\n\n\nexport { JackpotContributionType }","\n\nenum JackpotType {\n Main = 1\n}\n\n\nexport { JackpotType }"],"names":["ClassId","IntUtils","uuid","a","b","Math","random","toString","isNotNull","val","isNotEmpty","length","replaceAll","value","regex","replacement","replace","RegExp","escapeRegExp","v","JsonOrText","str","includes","JSON","parse","e","isWithinPeriod","timestamp","period","now","Date","completedDate","getFullYear","getMonth","getDate","startOfWeek","setDate","getDay","setHours","endOfWeek","SAWBuyInType","SAWBuyInTypeName","SAWBuyInTypeNamed","type","Free","Points","Spins","Unknown","SAWUtils","canPlay","t","pointsBalance","undefined","saw_buyin_type_id","spin_count","buyin_cost_points","console","error","SAWAcknowledgeType","SAWAskForUsername","SAWGameType","SAWGameTypeName","SAWGameTypeNamed","SpinAWheel","ScratchCard","MatchX","GiftBox","PrizeDrop","Quiz","SAWPrizeType","MiniGamePrizeTypeName","MiniGamePrizeTypeNamed","NO_PRIZE","POINTS","BONUS","MANUAL","SPIN","JACKPOT","UNKNOWN","SAWTemplatesTransform","items","map","r","_r$saw_skin_ui_defini","_r$saw_skin_ui_defini2","x","id","saw_template_id","name","saw_template_ui_definition","description","thumbnail","saw_skin_ui_definition","skin_folder","saw_skin_key","over_limit_message","no_attempts_message","jackpot_symbol","saw_game_type","saw_game_type_id","saw_buyin_type","jackpot_add_on_attempt","jackpot_current","promo_image","promo_text","custom_data","expose_game_stat_on_api","next_available_spin_ts","prizes","p","y","saw_prize_id","saw_prize_ui_definition","prize_type","prize_type_id","prize_value","font_size","font_size_mobile","icon","position","aknowledge_message","acknowledge_dp","acknowledge_action_title","pool","wins_count","SAWSpinErrorCode","SAWWinSoundType","SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","NodeCache","constructor","ttlChecker","setInterval","getTime","key","cache","hasOwnProperty","o","ttl","get","set","ttlSeconds","remove","flushAll","ECacheContext","OCache","init","cacheContext","oKey","stringify","deepClone","use","f","clear","clearContext","clearAll","ActivityTypeLimited","CoreUtils","currencySymbol","currency","toUpperCase","USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","MXN","SGD","HKD","NOK","KRW","TRY","INR","RUB","BRL","ZAR","avatarUrl","avatar_id","avatarDomain","startsWith","endsWith","slice","PublicLabelSettings","TranslationArea","InboxMessagesTransform","item","sent_date","createDate","message_guid","engagement_uid","read","is_read","favorite","is_starred","InboxMessageBodyTransform","action","image","title","preview_body","body","additional_buttons","buttons","text","inbox_cta_text","html_body","InboxMessageType","BuyStoreItemErrorCode","StoreCategoryTransform","_r$publicMeta","_r$publicMeta2","publicMeta","order","StoreItemType","StoreItemTypeName","StoreItemTypeNamed","Bonus","Tangible","MiniGameSpin","ChangeLevel","StoreItemTransform","filter","_r$itemPublicMeta$pri","_r$categoryIds","itemPublicMeta","price","image_url","ribbon","label_tag","custom_label_tag","limit_message","priority","related_item_ids","related_items","hint_text","itemTypeId","can_buy","canBuy","category_ids","categoryIds","shopPool","StoreItemPurchasedTransform","purchasedToday","purchase_ts","purchasedThisWeek","purchasedThisMonth","purchase_points_amount","purchased_today","purchased_this_week","purchased_this_month","AchievementStatus","AchievementTaskType","AchievementType","UserAchievementTransform","ach_id","_r$ach_categories","completedToday","complete_date_ts","completedThisWeek","completedThisMonth","ach_public_meta","unlock_mission_description","is_completed","isCompleted","is_locked","isLocked","is_requires_optin","requiresOptin","is_opted_in","isOptedIn","time_limit_ms","dt_start","start_date_ts","reward","progress","ach_type_id","Mission","cta_action","cta_text","custom_section_id","only_in_custom_section","tasks","achievementTasks","task_type_id","CompleteAchievement","_t$task_public_meta","task_id","task_public_meta","points_reward","userProgress","execution_count_expected","executionCount","execution_count_actual","userExecutedCount","display_progress_as_count","related_games","g","ext_game_id","game_public_meta","link","enabled","game_categories","game_provider","ach_categories","ach_completed_id","requires_prize_claim","prize_claimed_date_ts","complete_date","completed_today","completed_this_week","completed_this_month","custom_section_type_id","ScheduledMissionType","AchCategoryTransform","TournamentRegistrationType","TournamentRegistrationTypeGetName","AUTO","BUY_IN_POINTS","MANUAL_APPROVAL","OPT_IN","REQUIRES_QUALIFICATION","TournamentRegistrationStatus","TournamentRegistrationStatusName","TournamentRegistrationStatusNamed","CANCELLED","FINISHED","NOT_REGISTERED","PENDING","QUALIFIED_PENDING_REGISTRATION","REGISTERED","REGISTERED_PENDING_QUALIFICATION","TournamentItemsTransform","tournamentId","instance_id","tournamentInstanceId","tournament_id","segment_dont_match_message","image1","image2","image_url2","image2_mobile","image_url2_mobile","prize_pool_short","custom_price_text","is_featured","featured","start_time","startTimeTs","end_time","endTimeTs","registration_count","registrationCount","is_user_registered","isUserRegistered","players_min_count","playersMinCount","players_max_count","playersMaxCount","registration_status","tournamentRegistrationStatus","registration_type","registrationType","registration_cost_points","buyInAmount","duration_ms","durationMs","is_active","TournamentUtils","isActive","is_can_register","isCanRegister","is_cancelled","isCancelled","is_finished","isFinished","is_in_progress","isInProgress","is_upcoming","isUpcoming","prizeStructure","getPrizeTransformed","tournamentPlayer","me","getPlayerTransformed","TournamentInstanceStatus","TournamentInstanceStatusName","s","PUBLISHED","REGISTER","STARTED","FAILED","FINALIZING","tournamentPrizeTypeToPrizeName","DoNothing","DeductPoints","ResetPoints","MiniGameAttempt","tournament","tournamentInstanceStatus","allowLateRegistration","player","isMe","playerTransformed","public_username","userAltName","avatar_url","scores","is_me","prize","_extends","tournamentInfoItemTransform","response","tournamentInfo","tournamentLobbyInfo","players","userPosition","TournamentRegistrationError","TournamentType","LeaderBoardPeriodType","GetLevelMapResponseTransform","levels","l","_l$level_public_meta","level_id","level_public_meta","required_points","visibility_points","parseInt","required_level_counter_1","required_level_counter_2","CACHE_DATA_SEC","JACKPOT_TEMPLATE_CACHE_SEC","JACKPOT_POT_CACHE_SEC","onUpdateContextKey","WSAPI","api","onUpdateCallback","Map","jackpotGetSignature","tracker","on","SAW_SPINS_COUNT_PUSH","data","updateOnSpin","SAW_SHOW_SPIN_PUSH","updateOnAddSpin","SAW_DO_SPIN_RESPONSE","SAW_AKNOWLEDGE_RESPONSE","updateOnPrizeWin","MISSION_OPTIN_RESPONSE","updateMissionsOnOptIn","TOURNAMENT_REGISTER_RESPONSE","updateTournamentsOnRegistration","CLIENT_ENGAGEMENT_EVENT_NEW","updateInboxMessages","LOGOUT_RESPONSE","IDENTIFY_RESPONSE","JP_WIN_PUSH","jackpotClearCache","JP_OPTOUT_RESPONSE","JP_OPTIN_RESPONSE","getUserProfile","Object","assign","userPublicProps","Error","checkSegmentMatch","segment_id","coreCheckSegments","find","is_matching","checkSegmentListMatch","segment_ids","Array","isArray","getLevels","Levels","levelsGetT","getMissions","onUpdate","Missions","missionsGetItemsT","getBadges","Badges","badgetsGetItemsT","getUserLevelExtraCounters","LevelExtraCounters","getUserGamificationInfoT","getStoreItems","StoreItems","storeGetItemsT","buyStoreItem","item_id","err_code","errCode","err_message","errMsg","getStoreCategories","StoreCategories","storeGetCategoriesT","getStorePurchasedItems","limit","offset","StoreHistory","storeGetPurchasedItemsT","getAchCategories","AchCategories","achGetCategoriesT","getCustomSections","CustomSections","getCustomSectionsT","getMiniGames","Saw","sawGetTemplatesT","playMiniGame","template_id","sawSpinRequest","doAcknowledgeRequest","request_id","prize_id","requestMissionOptIn","mission_id","missionOptIn","requestMissionClaimReward","missionClaimPrize","getTournamentsList","TournamentList","tournamentsGetLobbyT","getTournamentInstanceInfo","tournamentsGetInfoT","registerInTournament","getLeaderBoard","periodType","getPreviousPeriod","LeaderBoards","leaderboardsGetT","getInboxMessages","from","to","onlyFavorite","InboxMessages","getInboxMessagesT","getInboxMessageBody","messageGuid","getInboxMessageBodyT","markInboxMessageAsRead","markInboxMessageRead","markAllInboxMessagesAsRead","markAllInboxMessageRead","markUnmarkInboxMessageAsFavorite","mark","deleteInboxMessage","deleteAllInboxMessages","getTranslations","lang_code","getTranslationsT","translations","templates","index","findIndex","updateEntity","payload","SAW_OK","_template$prizes$find","template","prizeType","updatedTemplates","contextKey","Jackpots","Pots","jackpotGet","_this","signature","jp_template_id","related_game_id","jackpots","pots","_jackpots","_pots","jp","pot","jp_template_ids","potGet","_jp","jackpotOptIn","result","jackpotOptOut","pointsRewardTransform","reward_points","i","place","points","getLeaderBoardPlayerTransformed","user","user_alt_name","position_in_board","points_accumulated","getLeaderBoardTransform","board","board_id","board_public_meta","rules","period_type_id","rewards","users","positions","AchCustomSectionType","AchCustomLayoutTheme","AchMissionsTabsOptions","AchOverviewMissionsFilter","UICustomSectionTransform","section_type_id","menu_img","menu_name","custom_skin_images","generic_custom_css","mission_tabs_options","overview_missions_count","overview_missions_filter","theme","PUBLIC_API_URL","C_SOCKET_PROD","AVATAR_DOMAIN","DEFAULT_LANG_EN","SmarticoAPI","label_api_key","brand_api_key","messageSender","options","_options$tracker","publicUrl","wsUrl","inboxCdnUrl","partnerUrl","logger","logCIDs","logHTTPTiming","always","info","getPublicUrl","getPublicWsUrl","getAvatarUrl","getCleanLabelApiKey","getEnvDnsSuffix","ENV_ID","substring","getEnvId","send","message","expectCID","force_language","cid","timeStart","timeEnd","url","request","obj","buildMessage","user_ext_id","api_key","brand_key","ext_user_id","ts","coreReportCustomEvent","eventType","eventMessage","EVENT","eventResponse","EVENT_RESPONSE","coreGetTranslations","areas","cacheSec","trim","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","trBase","GET_TRANSLATIONS_RESPONSE","_trUser$translations","trUserRQ","trUser","keys","forEach","k","coreIdentifyLabel","_this2","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","coreChangeUsername","public_username_custom","CLIENT_SET_CUSTOM_USERNAME_REQUEST","CLIENT_SET_CUSTOM_USERNAME_RESPONSE","CHECK_SEGMENT_MATCH_REQUEST","results","CHECK_SEGMENT_MATCH_RESPONSE","segments","JP_GET_JACKPOTS_REQUEST","JP_GET_JACKPOTS_RESPONSE","JP_GET_LATEST_POTS_REQUEST","JP_GET_LATEST_POTS_RESPONSE","JP_OPTIN_REQUEST","JP_OPTOUT_REQUEST","sawGetTemplates","is_visitor_mode","SAW_GET_SPINS_REQUEST","SAW_GET_SPINS_RESPONSE","_t$saw_template_ui_de","_t$saw_template_ui_de2","jackpotValue","SAW_AKNOWLEDGE_REQUEST","round_id","SAW_DO_SPIN_REQUEST","spinAttemptResponse","status","SAW_NO_SPINS","SAW_PRIZE_POOL_EMPTY","SAW_NOT_ENOUGH_POINTS","SAW_FAILED_MAX_SPINS_REACHED","MISSION_OPTIN_REQUEST","achievementId","res","ACHIEVEMENT_CLAIM_PRIZE_REQUEST","ACHIEVEMENT_CLAIM_PRIZE_RESPONSE","TOURNAMENT_REGISTER_REQUEST","itemId","BUY_SHOP_ITEM_REQUEST","BUY_SHOP_ITEM_RESPONSE","inboxGetMessages","GET_INBOX_MESSAGES_REQUEST","GET_INBOX_MESSAGES_RESPONSE","storeGetItems","GET_SHOP_ITEMS_REQUEST","GET_SHOP_ITEMS_RESPONSE","storeGetCategories","GET_SHOP_CATEGORIES_REQUEST","GET_SHOP_CATEGORIES_RESPONSE","categories","storeGetPurchasedItems","ACH_SHOP_ITEM_HISTORY_REQUEST","ACH_SHOP_ITEM_HISTORY_RESPONSE","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","GET_ACHIEVEMENT_MAP_RESPONSE","responseClone","achievements","getUserGamificationInfo","GET_ACHIEVEMENT_USER_REQUEST","GET_ACHIEVEMENT_USER_RESPONSE","level_counter_1","level_counter_2","achGetCategories","GET_ACH_CATEGORIES_REQUEST","GET_ACH_CATEGORIES_RESPONSE","badgetsGetItems","Badge","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","GET_TOURNAMENT_LOBBY_RESPONSE","tournaments","tournamentsGetInfo","_response$userPositio","_response$tournamentI","GET_TOURNAMENT_INFO_REQUEST","GET_TOURNAMENT_INFO_RESPONSE","leaderboardGet","prevPeriod","_response$map$boardKe","_response$map$boardKe2","GET_LEADERS_BOARD_REQUEST","snapshot_offset","include_users","GET_LEADERS_BOARD_RESPONSE","boardKey","DAILY","levelsGet","GET_LEVEL_MAP_REQUEST","GET_LEVEL_MAP_RESPONSE","GET_CUSTOM_SECTIONS_REQUEST","GET_CUSTOM_SECTIONS_RESPONSE","values","customSections","starred_only","favoriteOnly","log","_this3","getMessageBody","getLabelSetting","INBOX_PUBLIC_CDN","fetch","method","headers","json","MARK_INBOX_READ_REQUEST","MARK_INBOX_READ_RESPONSE","all_read","MARK_INBOX_STARRED_REQUEST","MARK_INBOX_STARRED_RESPONSE","MARK_INBOX_DELETED_REQUEST","MARK_INBOX_DELETED_RESPONSE","all_deleted","getWSCalls","CookieStore","cookieStore","split","TSMap","QuizSportType","quizSupportedSports","Basketball","Soccer","Tennis","SAWGPMarketType","QuizAnswersValueType","quizAnswerHomeTeamReplacementText","quizAnswerAwayTeamReplacementText","quizDrawReplacementText","quizYesReplacementText","quizNoReplacementText","quizOddReplacementText","quizEvenReplacementText","quizOrReplacementText","quizAnswersTrKeys","yesNoAnswers","Yes","No","homeAwayAnswers","HomeTeam","AwayTeam","homeAwayDrawAnswers","Draw","marketsInfo","OneXTwo","question","trKey","answers","OneXTwoHalftime","HalftimeFulltime","HomeTeamHomeTeam","HomeTeamDraw","HomeTeamAwayTeam","DrawHomeTeam","DrawDraw","DrawAwayTeam","AwayTeamHomeTeam","AwayTeamDraw","AwayTeamAwayTeam","FirstGoal","LastGoal","DoubleChance","OverUnder2_5","OverUnder1_5Halftime","OverUnder1_5__2ndHalf","RedCard","TotalCorners8_5","TotalCorners9_5","Corners1x2","One_Two","Overtime","OddEven","Odd","Even","OddEvenHomeAway","HomeOdd","HomeEven","AwayOdd","AwayEven","FirstSet","SecondSet","ThirdSet","FourthSet","FifthSet","PlayerOneWinsOneSet","PlayerTwoWinsOneSet","QuizMarketPerSport","JackpotContributionType","JackpotType"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.mjs","sources":["../src/Base/ClassId.ts","../src/IntUtils.ts","../src/MiniGames/SAWBuyInType.ts","../src/MiniGames/SAWUtils.ts","../src/MiniGames/SAWAcknowledgeType.ts","../src/MiniGames/SAWAskForUsername.ts","../src/MiniGames/SAWGameType.ts","../src/MiniGames/SAWPrizeType.ts","../src/MiniGames/SAWGetTemplatesResponse.ts","../src/MiniGames/SAWSpinErrorCode.ts","../src/MiniGames/SAWWinSoundType.ts","../src/NodeCache.ts","../src/OCache.ts","../src/Core/ActivityTypeLimited.ts","../src/Core/CoreUtils.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/GetInboxMessagesResponse.ts","../src/Inbox/InboxMessage.ts","../src/Inbox/InboxMessageType.ts","../src/Store/BuyStoreItemErrorCode.ts","../src/Store/StoreCategory.ts","../src/Store/StoreItemType.ts","../src/Store/StoreItem.ts","../src/Store/StoreItemPurchased.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.ts","../src/Missions/UserAchievement.ts","../src/Missions/ScheduledMissionType.ts","../src/Missions/AchievementCategory.ts","../src/Tournaments/TournamentRegistrationType.ts","../src/Tournaments/TournamentRegistrationStatus.ts","../src/Tournaments/Tournament.ts","../src/Tournaments/TournamentInstanceStatus.ts","../src/Tournaments/TournamentUtils.ts","../src/Tournaments/GetTournamentInfoResponse.ts","../src/Tournaments/TournamentRegistrationError.ts","../src/Tournaments/TournamentType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Level/GetLevelMapResponse.ts","../src/WSAPI/WSAPI.ts","../src/Leaderboard/LeaderBoards.ts","../src/CustomSections/AchCustomSection.ts","../src/CustomSections/UICustomSection.ts","../src/SmarticoAPI.ts","../src/CookieStore.ts","../src/Quiz/SportTypes.ts","../src/Quiz/MarketsType.ts","../src/Quiz/MarketsAnswers.ts","../src/Quiz/MarketsInfo.ts","../src/Quiz/MarketsPerSport.ts","../src/Jackpots/JackpotContributionType.ts","../src/Jackpots/JackpotType.ts"],"sourcesContent":["export enum ClassId {\n\tPING = 1,\n\tPONG = 2,\n\n\tINIT = 3,\n\tINIT_RESPONSE = 4,\n\tIDENTIFY = 5,\n\tIDENTIFY_RESPONSE = 6,\n\tLOGIN = 7,\n\tLOGOUT = 8,\n\tEVENT = 9,\n\tEVENT_RESPONSE = 10,\n\n\tLOGIN_RESPONSE = 11,\n\tLOGOUT_RESPONSE = 12,\n\n\tGET_TRANSLATIONS_REQUEST = 13,\n\tGET_TRANSLATIONS_RESPONSE = 14,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tCLIENT_ENGAGEMENT_IMPRESSION_REQUEST = 103,\n\tCLIENT_ENGAGEMENT_ACTION_REQUEST = 104,\n\tCLIENT_EXECUTE_DEEPLINK_EVENT = 105,\n\tCLIENT_ENGAGEMENT_FAILED_REQUEST = 106,\n\tCLIENT_EXECUTE_JS_EVENT = 107,\n\tCLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT = 108,\n\tCLIENT_ENGAGEMENT_EVENT_NEW = 110,\n\n\tCLIENT_TRACK_ACTIVITY_REQUEST = 155,\n\tCLIENT_SET_AVATAR_REQUEST = 157,\n\tCLIENT_SET_AVATAR_RESPONSE = 158,\n\n\tCLIENT_SET_CUSTOM_USERNAME_REQUEST = 159,\n\tCLIENT_SET_CUSTOM_USERNAME_RESPONSE = 160,\n\n\tCHECK_SEGMENT_MATCH_REQUEST = 161,\n\tCHECK_SEGMENT_MATCH_RESPONSE = 162,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\t// 500-1000 - Achievements\n\tGET_LEVEL_MAP_REQUEST = 500,\n\tGET_LEVEL_MAP_RESPONSE = 501,\n\tGET_ACHIEVEMENT_MAP_REQUEST = 502,\n\tGET_ACHIEVEMENT_MAP_RESPONSE = 503,\n\tRELOAD_ACHIEVEMENTS_EVENT = 504,\n\tGET_LEADERS_BOARD_REQUEST = 505,\n\tGET_LEADERS_BOARD_RESPONSE = 506,\n\tGET_SHOP_ITEMS_REQUEST = 509,\n\tGET_SHOP_ITEMS_RESPONSE = 510,\n\tBUY_SHOP_ITEM_REQUEST = 511,\n\tBUY_SHOP_ITEM_RESPONSE = 512,\n\tGET_INBOX_MESSAGES_REQUEST = 513,\n\tGET_INBOX_MESSAGES_RESPONSE = 514,\n\tGET_SHOP_CATEGORIES_REQUEST = 515,\n\tGET_SHOP_CATEGORIES_RESPONSE = 516,\n\tGET_TOURNAMENT_LOBBY_REQUEST = 517,\n\tGET_TOURNAMENT_LOBBY_RESPONSE = 518,\n\tGET_TOURNAMENT_INFO_REQUEST = 519,\n\tGET_TOURNAMENT_INFO_RESPONSE = 520,\n\tTOURNAMENT_REGISTER_REQUEST = 521,\n\tTOURNAMENT_REGISTER_RESPONSE = 522,\n\tGET_CUSTOM_SECTIONS_REQUEST = 523,\n\tGET_CUSTOM_SECTIONS_RESPONSE = 524,\n\tMISSION_OPTIN_REQUEST = 525,\n\tMISSION_OPTIN_RESPONSE = 526,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tGET_ACHIEVEMENT_USER_REQUEST = 527,\n\tGET_ACHIEVEMENT_USER_RESPONSE = 528,\n\n\tMARK_INBOX_READ_REQUEST = 529,\n\tMARK_INBOX_READ_RESPONSE = 530,\n\tMARK_INBOX_STARRED_REQUEST = 531,\n\tMARK_INBOX_STARRED_RESPONSE = 532,\n\tMARK_INBOX_DELETED_REQUEST = 535,\n\tMARK_INBOX_DELETED_RESPONSE = 536,\n\n\tGET_ACH_CATEGORIES_REQUEST = 537,\n\tGET_ACH_CATEGORIES_RESPONSE = 538,\n\n\tACHIEVEMENT_CLAIM_PRIZE_REQUEST = 539,\n\tACHIEVEMENT_CLAIM_PRIZE_RESPONSE = 540,\n\n\tACH_SHOP_ITEM_HISTORY_REQUEST = 541,\n\tACH_SHOP_ITEM_HISTORY_RESPONSE = 542,\n\n\tGET_RELATED_ACH_N_TOURNAMENTS_REQUEST = 543,\n\tGET_RELATED_ACH_N_TOURNAMENTS_RESPONSE = 544,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tGET_BONUSES_REQUEST = 600,\n\tGET_BONUSES_RESPONSE = 601,\n\tCLAIM_BONUS_REQUEST = 602,\n\tCLAIM_BONUS_RESPONSE = 603,\n\n\tSAW_GET_SPINS_REQUEST = 700,\n\tSAW_GET_SPINS_RESPONSE = 701,\n\tSAW_DO_SPIN_REQUEST = 702,\n\tSAW_DO_SPIN_RESPONSE = 703,\n\tSAW_AKNOWLEDGE_REQUEST = 704,\n\tSAW_AKNOWLEDGE_RESPONSE = 705,\n\tSAW_SPINS_COUNT_PUSH = 706,\n\tSAW_SHOW_SPIN_PUSH = 707,\n\tSAW_PRIZE_DROP_WIN_PUSH = 708,\n\tSAW_PRIZE_DROP_WIN_AKNOWLEDGE_REQUEST = 709,\n\tSAW_PRIZE_DROP_WIN_AKNOWLEDGE_RESPONSE = 710,\n\tSAW_AKNOWLEDGE_SPIN_PUSH = 711,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tJP_GET_JACKPOTS_REQUEST = 800,\n\tJP_GET_JACKPOTS_RESPONSE = 801,\n\n\tJP_GET_LATEST_POTS_REQUEST = 802,\n\tJP_GET_LATEST_POTS_RESPONSE = 803,\n\n\tJP_OPTIN_REQUEST = 804,\n\tJP_OPTIN_RESPONSE = 805,\n\n\tJP_OPTOUT_REQUEST = 806,\n\tJP_OPTOUT_RESPONSE = 807,\n\n\tJP_WIN_PUSH = 808,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tREGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ = 1003,\n\tREGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP = 2003,\n\n\tCLIENT_DEBUG_REQUEST = 77777,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tUNSUPPORTED_COMMAND = 99999,\n}\n","class IntUtils {\n\tpublic static uuid(): string {\n\t\tlet a: any\n\t\tlet b: any\n\t\tfor (b = a = ''; a++ < 36; b += (a * 51) & 52 ? (a ^ 15 ? 8 ^ (Math.random() * (a ^ 20 ? 16 : 4)) : 4).toString(16) : '-') {}\n\t\treturn b\n\t}\n\n\tpublic static isNotNull(val: any): boolean {\n\t\treturn typeof val !== 'undefined' && val !== null\n\t}\n\n\tpublic static isNotEmpty(val: string): boolean {\n\t\treturn typeof val !== 'undefined' && val !== null && val.length > 0\n\t}\n\n\tpublic static replaceAll(value: string, regex: string, replacement: string | number): string {\n\t\tif (IntUtils.isNotNull(value)) {\n\t\t\treturn value.replace(new RegExp(IntUtils.escapeRegExp(regex), 'g'), replacement?.toString())\n\t\t}\n\t\treturn value\n\t}\n\n\tpublic static escapeRegExp(v: string): string {\n\t\tif (IntUtils.isNotEmpty(v)) {\n\t\t\treturn v.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\t\t}\n\t\treturn v\n\t}\n\n\tpublic static JsonOrText = (str: string): any => {\n\t\tif (str && str.includes && (str.includes('{') || str.includes('['))) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(str)\n\t\t\t} catch (e) {\n\t\t\t\treturn str\n\t\t\t}\n\t\t}\n\t\treturn str\n\t}\n\n\t// public static wsTimeToEpoch = (time: string): number => {\n\t// if (time) {\n\t// return moment.utc(time, \"DD/MM/YYYY HH:mm:ss\").valueOf()\n\t// } else {\n\t// return null\n\t// }\n\t// }\n\n\tpublic static isWithinPeriod = (timestamp: number, period: 'today' | 'thisWeek' | 'thisMonth'): boolean => {\n\t\tconst now = new Date()\n\t\tconst completedDate = new Date(timestamp)\n\n\t\tswitch (period) {\n\t\t\tcase 'today':\n\t\t\t\treturn now.getFullYear() === completedDate.getFullYear() && now.getMonth() === completedDate.getMonth() && now.getDate() === completedDate.getDate()\n\t\t\tcase 'thisWeek':\n\t\t\t\tconst startOfWeek = new Date(now)\n\t\t\t\tstartOfWeek.setDate(now.getDate() - now.getDay())\n\t\t\t\tstartOfWeek.setHours(0, 0, 0, 0)\n\n\t\t\t\tconst endOfWeek = new Date(startOfWeek)\n\t\t\t\tendOfWeek.setDate(startOfWeek.getDate() + 6)\n\t\t\t\tendOfWeek.setHours(23, 59, 59, 999)\n\n\t\t\t\treturn completedDate >= startOfWeek && completedDate <= endOfWeek\n\t\t\tcase 'thisMonth':\n\t\t\t\treturn now.getFullYear() === completedDate.getFullYear() && now.getMonth() === completedDate.getMonth()\n\t\t\tdefault:\n\t\t\t\treturn false\n\t\t}\n\t}\n}\n\nexport { IntUtils }\n","/** @hidden */\nexport enum SAWBuyInType {\n\tFree = 1,\n\tPoints = 2,\n\tSpins = 3,\n}\n\nexport enum SAWBuyInTypeName {\n\tFree = 'free',\n\tPoints = 'points',\n\tSpins = 'spins',\n\tUnknown = 'unknown',\n}\n\n/** @hidden */\nexport const SAWBuyInTypeNamed = (type: SAWBuyInType): SAWBuyInTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWBuyInType.Free]: SAWBuyInTypeName.Free,\n\t\t\t[SAWBuyInType.Points]: SAWBuyInTypeName.Points,\n\t\t\t[SAWBuyInType.Spins]: SAWBuyInTypeName.Spins,\n\t\t}[type] || SAWBuyInTypeName.Unknown\n\t)\n}\n","import { SAWBuyInType } from './SAWBuyInType'\nimport { SAWTemplate } from './SAWTemplate'\n\nclass SAWUtils {\n\tpublic static canPlay = (t: SAWTemplate, pointsBalance: number): boolean => {\n\t\tif (t === null || t === undefined) {\n\t\t\treturn false\n\t\t}\n\n\t\tswitch (t.saw_buyin_type_id) {\n\t\t\tcase SAWBuyInType.Free: {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tcase SAWBuyInType.Spins: {\n\t\t\t\treturn t.spin_count !== null && t.spin_count > 0\n\t\t\t}\n\t\t\tcase SAWBuyInType.Points: {\n\t\t\t\treturn t.buyin_cost_points <= pointsBalance\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tconsole.error('MiniGamesUtils.canPlay: Unknwon SAW buyin type ' + t.saw_buyin_type_id)\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport { SAWUtils }\n","export enum SAWAcknowledgeType {\n\tSilent = 1,\n\tQuickMessage = 2,\n\tFullMessage = 3,\n}\n","export enum SAWAskForUsername {\n\tNOASK = 'no-ask',\n\tONSUMBIT = 'on-submit',\n}\n","/** @hidden */\n\nexport enum SAWGameType {\n\tSpinAWheel = 1,\n\tScratchCard = 2,\n\tMatchX = 3,\n\tGiftBox = 4,\n\tPrizeDrop = 5,\n\tQuiz = 6,\n}\n\nexport enum SAWGameTypeName {\n\tSpinAWheel = 'wheel',\n\tScratchCard = 'scratch',\n\tMatchX = 'matchx',\n\tGiftBox = 'giftbox',\n\tPrizeDrop = 'prizedrop',\n\tQuiz = 'quiz',\n\tUnknown = 'unknown',\n}\n\n/** @hidden */\nexport const SAWGameTypeNamed = (type: SAWGameType): SAWGameTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWGameType.SpinAWheel]: SAWGameTypeName.SpinAWheel,\n\t\t\t[SAWGameType.ScratchCard]: SAWGameTypeName.ScratchCard,\n\t\t\t[SAWGameType.MatchX]: SAWGameTypeName.MatchX,\n\t\t\t[SAWGameType.GiftBox]: SAWGameTypeName.GiftBox,\n\t\t\t[SAWGameType.PrizeDrop]: SAWGameTypeName.PrizeDrop,\n\t\t\t[SAWGameType.Quiz]: SAWGameTypeName.Quiz,\n\t\t}[type] || SAWGameTypeName.Unknown\n\t)\n}\n","/** @hidden */\nexport enum SAWPrizeType {\n\tNO_PRIZE = 1,\n\tPOINTS = 2,\n\tBONUS = 3,\n\tMANUAL = 4,\n\tSPIN = 5,\n\tJACKPOT = 6,\n}\n\nexport enum MiniGamePrizeTypeName {\n\tNO_PRIZE = 'no-prize',\n\tPOINTS = 'points',\n\tBONUS = 'bonus',\n\tMANUAL = 'manual',\n\tSPIN = 'spin',\n\tJACKPOT = 'jackpot',\n\tUNKNOWN = 'unknown',\n}\n\n/** @hidden */\nexport const MiniGamePrizeTypeNamed = (type: SAWPrizeType): MiniGamePrizeTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWPrizeType.NO_PRIZE]: MiniGamePrizeTypeName.NO_PRIZE,\n\t\t\t[SAWPrizeType.POINTS]: MiniGamePrizeTypeName.POINTS,\n\t\t\t[SAWPrizeType.BONUS]: MiniGamePrizeTypeName.BONUS,\n\t\t\t[SAWPrizeType.MANUAL]: MiniGamePrizeTypeName.MANUAL,\n\t\t\t[SAWPrizeType.SPIN]: MiniGamePrizeTypeName.SPIN,\n\t\t\t[SAWPrizeType.JACKPOT]: MiniGamePrizeTypeName.JACKPOT,\n\t\t}[type] || MiniGamePrizeTypeName.UNKNOWN\n\t)\n}\n","import { IntUtils } from '../IntUtils'\nimport { TMiniGamePrize, TMiniGameTemplate } from '../WSAPI/WSAPITypes'\nimport { ProtocolResponse } from './../Base/ProtocolResponse'\nimport { SAWBuyInTypeNamed } from './SAWBuyInType'\nimport { SAWGameTypeNamed } from './SAWGameType'\nimport { MiniGamePrizeTypeName, MiniGamePrizeTypeNamed } from './SAWPrizeType'\nimport { SAWTemplate } from './SAWTemplate'\nimport { SAWUtils } from './SAWUtils'\n\nexport interface SAWGetTemplatesResponse extends ProtocolResponse {\n\ttemplates: SAWTemplate[]\n}\n\nexport const SAWTemplatesTransform = (items: SAWTemplate[]): TMiniGameTemplate[] => {\n\treturn items.map((r) => {\n\t\tconst x: TMiniGameTemplate = {\n\t\t\tid: r.saw_template_id,\n\t\t\tname: r.saw_template_ui_definition.name,\n\t\t\tdescription: r.saw_template_ui_definition.description,\n\t\t\tthumbnail: r.saw_skin_ui_definition?.skin_folder ? r.saw_skin_ui_definition?.skin_folder + '/ico.png' : `https://libs.smartico.ai/gf/images/saw/${r.saw_skin_key}/ico.png`,\n\t\t\tover_limit_message: r.saw_template_ui_definition.over_limit_message,\n\t\t\tno_attempts_message: r.saw_template_ui_definition.no_attempts_message,\n\t\t\tjackpot_symbol: r.saw_template_ui_definition.jackpot_symbol,\n\t\t\tsaw_game_type: SAWGameTypeNamed(r.saw_game_type_id),\n\t\t\tsaw_buyin_type: SAWBuyInTypeNamed(r.saw_buyin_type_id),\n\t\t\tbuyin_cost_points: r.buyin_cost_points,\n\t\t\tjackpot_add_on_attempt: r.jackpot_add_on_attempt,\n\t\t\tjackpot_current: r.jackpot_current,\n\t\t\tspin_count: r.spin_count,\n\t\t\tpromo_image: r.saw_template_ui_definition.promo_image,\n\t\t\tpromo_text: r.saw_template_ui_definition.promo_text,\n\t\t\tcustom_data: IntUtils.JsonOrText(r.saw_template_ui_definition.custom_data),\n\t\t\texpose_game_stat_on_api: r.expose_game_stat_on_api,\n\n\t\t\tnext_available_spin_ts: r.next_available_spin_ts,\n\n\t\t\tprizes: r.prizes.map((p) => {\n\t\t\t\tconst y: TMiniGamePrize = {\n\t\t\t\t\tid: p.saw_prize_id,\n\t\t\t\t\tname: p.saw_prize_ui_definition.name,\n\t\t\t\t\tprize_type: MiniGamePrizeTypeNamed(p.prize_type_id),\n\t\t\t\t\tprize_value: p.prize_value,\n\t\t\t\t\tfont_size: p.saw_prize_ui_definition.font_size,\n\t\t\t\t\tfont_size_mobile: p.saw_prize_ui_definition.font_size_mobile,\n\t\t\t\t\ticon: p.saw_prize_ui_definition.icon,\n\t\t\t\t\tposition: p.saw_prize_ui_definition.position,\n\t\t\t\t\taknowledge_message: p.saw_prize_ui_definition.aknowledge_message,\n\t\t\t\t\tacknowledge_dp: p.saw_prize_ui_definition.acknowledge_dp,\n\t\t\t\t\tacknowledge_action_title: p.saw_prize_ui_definition.acknowledge_action_title,\n\t\t\t\t\tpool: p.pool,\n\t\t\t\t\twins_count: p.wins_count,\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t}),\n\t\t}\n\t\treturn x\n\t})\n}\n","/*\n * Possible error codes for the mini-games attempts\n */\nexport enum SAWSpinErrorCode {\n\t/** No error */\n\tSAW_OK = 0,\n\t/** User doesn't have 'spin attempts' to play. In case buy in type for the game is 'spins' based */\n\tSAW_NO_SPINS = 40001,\n\t/** The are no prizes left to play the game */\n\tSAW_PRIZE_POOL_EMPTY = 40002,\n\t/** User doesn't have enough points to play. In case buy in type for the game is 'points' based */\n\tSAW_NOT_ENOUGH_POINTS = 40003,\n\t/** User reached max number of game attempts defined in the BackOffice */\n\tSAW_FAILED_MAX_SPINS_REACHED = 40004,\n\t/** Special code for the 'visitor' mode */\n\tSAW_VISITOR_STOP_SPIN_REQUEST = -40001,\n}\n","export enum SAWWinSoundType {\n\tDisappointing = 1,\n\tPositive = 2,\n\tHighlyPositive = 3,\n\tNoSound = 4,\n\tCustom = 5,\n}\n\nexport const SAWWinSoundFiles = {\n\t[SAWWinSoundType.NoSound]: null,\n\t[SAWWinSoundType.Disappointing]: 'saw-disappointed.m4a',\n\t[SAWWinSoundType.Positive]: 'saw-positive.m4a',\n\t[SAWWinSoundType.HighlyPositive]: 'saw-highly-positive.m4a',\n}\n","class NodeCache {\n\tprivate static ttlChecker: NodeJS.Timeout\n\n\tprivate static cache: { [key: string]: any } = {}\n\n\tconstructor() {\n\t\tif (NodeCache.ttlChecker === undefined) {\n\t\t\tNodeCache.ttlChecker = setInterval(() => {\n\t\t\t\tconst now = new Date().getTime()\n\t\t\t\tfor (const key in NodeCache.cache) {\n\t\t\t\t\tif (NodeCache.cache.hasOwnProperty(key)) {\n\t\t\t\t\t\tconst o = NodeCache.cache[key]\n\t\t\t\t\t\tif (o.ttl < now) {\n\t\t\t\t\t\t\tdelete NodeCache.cache[key]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 1000)\n\t\t}\n\t}\n\n\tpublic get(key: string): any {\n\t\tconst o = NodeCache.cache[key]\n\t\tif (o !== undefined && o.ttl > new Date().getTime()) {\n\t\t\treturn o.value\n\t\t}\n\t}\n\n\tpublic set(key: string, value: any, ttlSeconds: number = 60) {\n\t\tNodeCache.cache[key] = {\n\t\t\tvalue,\n\t\t\tttl: new Date().getTime() + ttlSeconds * 1000,\n\t\t}\n\t}\n\n\tpublic remove(key: string) {\n\t\tif (NodeCache.cache.hasOwnProperty(key)) {\n\t\t\tdelete NodeCache.cache[key]\n\t\t}\n\t}\n\n\tpublic flushAll() {\n\t\tNodeCache.cache = {}\n\t}\n}\n\nexport { NodeCache }\n","import { NodeCache } from './NodeCache'\n\nexport enum ECacheContext {\n\tTranslations,\n\tLabelInfo,\n\tWSAPI,\n}\n\nconst WITH_REF_CACHE = [ECacheContext.Translations]\n\nexport class OCache {\n\tprivate static cache: { [key: string]: NodeCache } = {}\n\n\tprivate static init(cacheContext: ECacheContext) {\n\t\tif (this.cache[cacheContext] === undefined) {\n\t\t\tthis.cache[cacheContext] = new NodeCache()\n\t\t}\n\t}\n\n\tpublic static get<T>(oKey: any, cacheContext: ECacheContext): T | undefined {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey)\n\n\t\tthis.init(cacheContext)\n\n\t\treturn deepClone(this.cache[cacheContext].get(key))\n\t}\n\n\tpublic static set(oKey: any, o: any, cacheContext: ECacheContext, ttlSeconds: number = 60) {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey)\n\n\t\tthis.init(cacheContext)\n\n\t\tthis.cache[cacheContext].set(key, deepClone(o), ttlSeconds)\n\t}\n\n\tpublic static async use<T>(oKey: any, cacheContext: ECacheContext, f: () => Promise<T>, ttlSeconds: number = 60) {\n\t\tif (ttlSeconds <= 0) {\n\t\t\treturn await f()\n\t\t} else {\n\t\t\tlet o: T = OCache.get(oKey, cacheContext)\n\n\t\t\tif (o === undefined) {\n\t\t\t\to = await f()\n\t\t\t\tOCache.set(oKey, o, cacheContext, ttlSeconds)\n\t\t\t}\n\n\t\t\treturn o\n\t\t}\n\t}\n\n\tpublic static async clear(cacheContext: ECacheContext, oKey: any) {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey)\n\n\t\tif (this.cache[cacheContext]) {\n\t\t\tthis.cache[cacheContext].remove(key)\n\t\t}\n\t}\n\n\tpublic static async clearContext(cacheContext: ECacheContext) {\n\t\tif (this.cache[cacheContext]) {\n\t\t\tthis.cache[cacheContext].flushAll()\n\t\t}\n\t}\n\n\tpublic static async clearAll() {\n\t\tthis.cache = {}\n\t}\n}\n\nconst deepClone = (o: any) => {\n\tif (o) {\n\t\treturn JSON.parse(JSON.stringify(o))\n\t}\n\n\treturn o\n}\n","export enum ActivityTypeLimited {\n\tDoNothing = 8,\n\tPoints = 12,\n\tGiveMission = 14,\n\tStartAnotherCampaign = 15,\n\tMiniGameAttempt = 16,\n\tDeductPoints = 21,\n\tResetPoints = 22,\n\tPopup = 30,\n\tInbox = 31,\n\tSlack = 70,\n\tEmail_To_Customer_Support = 80,\n\tEmail_To_Risk_Operator = 90,\n\tBonus = 100,\n\tWebHook = 200,\n\tTagCustomer = 504,\n\tUnTagCustomer = 505,\n}\n","class CoreUtils {\n\tpublic static avatarUrl = (avatar_id: string, avatarDomain: string): string => {\n\t\tif (avatarDomain && avatar_id !== null && avatar_id !== undefined && !(avatar_id.startsWith && avatar_id.startsWith('http'))) {\n\t\t\tif (avatarDomain.endsWith('/')) {\n\t\t\t\treturn avatarDomain.slice(0, -1) + '/avatar/' + avatar_id\n\t\t\t} else {\n\t\t\t\treturn avatarDomain + '/avatar/' + avatar_id\n\t\t\t}\n\t\t} else {\n\t\t\treturn avatar_id\n\t\t}\n\t}\n\n\tpublic static currencySymbol(currency: string) {\n\t\treturn {\n\t\t\t[currency?.toUpperCase()]: currency?.toUpperCase(),\n\t\t\tUSD: '$', // United States Dollar\n\t\t\tEUR: '\\u20AC', // Euro\n\t\t\tJPY: '\\u00A5', // Japanese Yen\n\t\t\tGBP: '\\u00A3', // British Pound Sterling\n\t\t\tAUD: 'A$', // Australian Dollar\n\t\t\tCAD: 'C$', // Canadian Dollar\n\t\t\tCHF: 'CHF', // Swiss Franc\n\t\t\tCNY: '\\u00A5', // Chinese Yuan\n\t\t\tSEK: 'kr', // Swedish Krona\n\t\t\tNZD: 'NZ$', // New Zealand Dollar\n\t\t\tMXN: 'MX$', // Mexican Peso\n\t\t\tSGD: 'S$', // Singapore Dollar\n\t\t\tHKD: 'HK$', // Hong Kong Dollar\n\t\t\tNOK: 'kr', // Norwegian Krone\n\t\t\tKRW: '\\u20A9', // South Korean Won\n\t\t\tTRY: '\\u20BA', // Turkish Lira\n\t\t\tINR: '\\u20B9', // Indian Rupee\n\t\t\tRUB: '\\u20BD', // Russian Ruble\n\t\t\tBRL: 'R$', // Brazilian Real\n\t\t\tZAR: 'R', // South African Rand\n\t\t}[currency?.toUpperCase()]\n\t}\n}\n\nexport { CoreUtils }\n","export enum PublicLabelSettings {\n\tPUBLIC_API_URL = 'PUBLIC_API_URL',\n\tRECORDING_ENABLED_FOR_ALL_USERS = 'RECORDING_ENABLED_FOR_ALL_USERS',\n\tJS_INJECTION = 'JS_INJECTION',\n\tGAMIFICATION_UI_MAIN = 'GAMIFICATION_UI_MAIN',\n\tGAMIFICATION_UI_WIDGET = 'GAMIFICATION_UI_WIDGET',\n\tGAMIFICATION_UI_MINI_GAME = 'GAMIFICATION_UI_MINI_GAME',\n\tGAMIFICATION_UI_SETTINGS = 'GAMIFICATION_UI_SETTINGS',\n\tGAMIFICATION_UI_MAIN_TEST = 'GAMIFICATION_UI_MAIN_TEST',\n\tGAMIFICATION_UI_WIDGET_TEST = 'GAMIFICATION_UI_WIDGET_TEST',\n\tGAMIFICATION_UI_SETTINGS_TEST = 'GAMIFICATION_UI_SETTINGS_TEST',\n\tFRONT_END_ALLOWED_LANGUAGES = 'FRONT_END_ALLOWED_LANGUAGES',\n\tFRONT_END_ALLOW_DOMAINS = 'FRONT_END_ALLOW_DOMAINS',\n\tDELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS = 'DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS',\n\tSHADOW_LABEL_PUBLIC_KEY = 'SHADOW_LABEL_PUBLIC_KEY',\n\tDYNAMIC_IMAGE_DOMAIN = 'DYNAMIC_IMAGE_DOMAIN',\n\n\tGAMIFICATION_UI_LEVEL_ENABLED = 'GAMIFICATION_UI_LEVEL_ENABLED',\n\tGAMIFICATION_UI_LEVEL_IMAGE_MOB = 'GAMIFICATION_UI_LEVEL_IMAGE_MOB',\n\tGAMIFICATION_UI_LEVEL_IMAGE_DESK = 'GAMIFICATION_UI_LEVEL_IMAGE_DESK',\n\n\tGAMIFICATION_LEVELS_LOGIC2 = 'GAMIFICATION_LEVELS_LOGIC2',\n\tGAMIFICATION_LEVELS_LOGIC3 = 'GAMIFICATION_LEVELS_LOGIC2',\n\n\tAVATAR_CUSTOM_IMAGE_MAX_ID = 'AVATAR_CUSTOM_IMAGE_MAX_ID',\n\tAVATAR_CUSTOM_IMAGE_FOLDER = 'AVATAR_CUSTOM_IMAGE_FOLDER',\n\n\tGAMIFICATION_SHOW_POWERED_BY = 'GAMIFICATION_SHOW_POWERED_BY',\n\t_system_leader_board_mask_username = '_system_leader_board_mask_username',\n\n\tINBOX_PUBLIC_CDN = 'INBOX_PUBLIC_CDN',\n}\n","enum TranslationArea {\n\tCasino = 1,\n\tGamification = 2,\n\tTrading = 3,\n\tArchived = 4,\n\tAffiliation = 5,\n\tRetentionGames = 6,\n\tAffIliateAdminNew = 7,\n}\n\nexport { TranslationArea }\n","import { TInboxMessage } from '../WSAPI/WSAPITypes'\nimport { ProtocolResponse } from '../Base/ProtocolResponse'\nimport { InboxMessage } from './InboxMessage'\n\nexport interface GetInboxMessagesResponse extends ProtocolResponse {\n\tlog: InboxMessage[]\n}\n\nexport const InboxMessagesTransform = (items: InboxMessage[]): TInboxMessage[] => {\n\treturn items.map((item) => {\n\t\tconst x: TInboxMessage = {\n\t\t\tsent_date: item.createDate,\n\t\t\tmessage_guid: item.engagement_uid,\n\t\t\tread: item.is_read,\n\t\t\tfavorite: item.is_starred,\n\t\t}\n\t\treturn x\n\t})\n}\n","import { TInboxMessageBody } from '../WSAPI/WSAPITypes'\nimport { InboxMessageType } from './InboxMessageType'\n\nexport interface InboxMessageBody {\n\taction: string\n\tbody: string\n\ttype: InboxMessageType\n\timage: string\n\ttitle: string\n\thtml_body: string\n\tadditional_buttons?: { inbox_cta_text: string; action: string }[]\n}\n\nexport interface InboxMessage {\n\tcreateDate: string\n\tbody: InboxMessageBody\n\tengagement_uid: string\n\tis_read: boolean\n\tis_starred: boolean\n\tis_deleted?: boolean\n}\n\nexport const InboxMessageBodyTransform = (item: InboxMessageBody): TInboxMessageBody => {\n\tconst x: TInboxMessageBody = {\n\t\taction: item.action,\n\t\ticon: item.image,\n\t\ttitle: item.title,\n\t\tpreview_body: item.body,\n\t}\n\n\tif (item.action === 'dp:inbox') {\n\t\tif (item.additional_buttons && item.additional_buttons.length) {\n\t\t\tx.buttons = item.additional_buttons.map((b) => ({\n\t\t\t\taction: b.action,\n\t\t\t\ttext: b.inbox_cta_text,\n\t\t\t}))\n\t\t}\n\n\t\tx.html_body = item?.html_body || null\n\t}\n\n\treturn x\n}\n","export enum InboxMessageType {\n\tCustom = 0,\n\tMissionCompleted = 1,\n\tMissionUnlocked = 2,\n\tLeaderboardWon = 3,\n\tLevelChanged = 4,\n\tBonusGiven = 5,\n\tPointsAdded = 6,\n\tPointsUsed = 7,\n\tPersonalMessage = 8,\n}\n\n// keep in sync with BO enum\n","export enum BuyStoreItemErrorCode {\n\tFAILED_TO_BUY_SHOP_ITEM = 121,\n\tSHOP_NO_BALANCE = 11000,\n\tSHOP_WRONG_LABEL = 11001,\n\tSHOP_FAILED_TO_BUY_BONUS = 11002, // remote product restriction\n\tSHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION = 11003, // when not visible but trying to buy. Shoudnt happen\n\tSHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION_PURSHASE = 11004, // when visible but not matching to purchase segment\n\tSHOP_FAILED_TO_BUY_MATCHING_BONUS = 11005,\n\tSHOP_FAILED_MAX_BOUGHT_ITEMS_REACHED = 11006,\n\tSHOP_FAILED_POOL_EMPTY = 11009,\n}\n","import { TStoreCategory } from '../WSAPI/WSAPITypes'\nimport { StoreCategoryPublicMeta } from './StoreCategoryPublicMeta'\n\nexport interface StoreCategory {\n\tid?: number\n\tpublicMeta?: StoreCategoryPublicMeta\n}\n\nexport const StoreCategoryTransform = (items: StoreCategory[]): TStoreCategory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TStoreCategory = {\n\t\t\tid: r.id,\n\t\t\tname: r.publicMeta?.name,\n\t\t\torder: r.publicMeta?.order,\n\t\t}\n\t\treturn x\n\t})\n}\n","export enum StoreItemType {\n\tBonus = 1,\n\tTangible = 2,\n\tMiniGameSpin = 3,\n\tChangeLevel = 4,\n\tPrizeDrop = 5,\n}\n\nexport enum StoreItemTypeName {\n\tBonus = 'bonus',\n\tTangible = 'tangible',\n\tMiniGameSpin = 'minigamespin',\n\tChangeLevel = 'changelevel',\n\tPrizeDrop = 'prizedrop',\n\tUnknown = 'unknown',\n}\n\nexport const StoreItemTypeNamed = (type: StoreItemType): StoreItemTypeName => {\n\treturn (\n\t\t{\n\t\t\t[StoreItemType.Bonus]: StoreItemTypeName.Bonus,\n\t\t\t[StoreItemType.Tangible]: StoreItemTypeName.Bonus,\n\t\t\t[StoreItemType.MiniGameSpin]: StoreItemTypeName.MiniGameSpin,\n\t\t\t[StoreItemType.ChangeLevel]: StoreItemTypeName.ChangeLevel,\n\t\t\t[StoreItemType.PrizeDrop]: StoreItemTypeName.PrizeDrop,\n\t\t}[type] || StoreItemTypeName.Unknown\n\t)\n}\n","import { TStoreItem } from '../WSAPI/WSAPITypes'\nimport { StoreItemPublicMeta } from './StoreItemPublicMeta'\nimport { StoreItemType, StoreItemTypeNamed } from './StoreItemType'\n\nexport interface StoreItem {\n\tid: number\n\titemTypeId: StoreItemType\n\titemPublicMeta: StoreItemPublicMeta\n\tcategoryIds?: number[]\n\tcanBuy?: boolean\n\tshopPool: number\n}\n\nexport const StoreItemTransform = (items: StoreItem[]): TStoreItem[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TStoreItem = {\n\t\t\t\tid: r.id,\n\t\t\t\tname: r.itemPublicMeta.name,\n\t\t\t\tprice: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n\t\t\t\timage: r.itemPublicMeta.image_url,\n\t\t\t\tdescription: r.itemPublicMeta.description,\n\t\t\t\tribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n\t\t\t\tlimit_message: r.itemPublicMeta.limit_message,\n\t\t\t\tpriority: r.itemPublicMeta.priority ?? 0,\n\t\t\t\trelated_item_ids: r.itemPublicMeta.related_items,\n\t\t\t\thint_text: r.itemPublicMeta.hint_text,\n\t\t\t\ttype: StoreItemTypeNamed(r.itemTypeId),\n\t\t\t\tcan_buy: r.canBuy,\n\t\t\t\tcategory_ids: r.categoryIds ?? [],\n\t\t\t\tpool: r.shopPool,\n\t\t\t}\n\t\t\treturn x\n\t\t})\n}\n","import { IntUtils } from '../IntUtils'\nimport { TStoreItem } from '../WSAPI/WSAPITypes'\nimport { StoreItem } from './StoreItem'\nimport { StoreItemTypeNamed } from './StoreItemType'\n\ninterface StoreItemPurchased extends StoreItem {\n\tpurchase_ts: number\n\tpurchase_points_amount: number\n\tpurchased_today?: boolean\n\tpurchased_this_week?: boolean\n\tpurchased_this_month?: boolean\n}\n\nexport const StoreItemPurchasedTransform = (items: StoreItemPurchased[]): TStoreItem[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst purchasedToday = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'today') : false\n\t\t\tconst purchasedThisWeek = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisWeek') : false\n\t\t\tconst purchasedThisMonth = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisMonth') : false\n\n\t\t\tconst x: TStoreItem = {\n\t\t\t\tid: r.id,\n\t\t\t\tname: r.itemPublicMeta.name,\n\t\t\t\tprice: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n\t\t\t\timage: r.itemPublicMeta.image_url,\n\t\t\t\tdescription: r.itemPublicMeta.description,\n\t\t\t\tribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n\t\t\t\tlimit_message: r.itemPublicMeta.limit_message,\n\t\t\t\tpriority: r.itemPublicMeta.priority ?? 0,\n\t\t\t\trelated_item_ids: r.itemPublicMeta.related_items,\n\t\t\t\thint_text: r.itemPublicMeta.hint_text,\n\t\t\t\ttype: StoreItemTypeNamed(r.itemTypeId),\n\t\t\t\tcan_buy: r.canBuy,\n\t\t\t\tcategory_ids: r.categoryIds ?? [],\n\t\t\t\tpool: r.shopPool,\n\t\t\t\tpurchase_ts: r.purchase_ts,\n\t\t\t\tpurchase_points_amount: r.purchase_points_amount,\n\t\t\t\tpurchased_today: purchasedToday,\n\t\t\t\tpurchased_this_week: purchasedThisWeek,\n\t\t\t\tpurchased_this_month: purchasedThisMonth,\n\t\t\t}\n\n\t\t\treturn x\n\t\t})\n}\n\nexport { StoreItemPurchased }\n","export enum AchievementStatus {\n\tDraft = 1,\n\tAvailableUnlocked = 2,\n\tAvailableLocked = 3,\n\tArchived = 4,\n\tFeaturedManually = 5,\n\tFeaturedAI = 6,\n\tRecurring = 7,\n}\n","export enum AchievementTaskType {\n\tCompleteAchievement = 1,\n\tUnlockAchievement = 2,\n}\n","export enum AchievementType {\n\tMission = 1,\n\tBadge = 2,\n}\n","import { AchRelatedGame } from '../Base/AchRelatedGame'\nimport { IntUtils } from '../IntUtils'\nimport { TMissionOrBadge } from '../WSAPI/WSAPITypes'\nimport { AchievementPublicMeta } from './AchievementPublicMeta'\nimport { AchievementStatus } from './AchievementStatus'\nimport { AchievementTaskType } from './AchievementTaskType'\nimport { AchievementType } from './AchievementType'\nimport { ScheduledMissionType } from './ScheduledMissionType'\nimport { UserAchievementTask } from './UserAchievementTask'\n\nexport interface UserAchievement {\n\tach_id?: number\n\tach_type_id?: AchievementType\n\tach_public_meta?: AchievementPublicMeta\n\tisCompleted?: boolean\n\tisLocked?: boolean\n\trequiresOptin?: boolean\n\tisOptedIn?: boolean\n\tstart_date?: string // time when mission unlocked or opted-in. Needed to calculated \"remaining time\" in case time_limit_ms is set\n\tstart_date_ts?: number\n\ttime_limit_ms?: number\n\tprogress?: number\n\tcomplete_date?: string\n\tcomplete_date_ts?: number\n\tunlock_date?: string\n\tmilliseconds_till_available?: number\n\tcompleted_tasks?: number\n\tachievementTasks?: UserAchievementTask[]\n\tach_status_id?: AchievementStatus\n\tscheduledMissionType?: ScheduledMissionType\n\trelated_games?: AchRelatedGame[]\n\tactive_from_ts?: number // indicates when 'scheduled' mission is active from,\n\tach_categories?: number[]\n\n\tach_completed_id?: number // ID of the completion fact from ach_completed or ach_completed_recurring tables\n\trequires_prize_claim?: boolean // flag from achievement if the mission prize will be given only after user claims it\n\tprize_claimed_date_ts?: number // the date/timestamp indicating when the prize was claimed by the user\n\n\tcompleted_today?: boolean\n\tcompleted_this_week?: boolean\n\tcompleted_this_month?: boolean\n\tcustom_section_type_id?: number\n}\n\nexport const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBadge[] => {\n\treturn items\n\t\t.filter((r) => r.ach_id >= 1)\n\t\t.map((r) => {\n\t\t\tconst completedToday = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'today') : false\n\t\t\tconst completedThisWeek = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisWeek') : false\n\t\t\tconst completedThisMonth = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisMonth') : false\n\n\t\t\tconst x: TMissionOrBadge = {\n\t\t\t\tid: r.ach_id,\n\t\t\t\tname: r.ach_public_meta.name,\n\t\t\t\tdescription: r.ach_public_meta.description,\n\t\t\t\thint_text: r.ach_public_meta.hint_text,\n\t\t\t\tunlock_mission_description: r.ach_public_meta.unlock_mission_description,\n\t\t\t\timage: r.ach_public_meta.image_url,\n\t\t\t\tis_completed: r.isCompleted,\n\t\t\t\tis_locked: r.isLocked,\n\t\t\t\tis_requires_optin: r.requiresOptin,\n\t\t\t\tis_opted_in: r.isOptedIn,\n\t\t\t\ttime_limit_ms: r.time_limit_ms,\n\t\t\t\tdt_start: r.start_date_ts,\n\t\t\t\treward: r.ach_public_meta.reward,\n\t\t\t\tprogress: r.progress,\n\t\t\t\ttype: r.ach_type_id === AchievementType.Mission ? 'mission' : 'badge',\n\t\t\t\tcta_action: r.ach_public_meta.cta_action,\n\t\t\t\tcta_text: r.ach_public_meta.cta_text,\n\t\t\t\tcustom_section_id: r.ach_public_meta.custom_section_id,\n\t\t\t\tonly_in_custom_section: r.ach_public_meta.only_in_custom_section,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.ach_public_meta.custom_data),\n\t\t\t\tposition: r.ach_public_meta.position,\n\t\t\t\tribbon: r.ach_public_meta.label_tag === 'custom' ? r.ach_public_meta.custom_label_tag : r.ach_public_meta.label_tag,\n\t\t\t\ttasks: (r.achievementTasks || [])\n\t\t\t\t\t.filter((t) => t.task_type_id === AchievementTaskType.CompleteAchievement)\n\t\t\t\t\t.map((t) => ({\n\t\t\t\t\t\tid: t.task_id,\n\t\t\t\t\t\tname: t.task_public_meta?.name,\n\t\t\t\t\t\tpoints_reward: t.points_reward,\n\t\t\t\t\t\tis_completed: t.isCompleted,\n\t\t\t\t\t\tprogress: t.userProgress,\n\t\t\t\t\t\texecution_count_expected: t.executionCount,\n\t\t\t\t\t\texecution_count_actual: t.userExecutedCount,\n\t\t\t\t\t\tdisplay_progress_as_count: t.task_public_meta.display_progress_as_count,\n\t\t\t\t\t})),\n\t\t\t\trelated_games: (r.related_games || []).map((g) => ({\n\t\t\t\t\text_game_id: g.ext_game_id,\n\t\t\t\t\tgame_public_meta: {\n\t\t\t\t\t\tname: g.game_public_meta.name,\n\t\t\t\t\t\tlink: g.game_public_meta.link,\n\t\t\t\t\t\timage: g.game_public_meta.image,\n\t\t\t\t\t\tenabled: g.game_public_meta.enabled,\n\t\t\t\t\t\tgame_categories: g.game_public_meta.game_categories,\n\t\t\t\t\t\tgame_provider: g.game_public_meta.game_provider,\n\t\t\t\t\t},\n\t\t\t\t})),\n\t\t\t\tcategory_ids: r.ach_categories ?? [],\n\t\t\t\tach_completed_id: r.ach_completed_id,\n\t\t\t\trequires_prize_claim: r.requires_prize_claim,\n\t\t\t\tprize_claimed_date_ts: r.prize_claimed_date_ts,\n\t\t\t\tcomplete_date: r.complete_date,\n\t\t\t\tcomplete_date_ts: r.complete_date_ts,\n\t\t\t\tcompleted_today: completedToday,\n\t\t\t\tcompleted_this_week: completedThisWeek,\n\t\t\t\tcompleted_this_month: completedThisMonth,\n\t\t\t\tcustom_section_type_id: r.ach_public_meta.custom_section_type_id,\n\t\t\t}\n\t\t\treturn x\n\t\t})\n}\n","export enum ScheduledMissionType {\n\tFuture = 1,\n\tPast = 2,\n\tPresent = 3,\n}\n","import { TAchCategory } from '../WSAPI/WSAPITypes'\nimport { AchCategoryPublicMeta } from './AchCategoryPublicMeta'\n\nexport interface AchCategory {\n\tid?: number\n\tpublicMeta?: AchCategoryPublicMeta\n}\n\nexport const AchCategoryTransform = (items: AchCategory[]): TAchCategory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TAchCategory = {\n\t\t\tid: r.id,\n\t\t\tname: r.publicMeta?.name,\n\t\t\torder: r.publicMeta?.order,\n\t\t}\n\t\treturn x\n\t})\n}\n","/** @hidden */\nexport enum TournamentRegistrationType {\n\tAUTO = 1,\n\tOPT_IN = 2,\n\tBUY_IN_POINTS = 3,\n\tMANUAL_APPROVAL = 4,\n\tREQUIRES_QUALIFICATION = 5,\n\t// BUY_IN_CASH = 5???,\n}\n\nexport type TournamentRegistrationTypeName = 'AUTO' | 'OPT_IN' | 'BUY_IN_POINTS' | 'MANUAL_APPROVAL' | 'REQUIRES_QUALIFICATION' | 'UNKNOWN'\n\n/** @hidden */\nexport const TournamentRegistrationTypeGetName = (type: TournamentRegistrationType): TournamentRegistrationTypeName => {\n\treturn ({\n\t\t[TournamentRegistrationType.AUTO]: 'AUTO',\n\t\t[TournamentRegistrationType.BUY_IN_POINTS]: 'BUY_IN_POINTS',\n\t\t[TournamentRegistrationType.MANUAL_APPROVAL]: 'MANUAL_APPROVAL',\n\t\t[TournamentRegistrationType.OPT_IN]: 'OPT_IN',\n\t\t[TournamentRegistrationType.REQUIRES_QUALIFICATION]: 'REQUIRES_QUALIFICATION',\n\t}[type] || 'UNKNOWN') as any as TournamentRegistrationTypeName\n}\n","/** @hidden */\nexport enum TournamentRegistrationStatus {\n\tNOT_REGISTERED = 0,\n\tREGISTERED = 1,\n\tFINISHED = 2,\n\tPENDING = 3,\n\tCANCELLED = 4,\n\tREGISTERED_PENDING_QUALIFICATION = 5,\n\tQUALIFIED_PENDING_REGISTRATION = 6,\n}\n\nexport enum TournamentRegistrationStatusName {\n\tNOT_REGISTERED = 'NOT_REGISTERED',\n\tREGISTERED = 'REGISTERED',\n\tFINISHED = 'FINISHED',\n\tPENDING = 'PENDING',\n\tCANCELLED = 'CANCELLED',\n\tREGISTERED_PENDING_QUALIFICATION = 'REGISTERED_PENDING_QUALIFICATION',\n\tQUALIFIED_PENDING_REGISTRATION = 'QUALIFIED_PENDING_REGISTRATION',\n\tUNKNOWN = 'UNKNOWN',\n}\n\n/** @hidden */\nexport const TournamentRegistrationStatusNamed = (type: TournamentRegistrationStatus): TournamentRegistrationStatusName => {\n\treturn ({\n\t\t[TournamentRegistrationStatus.CANCELLED]: TournamentRegistrationStatusName.CANCELLED,\n\t\t[TournamentRegistrationStatus.FINISHED]: TournamentRegistrationStatusName.FINISHED,\n\t\t[TournamentRegistrationStatus.NOT_REGISTERED]: TournamentRegistrationStatusName.NOT_REGISTERED,\n\t\t[TournamentRegistrationStatus.PENDING]: TournamentRegistrationStatusName.PENDING,\n\t\t[TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION]: TournamentRegistrationStatusName.QUALIFIED_PENDING_REGISTRATION,\n\t\t[TournamentRegistrationStatus.REGISTERED]: TournamentRegistrationStatusName.REGISTERED,\n\t\t[TournamentRegistrationStatus.REGISTERED_PENDING_QUALIFICATION]: TournamentRegistrationStatusName.REGISTERED_PENDING_QUALIFICATION,\n\t}[type] || TournamentRegistrationStatusName.UNKNOWN) as TournamentRegistrationStatusName\n}\n","import { TournamentRegistrationType, TournamentRegistrationTypeGetName } from './TournamentRegistrationType'\nimport { TournamentInstanceStatus } from './TournamentInstanceStatus'\nimport { TournamentRegistrationStatus, TournamentRegistrationStatusName, TournamentRegistrationStatusNamed } from './TournamentRegistrationStatus'\nimport { TournamentType } from './TournamentType'\nimport { TournamentPublicMeta } from './TournamentPublicMeta'\nimport { TTournament } from '../WSAPI/WSAPITypes'\nimport { TournamentPlayer, TournamentPrize, TournamentUtils } from '.'\nimport { IntUtils } from '../IntUtils'\nimport { AchRelatedGame } from '../Base/AchRelatedGame'\n\nexport interface Tournament {\n\t/** ID of tournament template */\n\ttournamentId?: number\n\t/** ID of tournament instance. Generated every time when tournament based on specific template is scheduled for run */\n\ttournamentInstanceId?: number\n\t/** Type of the tournament. For now only SCHEDULED is support */\n\ttournamentType?: TournamentType\n\t/** Meta information about tournament that should be used to build UI */\n\tpublicMeta?: TournamentPublicMeta\n\t/** Cost of registration in the tournament in gamification points */\n\tbuyInAmount?: number\n\t/** Not in use */\n\tprizePool?: number\n\t/** The time when tournament is going to start */\n\tstartTime?: string\n\t/** The time when tournament is going to finish */\n\tendTime?: string\n\t/** The time when tournament is going to start, epoch */\n\tstartTimeTs?: number\n\t/** The time when tournament is going to finish, epoch */\n\tendTimeTs?: number\n\t/** Number of users registered in the tournament */\n\tregistrationCount?: number\n\t/** Not in use */\n\ttotalCount?: number\n\t/** Type of registration in the tournament */\n\tregistrationType?: TournamentRegistrationType\n\t/** Status of registration in the tournament for current user */\n\ttournamentRegistrationStatus?: TournamentRegistrationStatus\n\t/** Status of tournament instance */\n\ttournamentInstanceStatus?: TournamentInstanceStatus\n\t/** flag indicating if current user is registered in the tournament */\n\tisUserRegistered?: boolean\n\t/** Indicator if tournament allows later registration, when tournament is already started */\n\tallowLateRegistration?: boolean\n\t/** Minimum number of participant for this tournament. If tournament doesnt have enough registrations, it will not start */\n\tplayersMinCount?: number\n\t/** Maximum number of participant for this tournament. When reached, new users won't be able to register */\n\tplayersMaxCount?: number\n\t/** Tournament duration in millisecnnds */\n\tdurationMs?: number\n\t/** prizes structure */\n\tprizeStructure?: {\n\t\tprizes: TournamentPrize[]\n\t}\n\t/** Information about current user */\n\ttournamentPlayer?: TournamentPlayer\n\n\t/** List of casino games (or other types of entities) related to the tournament */\n\trelated_games?: AchRelatedGame[]\n}\n\nexport const TournamentItemsTransform = (items: Tournament[]): TTournament[] => {\n\treturn items\n\t\t.filter((r) => r.tournamentId >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TTournament = {\n\t\t\t\tinstance_id: r.tournamentInstanceId,\n\t\t\t\ttournament_id: r.tournamentId,\n\t\t\t\tname: r.publicMeta.name,\n\t\t\t\tdescription: r.publicMeta.description,\n\t\t\t\tsegment_dont_match_message: r.publicMeta.segment_dont_match_message,\n\t\t\t\timage1: r.publicMeta.image_url,\n\t\t\t\timage2: r.publicMeta.image_url2,\n\t\t\t\timage2_mobile: r.publicMeta.image_url2_mobile,\n\t\t\t\tprize_pool_short: r.publicMeta.prize_pool_short,\n\t\t\t\tcustom_price_text: r.publicMeta.custom_price_text,\n\t\t\t\tcustom_section_id: r.publicMeta.custom_section_id,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.publicMeta.custom_data),\n\t\t\t\tis_featured: r.publicMeta.featured,\n\t\t\t\tribbon: r.publicMeta.label_tag === 'custom' ? r.publicMeta.custom_label_tag : r.publicMeta.label_tag,\n\t\t\t\tpriority: r.publicMeta.position,\n\n\t\t\t\tstart_time: r.startTimeTs,\n\t\t\t\tend_time: r.endTimeTs,\n\t\t\t\tregistration_count: r.registrationCount,\n\t\t\t\tis_user_registered: r.isUserRegistered,\n\t\t\t\tplayers_min_count: r.playersMinCount,\n\t\t\t\tplayers_max_count: r.playersMaxCount,\n\t\t\t\tregistration_status: TournamentRegistrationStatusNamed(r.tournamentRegistrationStatus),\n\n\t\t\t\tregistration_type: TournamentRegistrationTypeGetName(r.registrationType),\n\t\t\t\tregistration_cost_points: r.buyInAmount,\n\t\t\t\tduration_ms: r.durationMs,\n\n\t\t\t\tis_active: TournamentUtils.isActive(r),\n\t\t\t\tis_can_register: TournamentUtils.isCanRegister(r),\n\t\t\t\tis_cancelled: TournamentUtils.isCancelled(r),\n\t\t\t\tis_finished: TournamentUtils.isFinished(r),\n\t\t\t\tis_in_progress: TournamentUtils.isInProgress(r),\n\t\t\t\tis_upcoming: TournamentUtils.isUpcoming(r),\n\t\t\t}\n\n\t\t\tif (r.prizeStructure) {\n\t\t\t\tx.prizes = r.prizeStructure.prizes.map((p) => TournamentUtils.getPrizeTransformed(p))\n\t\t\t}\n\n\t\t\tif (r.tournamentPlayer) {\n\t\t\t\tx.me = TournamentUtils.getPlayerTransformed(r.tournamentPlayer, true)\n\t\t\t}\n\n\t\t\treturn x\n\t\t})\n}\n","export enum TournamentInstanceStatus {\n\tPUBLISHED = 1,\n\tREGISTER = 2,\n\tSTARTED = 3,\n\tFINISHED = 4,\n\tCANCELLED = 5,\n\tFAILED = 6,\n\tFINALIZING = 7,\n}\n\nexport const TournamentInstanceStatusName = (s: TournamentInstanceStatus): string => {\n\treturn {\n\t\t[TournamentInstanceStatus.PUBLISHED]: 'PUBLISHED',\n\t\t[TournamentInstanceStatus.REGISTER]: 'REGISTER',\n\t\t[TournamentInstanceStatus.STARTED]: 'STARTED',\n\t\t[TournamentInstanceStatus.FINISHED]: 'FINISHED',\n\t\t[TournamentInstanceStatus.CANCELLED]: 'CANCELLED',\n\t\t[TournamentInstanceStatus.FAILED]: 'FAILED',\n\t\t[TournamentInstanceStatus.FINALIZING]: 'FINALIZING',\n\t}[s]\n}\n","import { ActivityTypeLimited } from '../Core'\nimport { Tournament } from './Tournament'\nimport { TournamentInstanceStatus } from './TournamentInstanceStatus'\nimport { TournamentPlayer } from './TournamentPlayer'\nimport { TournamentPrize } from './TournamentPrize'\nimport { TournamentRegistrationStatus } from './TournamentRegistrationStatus'\nimport { TournamentRegistrationType } from './TournamentRegistrationType'\n\nconst tournamentPrizeTypeToPrizeName = (type: ActivityTypeLimited) => {\n\treturn {\n\t\t[ActivityTypeLimited.DoNothing]: 'TANGIBLE',\n\t\t[ActivityTypeLimited.Points]: 'POINTS_ADD',\n\t\t[ActivityTypeLimited.DeductPoints]: 'POINTS_DEDUCT',\n\t\t[ActivityTypeLimited.ResetPoints]: 'POINTS_RESET',\n\t\t[ActivityTypeLimited.MiniGameAttempt]: 'MINI_GAME_ATTEMPT',\n\t\t[ActivityTypeLimited.Bonus]: 'BONUS',\n\t}[type]\n}\n\nexport class TournamentUtils {\n\tpublic static isCanRegister = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\tif (tournament.tournamentRegistrationStatus === TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t!tournament.isUserRegistered &&\n\t\t\t\t(tournament.playersMaxCount !== tournament.registrationCount || tournament.playersMaxCount === null || tournament.playersMaxCount === 0) &&\n\t\t\t\ttournament.registrationType !== TournamentRegistrationType.AUTO &&\n\t\t\t\t(tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n\t\t\t\t\t(tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED && tournament.allowLateRegistration))\n\t\t\t)\n\t\t}\n\t\treturn false\n\t}\n\n\tpublic static isInProgress = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED\n\t\t}\n\t\treturn false\n\t}\n\n\tpublic static isActive = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED\n\t\t\t)\n\t\t}\n\t\treturn false\n\t}\n\n\tpublic static isFinished = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.FINISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.FINALIZING\n\t\t\t)\n\t\t}\n\t\treturn false\n\t}\n\n\tpublic static isCancelled = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn tournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED\n\t\t}\n\t\treturn false\n\t}\n\n\tpublic static isUpcoming = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn tournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED || tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER\n\t\t}\n\t\treturn false\n\t}\n\n\tpublic static getPlayerTransformed = (player: TournamentPlayer, isMe?: boolean) => {\n\t\tif (player) {\n\t\t\tconst playerTransformed = {\n\t\t\t\tpublic_username: player.userAltName,\n\t\t\t\tavatar_url: player.avatar_url,\n\t\t\t\tposition: player.position,\n\t\t\t\tscores: player.scores,\n\t\t\t\tis_me: player.isMe,\n\t\t\t}\n\n\t\t\tif (isMe) {\n\t\t\t\tdelete playerTransformed.is_me\n\t\t\t}\n\n\t\t\treturn playerTransformed\n\t\t}\n\n\t\treturn null\n\t}\n\n\tpublic static getPrizeTransformed = (prize: TournamentPrize) => {\n\t\tif (prize) {\n\t\t\treturn { ...prize, type: tournamentPrizeTypeToPrizeName(prize.type) }\n\t\t}\n\n\t\treturn null\n\t}\n}\n","import { Tournament, TournamentItemsTransform } from './Tournament'\nimport { TournamentPlayer } from './TournamentPlayer'\nimport { ProtocolResponse } from '../Base/ProtocolResponse'\nimport { TournamentPrize } from './TournamentPrize'\nimport { TTournamentDetailed } from '../WSAPI/WSAPITypes'\nimport { TournamentUtils } from './TournamentUtils'\n\nexport interface GetTournamentInfoResponse extends ProtocolResponse {\n\t/** tournament info */\n\ttournamentInfo: {\n\t\t/** id of label, not in use */\n\t\tlabelId: number\n\t\ttournamentLobbyInfo: Tournament\n\t\t/** list of registered users */\n\t\tplayers: TournamentPlayer[]\n\t}\n\t/** information about current user position */\n\tuserPosition: TournamentPlayer\n\t/** prizes structure */\n\tprizeStructure?: {\n\t\tprizes: TournamentPrize[]\n\t}\n}\n\nexport const tournamentInfoItemTransform = (t: GetTournamentInfoResponse): TTournamentDetailed => {\n\tconst response: TTournamentDetailed = {\n\t\t...TournamentItemsTransform([t.tournamentInfo.tournamentLobbyInfo])[0],\n\t\trelated_games: (t.tournamentInfo.tournamentLobbyInfo.related_games || []).map((g) => ({\n\t\t\text_game_id: g.ext_game_id,\n\t\t\tgame_public_meta: {\n\t\t\t\tname: g.game_public_meta.name,\n\t\t\t\tlink: g.game_public_meta.link,\n\t\t\t\timage: g.game_public_meta.image,\n\t\t\t\tenabled: g.game_public_meta.enabled,\n\t\t\t\tgame_categories: g.game_public_meta.game_categories,\n\t\t\t\tgame_provider: g.game_public_meta.game_provider,\n\t\t\t},\n\t\t})),\n\t\tplayers: t.tournamentInfo.players.map((p) => TournamentUtils.getPlayerTransformed(p)),\n\t}\n\n\tif (t.prizeStructure) {\n\t\tresponse.prizes = t.prizeStructure.prizes.map((p) => TournamentUtils.getPrizeTransformed(p))\n\t}\n\n\tif (t.userPosition) {\n\t\tresponse.me = TournamentUtils.getPlayerTransformed(t.userPosition, true)\n\t}\n\n\treturn response\n}\n","export enum TournamentRegistrationError {\n\tNO_ERROR = 0,\n\tTOURNAMENT_INSTANCE_NOT_FOUND = 30001,\n\tTOURNAMENT_REGISTRATION_NOT_ENOUGH_POINTS = 30002,\n\tTOURNAMENT_INSTANCE_NOT_IN_STATE = 30003,\n\tTOURNAMENT_ALREADY_REGISTERED = 30004,\n\tTOURNAMENT_USER_DONT_MATCH_CONDITIONS = 30005,\n\tTOURNAMENT_USER_NOT_REGISTERED = 30006,\n\tTOURNAMENT_CANT_CHANGE_REGISTRATION_STATUS = 30007,\n\tTOURNAMENT_MAX_REGISTRATIONS_REACHED = 30008,\n}\n","export enum TournamentType {\n\tSCHEDULED = 1,\n\tSNG = 2,\n\tTEST = 3,\n}\n","export enum LeaderBoardPeriodType {\n\tDAILY = 1,\n\tWEEKLY = 2,\n\tMONTHLY = 3,\n}\n","import { IntUtils } from '../IntUtils'\nimport { ProtocolResponse } from '../Base/ProtocolResponse'\nimport { TLevel } from '../WSAPI/WSAPITypes'\nimport { Level } from './Level'\n\nexport interface GetLevelMapResponse extends ProtocolResponse {\n\tlevels: Level[]\n}\n\nexport const GetLevelMapResponseTransform = (levels: GetLevelMapResponse): TLevel[] => {\n\treturn levels?.levels.map((l) => ({\n\t\tid: l.level_id,\n\t\tname: l.level_public_meta.name,\n\t\tdescription: l.level_public_meta.description,\n\t\timage: l.level_public_meta.image_url,\n\t\trequired_points: l.required_points,\n\t\tvisibility_points: l.level_public_meta.visibility_points ? parseInt(l.level_public_meta.visibility_points as any) : null,\n\t\trequired_level_counter_1: l.required_level_counter_1,\n\t\trequired_level_counter_2: l.required_level_counter_2,\n\t\tcustom_data: IntUtils.JsonOrText(l.level_public_meta?.custom_data),\n\t}))\n}\n","import { ClassId } from '../Base/ClassId'\nimport { CoreUtils } from '../Core'\nimport { MiniGamePrizeTypeName, SAWDoSpinResponse, SAWSpinErrorCode, SAWSpinsCountPush } from '../MiniGames'\nimport { ECacheContext, OCache } from '../OCache'\nimport { SmarticoAPI } from '../SmarticoAPI'\nimport {\n\tInboxMarkMessageAction,\n\tLeaderBoardDetailsT,\n\tTAchCategory,\n\tTBuyStoreItemResult,\n\tTGetTranslations,\n\tTInboxMessage,\n\tTInboxMessageBody,\n\tTLevel,\n\tTMiniGamePlayResult,\n\tTMiniGameTemplate,\n\tTMissionClaimRewardResult,\n\tTMissionOptInResult,\n\tTMissionOrBadge,\n\tTSegmentCheckResult,\n\tTStoreCategory,\n\tTStoreItem,\n\tTTournament,\n\tTTournamentDetailed,\n\tTTournamentRegistrationResult,\n\tTUICustomSection,\n\tTUserProfile,\n\tUserLevelExtraCountersT,\n} from './WSAPITypes'\nimport { LeaderBoardPeriodType } from '../Leaderboard'\nimport { JackpotDetails, JackpotPot, JackpotWinPush, JackpotsOptinResponse, JackpotsOptoutRequest, JackpotsOptoutResponse } from '../Jackpots'\n\n/** @hidden */\nconst CACHE_DATA_SEC = 30\n\nconst JACKPOT_TEMPLATE_CACHE_SEC = 30\nconst JACKPOT_POT_CACHE_SEC = 1\n\n/** @hidden */\nenum onUpdateContextKey {\n\tSaw = 'saw',\n\tMissions = 'missions',\n\tTournamentList = 'tournamentList',\n\tInboxMessages = 'inboxMessages',\n\tBadges = 'badges',\n\tLevels = 'levels',\n\tStoreItems = 'storeItems',\n\tStoreCategories = 'storeCategories',\n\tAchCategories = 'achCategories',\n\tLeaderBoards = 'leaderBoards',\n\tLevelExtraCounters = 'levelExtraCounters',\n\tSegments = 'segments',\n\tStoreHistory = 'storeHistory',\n\tJackpots = 'jackpots',\n\tPots = 'Pots',\n\tCustomSections = 'customSections',\n}\n\n/** @group General API */\nexport class WSAPI {\n\tprivate onUpdateCallback: Map<onUpdateContextKey, (data: any) => void> = new Map()\n\tprivate jackpotGetSignature: string = ''\n\n\t/** @private */\n\tconstructor(private api: SmarticoAPI) {\n\t\tOCache.clearAll()\n\t\tif (this.api.tracker) {\n\t\t\tconst on = this.api.tracker.on\n\t\t\ton(ClassId.SAW_SPINS_COUNT_PUSH, (data: SAWSpinsCountPush) => this.updateOnSpin(data))\n\t\t\ton(ClassId.SAW_SHOW_SPIN_PUSH, () => this.updateOnAddSpin())\n\t\t\ton(ClassId.SAW_DO_SPIN_RESPONSE, (data: SAWDoSpinResponse) => on(ClassId.SAW_AKNOWLEDGE_RESPONSE, () => this.updateOnPrizeWin(data)))\n\t\t\ton(ClassId.MISSION_OPTIN_RESPONSE, () => this.updateMissionsOnOptIn())\n\t\t\ton(ClassId.TOURNAMENT_REGISTER_RESPONSE, () => this.updateTournamentsOnRegistration())\n\t\t\ton(ClassId.CLIENT_ENGAGEMENT_EVENT_NEW, () => this.updateInboxMessages())\n\t\t\ton(ClassId.LOGOUT_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI))\n\t\t\ton(ClassId.IDENTIFY_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI))\n\t\t\ton(ClassId.JP_WIN_PUSH, (data: JackpotWinPush) => this.jackpotClearCache())\n\t\t\ton(ClassId.JP_OPTOUT_RESPONSE, (data: JackpotsOptoutRequest) => this.jackpotClearCache())\n\t\t\ton(ClassId.JP_OPTIN_RESPONSE, (data: JackpotsOptinResponse) => this.jackpotClearCache())\n\t\t}\n\t}\n\n\t/** Returns information about current user\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getUserProfile().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t * */\n\tpublic getUserProfile(): TUserProfile {\n\t\tif (this.api.tracker) {\n\t\t\tconst o: TUserProfile = Object.assign({}, this.api.tracker.userPublicProps)\n\t\t\to.avatar_url = CoreUtils.avatarUrl(this.api.tracker.userPublicProps.avatar_id, this.api.avatarDomain)\n\t\t\treturn o\n\t\t} else {\n\t\t\tthrow new Error('Tracker is not initialized, cannot getUserProfile')\n\t\t}\n\t}\n\n\t/** Check if user belongs to specific segments\n\t * **Example**:\n\t * ```\n\t * _smartico.api.checkSegmentMatch(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async checkSegmentMatch(segment_id: number): Promise<boolean> {\n\t\tconst r = await this.api.coreCheckSegments(null, [segment_id])\n\t\tif (r && r.find((s) => s.segment_id === segment_id && s.is_matching)) {\n\t\t\treturn true\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t/** Check if user belongs to specific list of segments\n\t * **Example**:\n\t * ```\n\t * _smartico.api.checkSegmentListMatch([1, 2, 3]).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async checkSegmentListMatch(segment_ids: number[]): Promise<TSegmentCheckResult[]> {\n\t\treturn await this.api.coreCheckSegments(null, Array.isArray(segment_ids) ? segment_ids : [segment_ids])\n\t}\n\n\t/** Returns all the levels available the current user\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getLevels().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getLevels().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getLevels(): Promise<TLevel[]> {\n\t\treturn OCache.use(onUpdateContextKey.Levels, ECacheContext.WSAPI, () => this.api.levelsGetT(null), CACHE_DATA_SEC)\n\t}\n\n\t/** Returns all the missions available the current user.\n\t * The returned missions are cached for 30 seconds. But you can pass the onUpdate callback as a parameter.\n\t * Note that each time you call getMissions with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on mission OptIn and the updated missions will be passed to it.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMissions().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getMissions().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getMissions({ onUpdate }: { onUpdate?: (data: TMissionOrBadge[]) => void } = {}): Promise<TMissionOrBadge[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Missions, onUpdate)\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Missions, ECacheContext.WSAPI, () => this.api.missionsGetItemsT(null), CACHE_DATA_SEC)\n\t}\n\n\t/**\n\t * Returns all the badges available the current user\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getBadges(): Promise<TMissionOrBadge[]> {\n\t\treturn OCache.use(onUpdateContextKey.Badges, ECacheContext.WSAPI, () => this.api.badgetsGetItemsT(null), CACHE_DATA_SEC)\n\t}\n\n\t/**\n\t * Returns the extra counters for the current user level.\n\t * These are counters that are configured for each Smartico client separatly by request.\n\t * For example 1st counter could be total wagering amount, 2nd counter could be total deposit amount, etc.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getUserLevelExtraCounters().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getUserLevelExtraCounters(): Promise<UserLevelExtraCountersT> {\n\t\treturn OCache.use(onUpdateContextKey.LevelExtraCounters, ECacheContext.WSAPI, () => this.api.getUserGamificationInfoT(null), CACHE_DATA_SEC)\n\t}\n\n\t/**\n\t *\n\t * Returns all the store items available the current user\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStoreItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getStoreItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\n\tpublic async getStoreItems(): Promise<TStoreItem[]> {\n\t\treturn OCache.use(onUpdateContextKey.StoreItems, ECacheContext.WSAPI, () => this.api.storeGetItemsT(null), CACHE_DATA_SEC)\n\t}\n\n\t/** Buy the specific shop item by item_id. Returns the err_code in case of success or error.\n\t * **Example**:\n\t * ```\n\t * _smartico.api.buyStoreItem(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async buyStoreItem(item_id: number): Promise<TBuyStoreItemResult> {\n\t\tconst r = await this.api.buyStoreItem(null, item_id)\n\n\t\tconst o: TBuyStoreItemResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t}\n\n\t\treturn o\n\t}\n\n\t/**\n\t *\n\t * Returns store categories\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStoreCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getStoreCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getStoreCategories(): Promise<TStoreCategory[]> {\n\t\treturn OCache.use(onUpdateContextKey.StoreCategories, ECacheContext.WSAPI, () => this.api.storeGetCategoriesT(null), CACHE_DATA_SEC)\n\t}\n\n\t/**\n\t * Returns purchased items based on the provided parameters. \"Limit\" and \"offset\" indicate the range of items to be fetched.\n\t * The maximum number of items per request is limited to 20.\n\t * You can leave this params empty and by default it will return list of purchased items ranging from 0 to 20.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStorePurchasedItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async getStorePurchasedItems({ limit, offset, onUpdate }: { limit?: number; offset?: number; onUpdate?: (data: TStoreItem[]) => void } = {}): Promise<TStoreItem[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.StoreHistory, onUpdate)\n\t\t}\n\t\treturn OCache.use(onUpdateContextKey.StoreHistory, ECacheContext.WSAPI, () => this.api.storeGetPurchasedItemsT(null, limit, offset), CACHE_DATA_SEC)\n\t}\n\n\t/**\n\t * Returns missions & badges categories\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getAchCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getAchCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * */\n\tpublic async getAchCategories(): Promise<TAchCategory[]> {\n\t\treturn OCache.use(onUpdateContextKey.AchCategories, ECacheContext.WSAPI, () => this.api.achGetCategoriesT(null), CACHE_DATA_SEC)\n\t}\n\n\t/**\n\t * Returns list of custom sections\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getCustomSections().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getCustomSections().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * */\n\tpublic async getCustomSections(): Promise<TUICustomSection[]> {\n\t\treturn OCache.use(onUpdateContextKey.CustomSections, ECacheContext.WSAPI, () => this.api.getCustomSectionsT(null), CACHE_DATA_SEC)\n\t}\n\n\t/**\n\t * Returns the list of mini-games available for user\n\t * The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getMiniGames with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMiniGames().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getMiniGames().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t */\n\tpublic async getMiniGames({ onUpdate }: { onUpdate?: (data: TMiniGameTemplate[]) => void } = {}): Promise<TMiniGameTemplate[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate)\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC)\n\t}\n\n\t/**\n\t * Plays the specified by template_id mini-game on behalf of user and returns prize_id or err_code\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async playMiniGame(template_id: number): Promise<TMiniGamePlayResult> {\n\t\tconst r = await this.api.sawSpinRequest(null, template_id)\n\t\tthis.api.doAcknowledgeRequest(null, r.request_id)\n\n\t\tconst o: TMiniGamePlayResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t\tprize_id: r.saw_prize_id,\n\t\t}\n\n\t\treturn o\n\t}\n\n\t/**\n\t * Requests an opt-in for the specified mission_id. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async requestMissionOptIn(mission_id: number): Promise<TMissionOptInResult> {\n\t\tconst r = await this.api.missionOptIn(null, mission_id)\n\n\t\tconst o: TMissionOptInResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t}\n\n\t\treturn o\n\t}\n\n\t/**\n\t * Request for claim reward for the specified mission id. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async requestMissionClaimReward(mission_id: number, ach_completed_id: number): Promise<TMissionClaimRewardResult> {\n\t\tconst r = await this.api.missionClaimPrize(null, mission_id, ach_completed_id)\n\n\t\tconst o: TMissionClaimRewardResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t}\n\n\t\treturn o\n\t}\n\n\t/** Returns all the active instances of tournaments\n\t * The returned list is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getTournamentsList with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called when the user has registered in a tournament. Updated list will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getTournamentsList().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getTournamentsList().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * */\n\tpublic async getTournamentsList({ onUpdate }: { onUpdate?: (data: TTournament[]) => void } = {}): Promise<TTournament[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.TournamentList, onUpdate)\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.TournamentList, ECacheContext.WSAPI, () => this.api.tournamentsGetLobbyT(null), CACHE_DATA_SEC)\n\t}\n\n\t/**\n\t * Returns details information of specific tournament instance, the response will include tournament info and the leaderboard of players\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getTournamentsList().then((result) => {\n\t * if (result.length > 0) {\n\t * _smartico.api.getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n\t * console.log(result);\n\t * });\n\t * }\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getTournamentsList().then((result) => {\n\t * if (result.length > 0) {\n\t * _smartico.vapi('EN').getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n\t * console.log(result);\n\t * });\n\t * }\n\t * });\n\t * ```\n\t */\n\tpublic async getTournamentInstanceInfo(tournamentInstanceId: number): Promise<TTournamentDetailed> {\n\t\treturn this.api.tournamentsGetInfoT(null, tournamentInstanceId)\n\t}\n\n\t/**\n\t * Requests registration for the specified tournament instance. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async registerInTournament(tournamentInstanceId: number): Promise<TTournamentRegistrationResult> {\n\t\tconst r = await this.api.registerInTournament(null, tournamentInstanceId)\n\n\t\tconst o: TTournamentRegistrationResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t}\n\n\t\treturn o\n\t}\n\n\t/**\n\t * Returns the leaderboard for the current type (default is Daily). If getPreviousPeriod is passed as true, a leaderboard for the previous period for the current type will be returned.\n\t * For example, if the type is Weekly and getPreviousPeriod is true, a leaderboard for the previous week will be returned.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getLeaderBoard(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getLeaderBoard(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getLeaderBoard(periodType: LeaderBoardPeriodType, getPreviousPeriod?: boolean): Promise<LeaderBoardDetailsT> {\n\t\treturn OCache.use(onUpdateContextKey.LeaderBoards, ECacheContext.WSAPI, () => this.api.leaderboardsGetT(null, periodType, getPreviousPeriod), CACHE_DATA_SEC)\n\t}\n\n\t/** Returns inbox messages based on the provided parameters. \"From\" and \"to\" indicate the range of messages to be fetched.\n\t * The maximum number of messages per request is limited to 20. An indicator \"onlyFavorite\" can be passed to get only messages marked as favorites.\n\t * You can leave this params empty and by default it will return list of messages ranging from 0 to 20.\n\t * This functions return list of messages without the body of the message.\n\t * To get the body of the message you need to call getInboxMessageBody function and pass the message guid contained in each message of this request.\n\t * All other action like mark as read, favorite, delete, etc. can be done using this message GUID.\n\t * The \"onUpdate\" callback will be triggered when the user receives a new message. It will provide an updated list of messages, ranging from 0 to 20, to the onUpdate callback function.\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t * @param params\n\t */\n\tpublic async getInboxMessages({ from, to, onlyFavorite, onUpdate }: { from?: number; to?: number; onlyFavorite?: boolean; onUpdate?: (data: TInboxMessage[]) => void } = {}): Promise<\n\t\tTInboxMessage[]\n\t> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate)\n\t\t}\n\n\t\treturn await this.api.getInboxMessagesT(null, from, to, onlyFavorite)\n\t}\n\n\t/**\n\t * Returns the message body of the specified message guid.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getInboxMessageBody(messageGuid: string): Promise<TInboxMessageBody> {\n\t\treturn await this.api.getInboxMessageBodyT(messageGuid)\n\t}\n\n\t/**\n\t * Requests to mark inbox message with specified guid as read\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markInboxMessageAsRead(messageGuid: string): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markInboxMessageRead(null, messageGuid)\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t}\n\t}\n\n\t/**\n\t * Requests to mark all inbox messages as rea\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markAllInboxMessagesAsRead(): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markAllInboxMessageRead(null)\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t}\n\t}\n\n\t/**\n\t * Requests to mark inbox message with specified guid as favorite. Pass mark true to add message to favorite and false to remove.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markUnmarkInboxMessageAsFavorite(messageGuid: string, mark: boolean): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markUnmarkInboxMessageAsFavorite(null, messageGuid, mark)\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t}\n\t}\n\n\t/**\n\t * Requests to delete inbox message\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async deleteInboxMessage(messageGuid: string): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.deleteInboxMessage(null, messageGuid)\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t}\n\t}\n\n\t/**\n\t * Requests to delete all inbox messages\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async deleteAllInboxMessages(): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.deleteAllInboxMessages(null)\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t}\n\t}\n\n\t/**\n\t * Requests translations for the given language. Returns the object including translation key/translation value pairs. All possible translation keys defined in the back office.\n\t */\n\tpublic async getTranslations(lang_code: string): Promise<TGetTranslations> {\n\t\tconst r = await this.api.getTranslationsT(null, lang_code, [])\n\n\t\treturn {\n\t\t\ttranslations: r.translations,\n\t\t}\n\t}\n\n\tprivate async updateOnSpin(data: SAWSpinsCountPush) {\n\t\tconst templates: TMiniGameTemplate[] = await OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC)\n\t\tconst index = templates.findIndex((t) => t.id === data.saw_template_id)\n\t\ttemplates[index].spin_count = data.spin_count\n\t\tthis.updateEntity(onUpdateContextKey.Saw, templates)\n\t}\n\n\tprivate async updateOnAddSpin() {\n\t\tconst payload = await this.api.sawGetTemplatesT(null)\n\t\tthis.updateEntity(onUpdateContextKey.Saw, payload)\n\t}\n\n\tprivate async updateOnPrizeWin(data: SAWDoSpinResponse) {\n\t\tif (data.errCode === SAWSpinErrorCode.SAW_OK) {\n\t\t\tconst templates: TMiniGameTemplate[] = await OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC)\n\t\t\tconst template: TMiniGameTemplate = templates.find((t) => t.prizes.find((p) => p.id === data.saw_prize_id))\n\t\t\tconst prizeType = template.prizes.find((p) => p.id === data.saw_prize_id)?.prize_type\n\n\t\t\tif (template.jackpot_add_on_attempt || template.spin_count === 1 || prizeType === MiniGamePrizeTypeName.JACKPOT || prizeType === MiniGamePrizeTypeName.SPIN) {\n\t\t\t\tconst updatedTemplates = await this.api.sawGetTemplatesT(null)\n\t\t\t\tthis.updateEntity(onUpdateContextKey.Saw, updatedTemplates)\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async updateMissionsOnOptIn() {\n\t\tconst payload = await this.api.missionsGetItemsT(null)\n\t\tthis.updateEntity(onUpdateContextKey.Missions, payload)\n\t}\n\n\tprivate async updateTournamentsOnRegistration() {\n\t\tconst payload = await this.api.tournamentsGetLobbyT(null)\n\t\tthis.updateEntity(onUpdateContextKey.TournamentList, payload)\n\t}\n\n\tprivate async updateInboxMessages() {\n\t\tconst payload = await this.api.getInboxMessagesT(null)\n\t\tthis.updateEntity(onUpdateContextKey.InboxMessages, payload)\n\t}\n\n\tprivate async updateEntity(contextKey: onUpdateContextKey, payload: any) {\n\t\tOCache.set(contextKey, payload, ECacheContext.WSAPI)\n\n\t\tconst onUpdate = this.onUpdateCallback.get(contextKey)\n\t\tif (onUpdate) {\n\t\t\tonUpdate(payload)\n\t\t}\n\t}\n\n\tprivate async jackpotClearCache() {\n\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Jackpots)\n\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Pots)\n\t}\n\n\t/** Returns list of Jackpots that are active in the systen and matching to the filter definition.\n\t * If filter is not provided, all active jackpots will be returned.\n\t * Filter can be used to get jackpots related to specific game or specific jackpot template.\n\t * You can call this method every second in order to get up to date information about current value of the jackpot(s) and present them to the end-users\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async jackpotGet(filter?: { related_game_id?: string; jp_template_id?: number }): Promise<JackpotDetails[]> {\n\t\tconst signature: string = `${filter?.jp_template_id}:${filter?.related_game_id}`\n\n\t\tif (signature !== this.jackpotGetSignature) {\n\t\t\tthis.jackpotGetSignature = signature\n\t\t\tthis.jackpotClearCache()\n\t\t}\n\n\t\tlet jackpots: JackpotDetails[] = []\n\t\tlet pots: JackpotPot[] = []\n\n\t\tjackpots = await OCache.use<JackpotDetails[]>(\n\t\t\tonUpdateContextKey.Jackpots,\n\t\t\tECacheContext.WSAPI,\n\t\t\tasync () => {\n\t\t\t\tconst _jackpots = await this.api.jackpotGet(null, filter)\n\t\t\t\tconst _pots = _jackpots.items.map((jp) => jp.pot)\n\n\t\t\t\tOCache.set(onUpdateContextKey.Pots, _pots, ECacheContext.WSAPI, JACKPOT_POT_CACHE_SEC)\n\t\t\t\treturn _jackpots.items\n\t\t\t},\n\t\t\tJACKPOT_TEMPLATE_CACHE_SEC,\n\t\t)\n\n\t\tif (jackpots.length > 0) {\n\t\t\tpots = await OCache.use<JackpotPot[]>(\n\t\t\t\tonUpdateContextKey.Pots,\n\t\t\t\tECacheContext.WSAPI,\n\t\t\t\tasync () => {\n\t\t\t\t\tconst jp_template_ids = jackpots.map((jp) => jp.jp_template_id)\n\t\t\t\t\treturn (await this.api.potGet(null, { jp_template_ids })).items\n\t\t\t\t},\n\t\t\t\tJACKPOT_POT_CACHE_SEC,\n\t\t\t)\n\t\t}\n\n\t\treturn jackpots.map((jp) => {\n\t\t\tlet _jp: JackpotDetails = {\n\t\t\t\t...jp,\n\t\t\t\tpot: pots.find((p) => p.jp_template_id === jp.jp_template_id),\n\t\t\t}\n\t\t\treturn _jp\n\t\t})\n\t}\n\n\t/**\n\t * Opt-in currently logged in user to the jackpot with the specified jp_template_id.\n\t * You may call jackpotGet method after doing optin to see that user is opted in to the jackpot.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotOptIn({ jp_template_id: 123 }).then((result) => {\n\t * console.log('Opted in to the jackpot');\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t */\n\tpublic async jackpotOptIn(filter: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n\t\tif (!filter.jp_template_id) {\n\t\t\tthrow new Error('jp_template_id is required in jackpotOptIn')\n\t\t}\n\n\t\tconst result = await this.api.jackpotOptIn(null, filter)\n\n\t\treturn result\n\t}\n\n\t/**\n\t * Opt-out currently logged in user from the jackpot with the specified jp_template_id.\n\t * You may call jackpotGet method after doing optout to see that user is not opted in to the jackpot.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotOptOut({ jp_template_id: 123 }).then((result) => {\n\t * console.log('Opted out from the jackpot');\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t */\n\tpublic async jackpotOptOut(filter: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n\t\tif (!filter.jp_template_id) {\n\t\t\tthrow new Error('jp_template_id is required in jackpotOptOut')\n\t\t}\n\n\t\tconst result = await this.api.jackpotOptOut(null, filter)\n\n\t\treturn result\n\t}\n}\n","import { LeaderBoardDetailsT, LeaderBoardUserT, LeaderBoardsRewardsT } from '../WSAPI/WSAPITypes'\nimport { LeaderBoardDetails } from './LeaderBoardDetails'\nimport { LeaderBoardPeriodType } from './LeaderBoardPeriodType'\nimport { LeaderBoardPosition } from './LeaderBoardPosition'\n\nconst pointsRewardTransform = (reward_points: number[]): LeaderBoardsRewardsT[] => {\n\tif (reward_points && reward_points.length) {\n\t\treturn reward_points.map((r, i) => ({ place: i + 1, points: r }))\n\t}\n\n\treturn null\n}\n\nconst getLeaderBoardPlayerTransformed = (user: LeaderBoardPosition, isMe?: boolean): LeaderBoardUserT => {\n\tif (user) {\n\t\tconst x: LeaderBoardUserT = {\n\t\t\tpublic_username: user?.public_username || user.user_alt_name,\n\t\t\tavatar_url: user.avatar_url,\n\t\t\tposition: user.position_in_board,\n\t\t\tpoints: user.points_accumulated,\n\t\t\tis_me: user.is_me,\n\t\t}\n\n\t\tif (isMe) {\n\t\t\tdelete x.is_me\n\t\t}\n\n\t\treturn x\n\t}\n\n\treturn null\n}\n\nexport const getLeaderBoardTransform = (board: LeaderBoardDetails): LeaderBoardDetailsT => {\n\tif (board) {\n\t\tconst x: LeaderBoardDetailsT = {\n\t\t\tboard_id: board.board_id,\n\t\t\tname: board.board_public_meta.name,\n\t\t\tdescription: board.board_public_meta.description,\n\t\t\trules: board.board_public_meta.rules,\n\t\t\tperiod_type_id: board.period_type_id,\n\t\t\trewards: pointsRewardTransform(board.reward_points),\n\t\t\tusers: board.positions.map((p) => getLeaderBoardPlayerTransformed(p)),\n\t\t\tme: getLeaderBoardPlayerTransformed(board.userPosition, true),\n\t\t}\n\n\t\treturn x\n\t}\n\n\treturn null\n}\n","export enum AchCustomSectionType {\n\tHTML_PAGE = 1,\n\tMISSIONS_CATEGORY = 2,\n\tTOURNAMENTS_CATEGORY = 3,\n\tLEVELS = 4,\n\tMINI_GAMES = 5,\n\tMISSION_CUSTOM_LAYOUT = 6,\n\tMATCH_X = 7,\n}\n\nexport enum AchCustomLayoutTheme {\n\tVALENTINES_LIGHT = 'valentines-light',\n\tVALENTINES_DARK = 'valentines-dark',\n\tEURO_2024 = 'euro-2024',\n\tGENERIC = 'generic',\n}\n\nexport enum AchMissionsTabsOptions {\n\tONLY_OVERVIEW = 1,\n\tNO_OVERVIEW = 2,\n\tALL = 3,\n}\n\nexport enum AchOverviewMissionsFilter {\n\tANY = 1,\n\tALL_MISSIONS = 2,\n\tALL_EXCEPT_COMPLETED = 3,\n\tALL_EXCEPT_LOCKED = 4,\n\tALL_EXCEPT_COMPLETED_AND_LOCKED = 5,\n}\n","import { TUICustomSection } from '../WSAPI/WSAPITypes'\nimport { AchCustomLayoutTheme, AchCustomSectionType, AchMissionsTabsOptions, AchOverviewMissionsFilter } from './AchCustomSection'\n\nexport interface UICustomSection {\n\tbody?: string\n\tmenu_img?: string\n\tmenu_name?: string\n\tcustom_skin_images?: string\n\tsection_type_id?: AchCustomSectionType\n\ttheme?: AchCustomLayoutTheme\n\tgeneric_custom_css?: string\n\tmission_tabs_options?: AchMissionsTabsOptions\n\toverview_missions_filter?: AchOverviewMissionsFilter\n\toverview_missions_count?: number\n}\n\nexport const UICustomSectionTransform = (items: UICustomSection[]): TUICustomSection[] => {\n\treturn items\n\t\t.filter((r) => r.section_type_id !== undefined && r.section_type_id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TUICustomSection = {\n\t\t\t\tbody: r.body,\n\t\t\t\tmenu_img: r.menu_img,\n\t\t\t\tmenu_name: r.menu_name,\n\t\t\t\tsection_type_id: r.section_type_id,\n\t\t\t\tcustom_skin_images: r.custom_skin_images,\n\t\t\t\tgeneric_custom_css: r.generic_custom_css,\n\t\t\t\tmission_tabs_options: r.mission_tabs_options,\n\t\t\t\toverview_missions_count: r.overview_missions_count,\n\t\t\t\toverview_missions_filter: r.overview_missions_filter,\n\t\t\t\ttheme: r.theme,\n\t\t\t}\n\t\t\treturn x\n\t\t})\n}\n","import { ClassId } from './Base/ClassId'\nimport { ProtocolRequest } from './Base/ProtocolRequest'\nimport { ProtocolResponse } from './Base/ProtocolResponse'\nimport { SAWGetTemplatesResponse } from './MiniGames/SAWGetTemplatesResponse'\nimport { SAWGetTemplatesRequest } from './MiniGames/SAWGetTemplatesRequest'\nimport { IntUtils } from './IntUtils'\nimport { ILogger } from './ILogger'\nimport { SAWDoAknowledgeRequest, SAWDoAknowledgeResponse, SAWDoSpinRequest, SAWDoSpinResponse, SAWSpinErrorCode, SAWTemplatesTransform } from './MiniGames'\nimport { ECacheContext, OCache } from './OCache'\nimport { CoreUtils, GetTranslationsRequest, GetTranslationsResponse, PublicLabelSettings, ResponseIdentify, TranslationArea } from './Core'\nimport { GetLabelInfoResponse } from './Core/GetLabelInfoResponse'\nimport { GetLabelInfoRequest } from './Core/GetLabelInfoRequest'\nimport {\n\tGetInboxMessagesRequest,\n\tGetInboxMessagesResponse,\n\tInboxMessageBody,\n\tInboxMessageBodyTransform,\n\tInboxMessagesTransform,\n\tMarkInboxMessageDeletedRequest,\n\tMarkInboxMessageDeletedResponse,\n\tMarkInboxMessageReadRequest,\n\tMarkInboxMessageReadResponse,\n\tMarkInboxMessageStarredRequest,\n\tMarkInboxMessageStarredResponse,\n} from './Inbox'\nimport {\n\tBuyStoreItemRequest,\n\tBuyStoreItemResponse,\n\tGetCategoriesStoreResponse,\n\tGetStoreHistoryRequest,\n\tGetStoreHistoryResponse,\n\tGetStoreItemsResponse,\n\tStoreCategoryTransform,\n\tStoreItemPurchasedTransform,\n\tStoreItemTransform,\n} from './Store'\nimport {\n\tAchCategoryTransform,\n\tAchClaimPrizeRequest,\n\tAchClaimPrizeResponse,\n\tAchievementOptinRequest,\n\tAchievementOptinResponse,\n\tAchievementType,\n\tGetAchCategoriesResponse,\n\tGetAchievementMapRequest,\n\tGetAchievementMapResponse,\n\tUserAchievementTransform,\n} from './Missions'\nimport {\n\tGetTournamentInfoRequest,\n\tGetTournamentInfoResponse,\n\tGetTournamentsRequest,\n\tGetTournamentsResponse,\n\tTournamentItemsTransform,\n\tTournamentRegisterRequest,\n\tTournamentRegisterResponse,\n\ttournamentInfoItemTransform,\n} from './Tournaments'\nimport { GetLeaderBoardsRequest, GetLeaderBoardsResponse, LeaderBoardDetails, LeaderBoardPeriodType } from './Leaderboard'\nimport { GetLevelMapResponse, GetLevelMapResponseTransform } from './Level'\nimport { WSAPI } from './WSAPI/WSAPI'\nimport {\n\tTInboxMessage,\n\tTInboxMessageBody,\n\tTLevel,\n\tTMiniGameTemplate,\n\tTMissionOrBadge,\n\tTStoreCategory,\n\tTAchCategory,\n\tTStoreItem,\n\tTTournament,\n\tTTournamentDetailed,\n\tLeaderBoardDetailsT,\n\tUserLevelExtraCountersT,\n\tTSegmentCheckResult,\n\tTUICustomSection,\n} from './WSAPI/WSAPITypes'\nimport { getLeaderBoardTransform } from './Leaderboard/LeaderBoards'\nimport { GetAchievementsUserInfoResponse } from './Core/GetAchievementsUserInfoResponse'\nimport { CheckSegmentMatchResponse } from './Core/CheckSegmentMatchResponse'\nimport { CheckSegmentMatchRequest } from './Core/CheckSegmentMatchRequest'\nimport {\n\tGetJackpotsPotsRequest,\n\tGetJackpotsPotsResponse,\n\tGetJackpotsRequest,\n\tGetJackpotsResponse,\n\tJackpotDetails,\n\tJackpotPot,\n\tJackpotsOptinRequest,\n\tJackpotsOptinResponse,\n\tJackpotsOptoutRequest,\n\tJackpotsOptoutResponse,\n} from './Jackpots'\nimport { GetCustomSectionsRequest, GetCustomSectionsResponse, UICustomSectionTransform } from './CustomSections'\n\nconst PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public'\nconst C_SOCKET_PROD = 'wss://api{ENV_ID}.smartico.ai/websocket/services'\nconst AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc'\nconst DEFAULT_LANG_EN = 'EN'\n\ninterface Tracker {\n\tlabel_api_key: string\n\tuserPublicProps: any\n\ton: (callBackKey: ClassId, func: (data: any) => void) => void\n\tgetLabelSetting: (key: PublicLabelSettings) => any\n}\ninterface IOptions {\n\tlogger?: ILogger\n\tlogCIDs?: ClassId[]\n\tlogHTTPTiming?: boolean\n\ttracker?: Tracker\n}\n\ntype MessageSender = (message: any, publicApuUrl?: string, expectCID?: ClassId) => Promise<any>\n\nclass SmarticoAPI {\n\tprivate publicUrl: string\n\tprivate wsUrl: string\n\tprivate inboxCdnUrl: string\n\tprivate partnerUrl: string\n\tpublic avatarDomain: string\n\n\tprivate logger: ILogger\n\tprivate logCIDs: ClassId[]\n\tprivate logHTTPTiming: boolean\n\tpublic tracker?: Tracker\n\n\tpublic constructor(\n\t\tprivate label_api_key: string,\n\t\tprivate brand_api_key: string,\n\t\tprivate messageSender: MessageSender,\n\t\toptions: IOptions = {},\n\t) {\n\t\tthis.logger = options.logger || (console as any)\n\n\t\tif (this.logger.always === undefined) {\n\t\t\tthis.logger.always = this.logger.info\n\t\t}\n\n\t\tthis.logCIDs = options.logCIDs || []\n\t\tthis.logHTTPTiming = options.logHTTPTiming || false\n\t\tthis.tracker = options.tracker\n\n\t\tthis.publicUrl = SmarticoAPI.getPublicUrl(label_api_key)\n\t\tthis.wsUrl = SmarticoAPI.getPublicWsUrl(label_api_key)\n\n\t\tthis.avatarDomain = SmarticoAPI.getAvatarUrl(label_api_key || options.tracker?.label_api_key)\n\n\t\tthis.label_api_key = SmarticoAPI.getCleanLabelApiKey(label_api_key)\n\t}\n\n\tpublic static getEnvDnsSuffix(label_api_key: string): string {\n\t\tlet ENV_ID = label_api_key.length === 38 ? label_api_key.substring(37, 38) : ''\n\n\t\tif (ENV_ID === '1' || ENV_ID === '2') {\n\t\t\tENV_ID = ''\n\t\t}\n\t\treturn ENV_ID\n\t}\n\n\tpublic static getEnvId(label_api_key: string): number {\n\t\treturn label_api_key.length === 38 ? parseInt(label_api_key.substring(37, 38), 10) : 2\n\t}\n\n\tpublic static getCleanLabelApiKey(label_api_key: string): string {\n\t\treturn label_api_key.substring(0, 36)\n\t}\n\n\tpublic static getPublicUrl(label_api_key: string): string {\n\t\treturn PUBLIC_API_URL.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key))\n\t}\n\n\tpublic static getPublicWsUrl(label_api_key: string): string {\n\t\treturn C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key))\n\t}\n\n\tpublic static getAvatarUrl(label_api_key: string): string {\n\t\treturn AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key))\n\t}\n\n\tprivate async send<T>(message: any, expectCID?: ClassId, force_language?: string): Promise<T> {\n\t\tif (this.logCIDs.includes(message.cid)) {\n\t\t\tthis.logger.info('REQ', message)\n\t\t}\n\n\t\tif (force_language) {\n\t\t\tmessage.force_language = force_language\n\t\t}\n\n\t\tlet result: any\n\n\t\ttry {\n\t\t\tconst timeStart = new Date().getTime()\n\t\t\tresult = await this.messageSender(message, this.publicUrl, expectCID)\n\t\t\tconst timeEnd = new Date().getTime()\n\n\t\t\tif (this.logHTTPTiming) {\n\t\t\t\tthis.logger.always('HTTP time, ms:' + (timeEnd - timeStart))\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis.logger.error(`Failed to make request to smartico channel, L2. ${e.message}`, { url: this.publicUrl, request: message, error: e.message })\n\t\t\tthrow new Error(`Failed to make request to smartico channel, L2 L1. ${e.message}`)\n\t\t}\n\n\t\tif (this.logCIDs.includes(message.cid)) {\n\t\t\tthis.logger.info('RES', result)\n\t\t}\n\n\t\tif (expectCID) {\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tfor (const str of result as string[]) {\n\t\t\t\t\tconst obj: ProtocolResponse = JSON.parse(str)\n\t\t\t\t\tif (this.logCIDs.includes(obj.cid)) {\n\t\t\t\t\t\tthis.logger.info('RES', result)\n\t\t\t\t\t}\n\t\t\t\t\tif (obj.cid === expectCID) {\n\t\t\t\t\t\treturn obj as any\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.logger.error(`Cant find proper response in array, expected CID ${expectCID}`, { request: message, response: result })\n\t\t\t} else {\n\t\t\t\treturn result\n\t\t\t}\n\t\t} else {\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tif (result.length === 1) {\n\t\t\t\t\tconst obj = JSON.parse(result[0])\n\t\t\t\t\tif (this.logCIDs.includes(obj.cid)) {\n\t\t\t\t\t\tthis.logger.info('RES', result)\n\t\t\t\t\t}\n\t\t\t\t\treturn obj\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger.error('Expected one response, but got array', { request: message, response: result })\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result\n\t\t}\n\t}\n\n\tprivate buildMessage<TRequest, TResponse>(user_ext_id: string, cid: ClassId, payload: Partial<TRequest> = {}): TResponse {\n\t\tconst message: ProtocolRequest = {\n\t\t\t// AA: in fact we need api and brand keys and ext_user_id only in the context of HTTP\n\t\t\t// its not needed in WebSocket and can be deleted\n\t\t\tapi_key: this.label_api_key,\n\t\t\tbrand_key: this.brand_api_key,\n\t\t\text_user_id: user_ext_id,\n\t\t\tcid,\n\t\t\tuuid: IntUtils.uuid(),\n\t\t\tts: new Date().getTime(),\n\t\t\t...payload,\n\t\t}\n\n\t\tif (message.ext_user_id === undefined || message.ext_user_id === null) {\n\t\t\tdelete message.ext_user_id\n\t\t}\n\n\t\tif (message.brand_key === undefined || message.brand_key === null) {\n\t\t\tdelete message.brand_key\n\t\t}\n\n\t\treturn message as any\n\t}\n\n\tpublic async coreReportCustomEvent(user_ext_id: string, eventType: string, payload: any = {}): Promise<any> {\n\t\tconst eventMessage = this.buildMessage<any, any>(user_ext_id, ClassId.EVENT, {\n\t\t\teventType,\n\t\t\tpayload,\n\t\t})\n\n\t\tconst eventResponse = await this.send<any>(eventMessage, ClassId.EVENT_RESPONSE)\n\t\treturn eventResponse\n\t}\n\n\tpublic async coreGetTranslations(user_ext_id: string, lang_code: string, areas: TranslationArea[], cacheSec: number = 60): Promise<GetTranslationsResponse> {\n\t\tif (lang_code === undefined || lang_code === null || (lang_code.trim && lang_code.trim() === '')) {\n\t\t\tlang_code = DEFAULT_LANG_EN\n\t\t}\n\n\t\tconst response = await OCache.use<GetTranslationsResponse>(\n\t\t\t`${lang_code}-${this.label_api_key}-${this.brand_api_key}`,\n\t\t\tECacheContext.Translations,\n\t\t\tasync () => {\n\t\t\t\tconst tsBaseRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(user_ext_id, ClassId.GET_TRANSLATIONS_REQUEST, {\n\t\t\t\t\tlang_code: DEFAULT_LANG_EN,\n\t\t\t\t\thash_code: 0,\n\t\t\t\t\tareas,\n\t\t\t\t})\n\n\t\t\t\tconst trBase = await this.send<GetTranslationsResponse>(tsBaseRQ, ClassId.GET_TRANSLATIONS_RESPONSE)\n\n\t\t\t\tif (lang_code !== DEFAULT_LANG_EN) {\n\t\t\t\t\tconst trUserRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(user_ext_id, ClassId.GET_TRANSLATIONS_REQUEST, {\n\t\t\t\t\t\tlang_code,\n\t\t\t\t\t\thash_code: 0,\n\t\t\t\t\t\tareas,\n\t\t\t\t\t})\n\n\t\t\t\t\tconst trUser = await this.send<GetTranslationsResponse>(trUserRQ, ClassId.GET_TRANSLATIONS_RESPONSE)\n\n\t\t\t\t\tObject.keys(trUser?.translations ?? {}).forEach((k) => {\n\t\t\t\t\t\ttrBase.translations[k] = trUser.translations[k]\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\treturn trBase\n\t\t\t},\n\t\t\tcacheSec,\n\t\t)\n\n\t\treturn response\n\t}\n\n\tpublic async coreIdentifyLabel(user_ext_id: string, cacheSec: number = 60): Promise<GetLabelInfoResponse> {\n\t\treturn OCache.use<GetLabelInfoResponse>(\n\t\t\t`${this.label_api_key} - ${this.brand_api_key}`,\n\t\t\tECacheContext.LabelInfo,\n\t\t\tasync () => {\n\t\t\t\tconst message = this.buildMessage<GetLabelInfoResponse, GetLabelInfoRequest>(user_ext_id, ClassId.INIT)\n\n\t\t\t\treturn this.send<GetLabelInfoResponse>(message, ClassId.INIT_RESPONSE)\n\t\t\t},\n\t\t\tcacheSec,\n\t\t)\n\t}\n\n\tpublic async coreIdentifyUser(user_ext_id: string): Promise<ResponseIdentify> {\n\t\tconst message = this.buildMessage<any, ResponseIdentify>(user_ext_id, ClassId.IDENTIFY, {\n\t\t\trequest_id: IntUtils.uuid(), // AA: do we need request_id?\n\t\t})\n\n\t\tconst r = await this.send<ResponseIdentify>(message, ClassId.IDENTIFY_RESPONSE)\n\n\t\tr.avatar_id = CoreUtils.avatarUrl(r.avatar_id, this.avatarDomain)\n\n\t\treturn r\n\t}\n\n\tpublic async coreChangeUsername(user_ext_id: string, public_username_custom: string): Promise<{ public_username_custom: string }> {\n\t\tconst message = this.buildMessage<any, any>(user_ext_id, ClassId.CLIENT_SET_CUSTOM_USERNAME_REQUEST, {\n\t\t\tpublic_username_custom,\n\t\t})\n\n\t\treturn await this.send(message, ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE)\n\t}\n\n\tpublic async coreCheckSegments(user_ext_id: string, segment_id: number[]): Promise<TSegmentCheckResult[]> {\n\t\tconst message = this.buildMessage<CheckSegmentMatchRequest, any>(user_ext_id, ClassId.CHECK_SEGMENT_MATCH_REQUEST, {\n\t\t\tsegment_id,\n\t\t})\n\n\t\tconst results = await this.send<CheckSegmentMatchResponse>(message, ClassId.CHECK_SEGMENT_MATCH_RESPONSE)\n\n\t\treturn results.segments || []\n\t}\n\n\tpublic async jackpotGet(user_ext_id: string, filter?: { related_game_id?: string; jp_template_id?: number }, force_language?: string): Promise<GetJackpotsResponse> {\n\t\tconst message = this.buildMessage<GetJackpotsRequest, GetJackpotsResponse>(user_ext_id, ClassId.JP_GET_JACKPOTS_REQUEST, filter)\n\t\treturn await this.send<GetJackpotsResponse>(message, ClassId.JP_GET_JACKPOTS_RESPONSE, force_language)\n\t}\n\n\tpublic async potGet(user_ext_id: string, filter: { jp_template_ids: number[] }): Promise<GetJackpotsPotsResponse> {\n\t\tconst message = this.buildMessage<GetJackpotsPotsRequest, GetJackpotsPotsResponse>(user_ext_id, ClassId.JP_GET_LATEST_POTS_REQUEST, filter)\n\t\treturn await this.send<GetJackpotsPotsResponse>(message, ClassId.JP_GET_LATEST_POTS_RESPONSE)\n\t}\n\n\tpublic async jackpotOptIn(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n\t\tconst message = this.buildMessage<JackpotsOptinRequest, JackpotsOptinResponse>(user_ext_id, ClassId.JP_OPTIN_REQUEST, payload)\n\t\treturn await this.send<JackpotsOptinResponse>(message, ClassId.JP_OPTIN_RESPONSE)\n\t}\n\n\tpublic async jackpotOptOut(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n\t\tconst message = this.buildMessage<JackpotsOptoutRequest, JackpotsOptoutResponse>(user_ext_id, ClassId.JP_OPTOUT_REQUEST, payload)\n\t\treturn await this.send<JackpotsOptoutResponse>(message, ClassId.JP_OPTOUT_RESPONSE)\n\t}\n\n\tpublic async sawGetTemplates(user_ext_id: string, force_language?: string, is_visitor_mode: boolean = false): Promise<SAWGetTemplatesResponse> {\n\t\tconst message = this.buildMessage<SAWGetTemplatesRequest, SAWGetTemplatesResponse>(user_ext_id, ClassId.SAW_GET_SPINS_REQUEST, { is_visitor_mode })\n\n\t\tconst response = await this.send<SAWGetTemplatesResponse>(message, ClassId.SAW_GET_SPINS_RESPONSE, force_language)\n\n\t\tif (response && response.templates) {\n\t\t\tresponse.templates.forEach((t) => {\n\t\t\t\tif (t.jackpot_current !== undefined && t.jackpot_current !== null) {\n\t\t\t\t\tconst jackpotValue = t.jackpot_current + (t.saw_template_ui_definition?.jackpot_symbol ? ' ' + t.saw_template_ui_definition?.jackpot_symbol : '')\n\t\t\t\t\tt.saw_template_ui_definition.name = IntUtils.replaceAll(t.saw_template_ui_definition.name, '{{jackpot}}', jackpotValue)\n\t\t\t\t\tt.saw_template_ui_definition.description = IntUtils.replaceAll(t.saw_template_ui_definition.description, '{{jackpot}}', jackpotValue)\n\t\t\t\t\tt.saw_template_ui_definition.promo_text = IntUtils.replaceAll(t.saw_template_ui_definition.promo_text, '{{jackpot}}', jackpotValue)\n\t\t\t\t\tt.prizes.forEach((p) => {\n\t\t\t\t\t\tp.saw_prize_ui_definition.name = IntUtils.replaceAll(p.saw_prize_ui_definition.name, '{{jackpot}}', jackpotValue)\n\t\t\t\t\t\tp.saw_prize_ui_definition.aknowledge_message = IntUtils.replaceAll(p.saw_prize_ui_definition.aknowledge_message, '{{jackpot}}', jackpotValue)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\treturn response\n\t}\n\n\tpublic async sawGetTemplatesT(user_ext_id: string): Promise<TMiniGameTemplate[]> {\n\t\treturn SAWTemplatesTransform((await this.sawGetTemplates(user_ext_id)).templates)\n\t}\n\n\tpublic async doAcknowledgeRequest(user_ext_id: string, request_id: string): Promise<SAWDoAknowledgeResponse> {\n\t\tconst message = this.buildMessage<SAWDoAknowledgeRequest, SAWDoAknowledgeResponse>(user_ext_id, ClassId.SAW_AKNOWLEDGE_REQUEST, {\n\t\t\trequest_id,\n\t\t})\n\n\t\treturn await this.send<SAWDoAknowledgeResponse>(message, ClassId.SAW_AKNOWLEDGE_RESPONSE)\n\t}\n\n\tpublic async sawSpinRequest(user_ext_id: string, saw_template_id: number, round_id?: number): Promise<SAWDoSpinResponse> {\n\t\tif (!saw_template_id) {\n\t\t\tthrow new Error('Missing template id')\n\t\t}\n\n\t\tconst request_id = IntUtils.uuid()\n\n\t\tconst message = this.buildMessage<SAWDoSpinRequest, SAWDoSpinResponse>(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {\n\t\t\tsaw_template_id,\n\t\t\trequest_id,\n\t\t})\n\n\t\tconst spinAttemptResponse = await this.send<SAWDoSpinResponse>(message, ClassId.SAW_DO_SPIN_RESPONSE)\n\n\t\t// to simulate fail\n\t\t// response.errCode = SAWSpinErrorCode.SAW_NO_SPINS;\n\n\t\tconst status: string =\n\t\t\t{\n\t\t\t\t[SAWSpinErrorCode.SAW_OK]: 'OK',\n\t\t\t\t[SAWSpinErrorCode.SAW_NO_SPINS]: 'NO SPINS AVAILABLE',\n\t\t\t\t[SAWSpinErrorCode.SAW_PRIZE_POOL_EMPTY]: 'PRIZE POOL IS EMPTY',\n\t\t\t\t[SAWSpinErrorCode.SAW_NOT_ENOUGH_POINTS]: 'NOT ENOUGH POINTS',\n\t\t\t\t[SAWSpinErrorCode.SAW_FAILED_MAX_SPINS_REACHED]: 'MAX SPIN ATTEMPTS REACHED',\n\t\t\t}[spinAttemptResponse.errCode] || 'OTHER'\n\n\t\tawait this.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {\n\t\t\tsaw_template_id,\n\t\t\tstatus,\n\t\t\tround_id,\n\t\t})\n\n\t\treturn { ...spinAttemptResponse, request_id }\n\t}\n\n\tpublic async missionOptIn(user_ext_id: string, mission_id: number) {\n\t\tif (!mission_id) {\n\t\t\tthrow new Error('Missing mission id')\n\t\t}\n\t\tconst message = this.buildMessage<AchievementOptinRequest, AchievementOptinResponse>(user_ext_id, ClassId.MISSION_OPTIN_REQUEST, {\n\t\t\tachievementId: mission_id,\n\t\t})\n\n\t\tconst res = await this.send<AchievementOptinResponse>(message, ClassId.MISSION_OPTIN_RESPONSE)\n\n\t\treturn res\n\t}\n\n\tpublic async missionClaimPrize(user_ext_id: string, mission_id: number, ach_completed_id: number) {\n\t\tif (!mission_id) {\n\t\t\tthrow new Error('Missing mission id')\n\t\t}\n\n\t\tconst message = this.buildMessage<AchClaimPrizeRequest, AchClaimPrizeResponse>(user_ext_id, ClassId.ACHIEVEMENT_CLAIM_PRIZE_REQUEST, {\n\t\t\tach_id: mission_id,\n\t\t\tach_completed_id: ach_completed_id,\n\t\t})\n\n\t\tconst res = await this.send<AchClaimPrizeResponse>(message, ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE)\n\n\t\treturn res\n\t}\n\n\tpublic async registerInTournament(user_ext_id: string, tournamentInstanceId: number) {\n\t\tif (!tournamentInstanceId) {\n\t\t\tthrow new Error('Missing tournament instance id')\n\t\t}\n\t\tconst message = this.buildMessage<TournamentRegisterRequest, TournamentRegisterResponse>(user_ext_id, ClassId.TOURNAMENT_REGISTER_REQUEST, {\n\t\t\ttournamentInstanceId,\n\t\t})\n\n\t\tconst res = await this.send<TournamentRegisterResponse>(message, ClassId.TOURNAMENT_REGISTER_RESPONSE)\n\n\t\treturn res\n\t}\n\n\tpublic async buyStoreItem(user_ext_id: string, itemId: number) {\n\t\tif (!itemId) {\n\t\t\tthrow new Error('Missing store item id')\n\t\t}\n\t\tconst message = this.buildMessage<BuyStoreItemRequest, BuyStoreItemResponse>(user_ext_id, ClassId.BUY_SHOP_ITEM_REQUEST, {\n\t\t\titemId,\n\t\t})\n\n\t\tconst res = await this.send<BuyStoreItemResponse>(message, ClassId.BUY_SHOP_ITEM_RESPONSE)\n\n\t\treturn res\n\t}\n\n\tpublic async inboxGetMessages(user_ext_id: string, limit: number = 10, offset: number = 0): Promise<GetInboxMessagesResponse> {\n\t\tconst message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(user_ext_id, ClassId.GET_INBOX_MESSAGES_REQUEST, {\n\t\t\tlimit,\n\t\t\toffset,\n\t\t})\n\n\t\treturn await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE)\n\t}\n\n\tpublic async storeGetItems(user_ext_id: string, force_language?: string): Promise<GetStoreItemsResponse> {\n\t\tconst message = this.buildMessage<any, GetStoreItemsResponse>(user_ext_id, ClassId.GET_SHOP_ITEMS_REQUEST)\n\t\treturn await this.send<GetStoreItemsResponse>(message, ClassId.GET_SHOP_ITEMS_RESPONSE, force_language)\n\t}\n\n\tpublic async storeGetItemsT(user_ext_id: string): Promise<TStoreItem[]> {\n\t\treturn StoreItemTransform((await this.storeGetItems(user_ext_id)).items)\n\t}\n\n\tpublic async storeGetCategories(user_ext_id: string, force_language?: string): Promise<GetCategoriesStoreResponse> {\n\t\tconst message = this.buildMessage<any, GetCategoriesStoreResponse>(user_ext_id, ClassId.GET_SHOP_CATEGORIES_REQUEST)\n\t\treturn await this.send<GetCategoriesStoreResponse>(message, ClassId.GET_SHOP_CATEGORIES_RESPONSE, force_language)\n\t}\n\n\tpublic async storeGetCategoriesT(user_ext_id: string): Promise<TStoreCategory[]> {\n\t\treturn StoreCategoryTransform((await this.storeGetCategories(user_ext_id)).categories)\n\t}\n\n\tpublic async storeGetPurchasedItems(user_ext_id: string, limit: number = 20, offset: number = 0): Promise<GetStoreHistoryResponse> {\n\t\tconst message = this.buildMessage<GetStoreHistoryRequest, GetStoreHistoryResponse>(user_ext_id, ClassId.ACH_SHOP_ITEM_HISTORY_REQUEST, {\n\t\t\tlimit,\n\t\t\toffset,\n\t\t})\n\n\t\treturn await this.send<GetStoreHistoryResponse>(message, ClassId.ACH_SHOP_ITEM_HISTORY_RESPONSE)\n\t}\n\n\tpublic async storeGetPurchasedItemsT(user_ext_id: string, limit?: number, offset?: number): Promise<TStoreItem[]> {\n\t\treturn StoreItemPurchasedTransform((await this.storeGetPurchasedItems(user_ext_id, limit, offset)).items)\n\t}\n\n\tpublic async missionsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_MAP_REQUEST)\n\t\tconst response = await this.send<GetAchievementMapResponse>(message, ClassId.GET_ACHIEVEMENT_MAP_RESPONSE, force_language)\n\t\t// we need to clone response to avoid changing original object,for cases when its called together with badgesGetItems (e.g. in Promise.all)\n\t\tconst responseClone = { ...response }\n\n\t\tif (responseClone.achievements) {\n\t\t\tresponseClone.achievements = responseClone.achievements.filter((a) => a.ach_type_id === AchievementType.Mission)\n\t\t}\n\t\treturn responseClone\n\t}\n\n\tpublic async missionsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n\t\treturn UserAchievementTransform((await this.missionsGetItems(user_ext_id)).achievements)\n\t}\n\n\tpublic async getUserGamificationInfo(user_ext_id: string): Promise<GetAchievementsUserInfoResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementsUserInfoResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_USER_REQUEST)\n\n\t\treturn await this.send<GetAchievementsUserInfoResponse>(message, ClassId.GET_ACHIEVEMENT_USER_RESPONSE)\n\t}\n\n\tpublic async getUserGamificationInfoT(user_ext_id: string): Promise<UserLevelExtraCountersT> {\n\t\tconst response = await this.getUserGamificationInfo(user_ext_id)\n\n\t\treturn {\n\t\t\tlevel_counter_1: response.level_counter_1,\n\t\t\tlevel_counter_2: response.level_counter_2,\n\t\t}\n\t}\n\n\tpublic async achGetCategories(user_ext_id: string, force_language?: string): Promise<GetAchCategoriesResponse> {\n\t\tconst message = this.buildMessage<any, GetAchCategoriesResponse>(user_ext_id, ClassId.GET_ACH_CATEGORIES_REQUEST)\n\t\treturn await this.send<GetAchCategoriesResponse>(message, ClassId.GET_ACH_CATEGORIES_RESPONSE, force_language)\n\t}\n\n\tpublic async achGetCategoriesT(user_ext_id: string): Promise<TAchCategory[]> {\n\t\treturn AchCategoryTransform((await this.achGetCategories(user_ext_id)).categories)\n\t}\n\n\tpublic async badgetsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_MAP_REQUEST)\n\t\tconst response = await this.send<GetAchievementMapResponse>(message, ClassId.GET_ACHIEVEMENT_MAP_RESPONSE, force_language)\n\t\t// we need to clone response to avoid changing original object,for cases when its called together with missionsGetItems (e.g. in Promise.all)\n\t\tconst responseClone = { ...response }\n\n\t\tif (responseClone.achievements) {\n\t\t\tresponseClone.achievements = responseClone.achievements.filter((a) => a.ach_type_id === AchievementType.Badge)\n\t\t}\n\t\treturn responseClone\n\t}\n\n\tpublic async badgetsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n\t\treturn UserAchievementTransform((await this.badgetsGetItems(user_ext_id)).achievements)\n\t}\n\n\tpublic async tournamentsGetLobby(user_ext_id: string, force_language?: string): Promise<GetTournamentsResponse> {\n\t\tconst message = this.buildMessage<GetTournamentsRequest, GetTournamentsResponse>(user_ext_id, ClassId.GET_TOURNAMENT_LOBBY_REQUEST)\n\t\treturn await this.send<GetTournamentsResponse>(message, ClassId.GET_TOURNAMENT_LOBBY_RESPONSE, force_language)\n\t}\n\n\tpublic async tournamentsGetLobbyT(user_ext_id: string): Promise<TTournament[]> {\n\t\treturn TournamentItemsTransform((await this.tournamentsGetLobby(user_ext_id)).tournaments)\n\t}\n\n\tpublic async tournamentsGetInfo(user_ext_id: string, tournamentInstanceId: number, force_language?: string): Promise<GetTournamentInfoResponse> {\n\t\tconst message = this.buildMessage<GetTournamentInfoRequest, GetTournamentInfoResponse>(user_ext_id, ClassId.GET_TOURNAMENT_INFO_REQUEST, {\n\t\t\ttournamentInstanceId,\n\t\t})\n\t\tconst response = await this.send<GetTournamentInfoResponse>(message, ClassId.GET_TOURNAMENT_INFO_RESPONSE, force_language)\n\n\t\tif (response.userPosition?.avatar_id) {\n\t\t\tresponse.userPosition.avatar_url = CoreUtils.avatarUrl(response.userPosition.avatar_id, this.avatarDomain)\n\t\t}\n\n\t\tif (response.tournamentInfo.players?.length) {\n\t\t\tresponse.tournamentInfo.players.forEach((p) => {\n\t\t\t\tp.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain)\n\t\t\t})\n\t\t}\n\n\t\treturn response\n\t}\n\n\tpublic async tournamentsGetInfoT(user_ext_id: string, tournamentInstanceId: number): Promise<TTournamentDetailed> {\n\t\tif (!tournamentInstanceId) {\n\t\t\tthrow new Error('Missing tournament instance id')\n\t\t}\n\t\tconst response = await this.tournamentsGetInfo(user_ext_id, tournamentInstanceId)\n\t\treturn tournamentInfoItemTransform(response)\n\t}\n\n\tpublic async leaderboardGet(user_ext_id: string, period_type_id?: LeaderBoardPeriodType, prevPeriod: boolean = false, force_language?: string): Promise<LeaderBoardDetails> {\n\t\tconst message = this.buildMessage<GetLeaderBoardsRequest, GetLeaderBoardsResponse>(user_ext_id, ClassId.GET_LEADERS_BOARD_REQUEST, {\n\t\t\tperiod_type_id,\n\t\t\tsnapshot_offset: prevPeriod ? 1 : 0,\n\t\t\tinclude_users: true,\n\t\t})\n\n\t\tconst response = await this.send<GetLeaderBoardsResponse>(message, ClassId.GET_LEADERS_BOARD_RESPONSE, force_language)\n\n\t\tconst boardKey = Object.keys(response.map).find((k) => period_type_id === undefined || k === period_type_id?.toString())\n\n\t\tif (boardKey === undefined) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tif (response.map[boardKey]?.userPosition?.avatar_id) {\n\t\t\tresponse.map[boardKey].userPosition.avatar_url = CoreUtils.avatarUrl(response.map[boardKey].userPosition.avatar_id, this.avatarDomain)\n\t\t}\n\n\t\tif (response.map[boardKey]?.positions?.length) {\n\t\t\tresponse.map[boardKey].positions.forEach((p) => {\n\t\t\t\tp.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain)\n\t\t\t})\n\t\t}\n\n\t\treturn response.map[boardKey]\n\t}\n\n\tpublic async leaderboardsGetT(user_ext_id: string, period_type_id: LeaderBoardPeriodType = LeaderBoardPeriodType.DAILY, prevPeriod: boolean = false): Promise<LeaderBoardDetailsT> {\n\t\treturn getLeaderBoardTransform(await this.leaderboardGet(user_ext_id, period_type_id, prevPeriod))\n\t}\n\n\tpublic async levelsGet(user_ext_id: string, force_language?: string): Promise<GetLevelMapResponse> {\n\t\tconst message = this.buildMessage<any, GetLevelMapResponse>(user_ext_id, ClassId.GET_LEVEL_MAP_REQUEST)\n\t\treturn await this.send<GetLevelMapResponse>(message, ClassId.GET_LEVEL_MAP_RESPONSE, force_language)\n\t}\n\n\tpublic async levelsGetT(user_ext_id: string): Promise<TLevel[]> {\n\t\treturn GetLevelMapResponseTransform(await this.levelsGet(user_ext_id))\n\t}\n\n\tpublic async getCustomSections(user_ext_id: string): Promise<GetCustomSectionsResponse> {\n\t\tconst message = this.buildMessage<GetCustomSectionsRequest, GetCustomSectionsResponse>(user_ext_id, ClassId.GET_CUSTOM_SECTIONS_REQUEST)\n\t\treturn await this.send<GetCustomSectionsResponse>(message, ClassId.GET_CUSTOM_SECTIONS_RESPONSE)\n\t}\n\n\tpublic async getCustomSectionsT(user_ext_id: string): Promise<TUICustomSection[]> {\n\t\treturn UICustomSectionTransform(Object.values((await this.getCustomSections(user_ext_id)).customSections))\n\t}\n\n\tpublic async getTranslationsT(user_ext_id: string, lang_code: string, areas: TranslationArea[], cacheSec: number = 60): Promise<GetTranslationsResponse> {\n\t\treturn await this.coreGetTranslations(user_ext_id, lang_code, areas, 30)\n\t}\n\n\tpublic async getInboxMessages(user_ext_id: string, limit: number = 20, offset: number = 0, starred_only: boolean): Promise<GetInboxMessagesResponse> {\n\t\tconst message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(user_ext_id, ClassId.GET_INBOX_MESSAGES_REQUEST, {\n\t\t\tlimit,\n\t\t\toffset,\n\t\t\tstarred_only,\n\t\t})\n\t\treturn await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE)\n\t}\n\n\tpublic async getInboxMessagesT(user_ext_id: string, from: number = 0, to: number = 20, favoriteOnly: boolean = false): Promise<TInboxMessage[]> {\n\t\tconst limit = to - from > 20 ? 20 : to - from\n\t\tconst offset = from\n\n\t\treturn InboxMessagesTransform((await this.getInboxMessages(user_ext_id, limit, offset, favoriteOnly)).log)\n\t}\n\n\tpublic async getInboxMessageBody(messageGuid: string): Promise<InboxMessageBody> {\n\t\tconst getMessageBody = async (messageGuid: string): Promise<InboxMessageBody> => {\n\t\t\tconst inboxCdnUrl = this.tracker.getLabelSetting(PublicLabelSettings.INBOX_PUBLIC_CDN)\n\n\t\t\ttry {\n\t\t\t\tconst url = `${inboxCdnUrl}${messageGuid}.json`\n\n\t\t\t\tconst response = await fetch(url, {\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Accept': 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tconst data = await response.json()\n\t\t\t\treturn data || {}\n\t\t\t} catch (error) {\n\t\t\t\tthis.logger.error('Error fetching inbox message body:', error)\n\t\t\t\treturn null\n\t\t\t}\n\t\t}\n\n\t\treturn await getMessageBody(messageGuid)\n\t}\n\n\tpublic async getInboxMessageBodyT(messageGuid: string): Promise<TInboxMessageBody> {\n\t\tconst message = await this.getInboxMessageBody(messageGuid)\n\t\treturn InboxMessageBodyTransform(message)\n\t}\n\n\tpublic async markInboxMessageRead(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageReadResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(user_ext_id, ClassId.MARK_INBOX_READ_REQUEST, {\n\t\t\tengagement_uid: messageGuid,\n\t\t})\n\n\t\treturn await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE)\n\t}\n\n\tpublic async markAllInboxMessageRead(user_ext_id: string): Promise<MarkInboxMessageReadResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(user_ext_id, ClassId.MARK_INBOX_READ_REQUEST, {\n\t\t\tall_read: true,\n\t\t})\n\n\t\treturn await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE)\n\t}\n\n\tpublic async markUnmarkInboxMessageAsFavorite(user_ext_id: string, messageGuid: string, mark: boolean): Promise<MarkInboxMessageStarredResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageStarredRequest, MarkInboxMessageStarredResponse>(user_ext_id, ClassId.MARK_INBOX_STARRED_REQUEST, {\n\t\t\tengagement_uid: messageGuid,\n\t\t\tis_starred: mark,\n\t\t})\n\n\t\treturn await this.send<MarkInboxMessageStarredResponse>(message, ClassId.MARK_INBOX_STARRED_RESPONSE)\n\t}\n\n\tpublic async deleteInboxMessage(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageDeletedResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(user_ext_id, ClassId.MARK_INBOX_DELETED_REQUEST, {\n\t\t\tengagement_uid: messageGuid,\n\t\t})\n\n\t\treturn await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE)\n\t}\n\n\tpublic async deleteAllInboxMessages(user_ext_id: string): Promise<MarkInboxMessageDeletedResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(user_ext_id, ClassId.MARK_INBOX_DELETED_REQUEST, {\n\t\t\tall_deleted: true,\n\t\t})\n\n\t\treturn await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE)\n\t}\n\n\tpublic getWSCalls(): WSAPI {\n\t\treturn new WSAPI(this)\n\t}\n}\n\nexport { SmarticoAPI, MessageSender }\n","import { TSMap } from 'typescript-map'\n\nclass CookieStore {\n\tprivate static cookieStore = new TSMap<string, string[]>()\n\n\tpublic static get(key: string): string[] | undefined {\n\t\treturn CookieStore.cookieStore.get(key)\n\t}\n\n\tpublic static set(key: string, value: string[]) {\n\t\tconst v = value.map((v) => v.split(';')[0])\n\t\tCookieStore.cookieStore.set(key, v)\n\t}\n}\n\nexport { CookieStore }\n","export enum QuizSportType {\n\tSoccer = 1,\n\tTennis = 5,\n\tBasketball = 6,\n}\n\nexport const quizSupportedSports = [QuizSportType.Basketball, QuizSportType.Soccer, QuizSportType.Tennis]\n","export enum SAWGPMarketType {\n\tTwoTeamsWithScore = 1,\n\tRedCard = 2,\n\tOneXTwo = 3,\n\tOneXTwoHalftime = 4,\n\tHalftimeFulltime = 5,\n\tFirstGoal = 6,\n\tDoubleChance = 7,\n\tOverUnder2_5 = 8,\n\tOverUnder1_5Halftime = 9,\n\tOverUnder1_5__2ndHalf = 10,\n\tTotalCorners8_5 = 11,\n\tTotalCorners9_5 = 12,\n\tCorners1x2 = 13,\n\tOne_Two = 14,\n\tOvertime = 15,\n\tOddEven = 16,\n\tOddEvenHomeAway = 17,\n\tFirstSet = 18,\n\tSecondSet = 19,\n\tThirdSet = 20,\n\tFourthSet = 21,\n\tFifthSet = 22,\n\tPlayerOneWinsOneSet = 23,\n\tPlayerTwoWinsOneSet = 24,\n\tLastGoal = 25,\n\n\tCustomSport = 26,\n\tCustomNonSport = 27,\n}\n","export enum QuizAnswersValueType {\n\tHomeTeam = '1',\n\tAwayTeam = '2',\n\tDraw = 'x',\n\tHomeTeamHomeTeam = '1/1',\n\tHomeTeamDraw = '1/x',\n\tHomeTeamAwayTeam = '1/2',\n\tDrawHomeTeam = 'x/1',\n\tDrawDraw = 'x/x',\n\tDrawAwayTeam = 'x/2',\n\tAwayTeamHomeTeam = '2/1',\n\tAwayTeamDraw = '2/x',\n\tAwayTeamAwayTeam = '2/2',\n\tYes = 'yes',\n\tNo = 'no',\n\tOdd = 'odd',\n\tEven = 'even',\n\tHomeOdd = '1/odd',\n\tHomeEven = '1/even',\n\tAwayOdd = '2/odd',\n\tAwayEven = '2/even',\n}\n\nexport const quizAnswerHomeTeamReplacementText = '{quiz_home_team}'\nexport const quizAnswerAwayTeamReplacementText = '{quiz_away_team}'\nexport const quizDrawReplacementText = '{quiz_draw}'\nexport const quizYesReplacementText = '{yes}'\nexport const quizNoReplacementText = '{no}'\nexport const quizOddReplacementText = '{odd}'\nexport const quizEvenReplacementText = '{even}'\nexport const quizOrReplacementText = '{or}'\n\nexport const quizAnswersTrKeys = {\n\t[quizDrawReplacementText]: 'quizAnswer_draw',\n\t[quizYesReplacementText]: 'quizAnswer_yes',\n\t[quizNoReplacementText]: 'quizAnswer_no',\n\t[quizOddReplacementText]: 'quizAnswer_odd',\n\t[quizEvenReplacementText]: 'quizAnswer_even',\n\t[quizOrReplacementText]: 'quizAnswer_or',\n}\n","import {\n\tQuizAnswersValueType,\n\tquizAnswerAwayTeamReplacementText,\n\tquizAnswerHomeTeamReplacementText,\n\tquizDrawReplacementText,\n\tquizEvenReplacementText,\n\tquizNoReplacementText,\n\tquizOddReplacementText,\n\tquizOrReplacementText,\n\tquizYesReplacementText,\n} from './MarketsAnswers'\nimport { SAWGPMarketType } from './MarketsType'\n\nconst yesNoAnswers = [\n\t{ text: quizYesReplacementText, value: QuizAnswersValueType.Yes },\n\t{ text: quizNoReplacementText, value: QuizAnswersValueType.No },\n]\n\nconst homeAwayAnswers = [\n\t{ text: quizAnswerHomeTeamReplacementText, value: QuizAnswersValueType.HomeTeam },\n\t{ text: quizAnswerAwayTeamReplacementText, value: QuizAnswersValueType.AwayTeam },\n]\n\nconst homeAwayDrawAnswers = [...homeAwayAnswers, { text: quizDrawReplacementText, value: QuizAnswersValueType.Draw }]\n\nexport const marketsInfo = [\n\t{\n\t\ttype: SAWGPMarketType.OneXTwo,\n\t\tname: '1x2',\n\t\tquestion: { text: 'Who will win the match ?', trKey: 'quizQuestion_1x2' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OneXTwoHalftime,\n\t\tname: '1x2 Halftime',\n\t\tquestion: { text: 'Who will lead the first half of the match ?', trKey: 'quizQuestion_x2half' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.HalftimeFulltime,\n\t\tname: 'Halftime / Fulltime',\n\t\tquestion: { text: 'Who will lead the first half and who will win the match ?', trKey: 'quizQuestion__HalftimeFulltime' },\n\t\tanswers: [\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamHomeTeam },\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.HomeTeamDraw },\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamAwayTeam },\n\t\t\t{ text: `${quizDrawReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.DrawHomeTeam },\n\t\t\t{ text: `${quizDrawReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.DrawDraw },\n\t\t\t{ text: `${quizDrawReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.DrawAwayTeam },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamHomeTeam },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.AwayTeamDraw },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamAwayTeam },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FirstGoal,\n\t\tname: 'First Goal',\n\t\tquestion: { text: 'Who will score the first goal ?', trKey: 'quizQuestion_firstGoal' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.LastGoal,\n\t\tname: 'Last Goal',\n\t\tquestion: { text: 'Who will score the last goal ?', trKey: 'quizQuestion_lastGoal' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.DoubleChance,\n\t\tname: 'Double Chance',\n\t\tquestion: { text: 'Who will win the match? Choose a combination:', trKey: 'quizQuestion_doubleChance' },\n\t\tanswers: [\n\t\t\t{ text: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamDraw },\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamAwayTeam },\n\t\t\t{ text: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamDraw },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder2_5,\n\t\tname: 'Over/Under 2.5',\n\t\tquestion: { text: 'Will there be 3 or more goals in the match?', trKey: 'quizQuestion_overUnder2_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder1_5Halftime,\n\t\tname: 'Over/Under 1.5 Halftime',\n\t\tquestion: { text: 'Will there be 2 or more goals in the first half?', trKey: 'quizQuestion_overUnder1_5Halftime' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder1_5__2ndHalf,\n\t\tname: 'Over/Under 1.5 2nd Half',\n\t\tquestion: { text: 'Will there be 2 or more goals in the second half?', trKey: 'quizQuestion_overUnder1_5__2ndHalf' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.RedCard,\n\t\tname: 'Red Card',\n\t\tquestion: { text: 'Will there be a red card in the match?', trKey: 'quizQuestion_redCard' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.TotalCorners8_5,\n\t\tname: 'Total Corners 8.5',\n\t\tquestion: { text: 'Will there be 9 or more corners in the match?', trKey: 'quizQuestion_totalCorners8_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.TotalCorners9_5,\n\t\tname: 'Total Corners 9.5',\n\t\tquestion: { text: 'Will there be 10 or more corners in the match?', trKey: 'quizQuestion_totalCorners9_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.Corners1x2,\n\t\tname: 'Corners 1x2',\n\t\tquestion: { text: 'Which team will have more corners in the match?', trKey: 'quizQuestion_corners1x2' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.One_Two,\n\t\tname: '1-2',\n\t\tquestion: { text: 'Who will win the match ?', trKey: 'quizQuestion_1-2' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.Overtime,\n\t\tname: 'Overtime',\n\t\tquestion: { text: 'Will there be overtime in the match?', trKey: 'quizQuestion_overtime' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OddEven,\n\t\tname: 'Odd/Even',\n\t\tquestion: { text: 'Is the sum of all points scored in the game going to be an odd number or even?', trKey: 'quizQuestion_oddEven' },\n\t\tanswers: [\n\t\t\t{ text: quizOddReplacementText, value: QuizAnswersValueType.Odd },\n\t\t\t{ text: quizEvenReplacementText, value: QuizAnswersValueType.Even },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OddEvenHomeAway,\n\t\tname: 'Odd/Even Home/Away',\n\t\tquestion: { text: 'Which team will win and what will be the sum of the points (Odd or Even)?', trKey: 'quizQuestion_oddEvenHomeAway' },\n\t\tanswers: [\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.HomeOdd },\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.HomeEven },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.AwayOdd },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.AwayEven },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FirstSet,\n\t\tname: 'First Set',\n\t\tquestion: { text: 'Who will win the first set ?', trKey: 'quizQuestion_firstSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.SecondSet,\n\t\tname: 'Second Set',\n\t\tquestion: { text: 'Who will win the second set ?', trKey: 'quizQuestion_secondSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.ThirdSet,\n\t\tname: 'Third Set',\n\t\tquestion: { text: 'Who will win the third set ?', trKey: 'quizQuestion_thirdSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FourthSet,\n\t\tname: 'Fourth Set',\n\t\tquestion: { text: 'Who will win the fourth set ?', trKey: 'quizQuestion_fourthSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FifthSet,\n\t\tname: 'Fifth Set',\n\t\tquestion: { text: 'Who will win the fifth set ?', trKey: 'quizQuestion_fifthSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.PlayerOneWinsOneSet,\n\t\tname: 'Player One Wins One Set',\n\t\tquestion: { text: 'Will Player One win at least one set?', trKey: 'quizQuestion_playerOneWinsOneSet' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.PlayerTwoWinsOneSet,\n\t\tname: 'Player Two Wins One Set',\n\t\tquestion: { text: 'Will Player Two win at least one set?', trKey: 'quizQuestion_playerTwoWinsOneSet' },\n\t\tanswers: yesNoAnswers,\n\t},\n]\n","import { SAWGPMarketType } from './MarketsType'\nimport { QuizSportType } from './SportTypes'\n\nexport const QuizMarketPerSport = {\n\t[QuizSportType.Basketball]: [SAWGPMarketType.One_Two, SAWGPMarketType.Overtime, SAWGPMarketType.OneXTwo, SAWGPMarketType.OddEven, SAWGPMarketType.OddEvenHomeAway, SAWGPMarketType.DoubleChance],\n\t[QuizSportType.Soccer]: [\n\t\tSAWGPMarketType.OneXTwo,\n\t\tSAWGPMarketType.OneXTwoHalftime,\n\t\tSAWGPMarketType.HalftimeFulltime,\n\t\tSAWGPMarketType.FirstGoal,\n\t\tSAWGPMarketType.LastGoal,\n\t\tSAWGPMarketType.DoubleChance,\n\t\tSAWGPMarketType.OverUnder2_5,\n\t\tSAWGPMarketType.OverUnder1_5Halftime,\n\t\tSAWGPMarketType.OverUnder1_5__2ndHalf,\n\t\tSAWGPMarketType.RedCard,\n\t\tSAWGPMarketType.TotalCorners8_5,\n\t\tSAWGPMarketType.TotalCorners9_5,\n\t\tSAWGPMarketType.Corners1x2,\n\t],\n\t[QuizSportType.Tennis]: [\n\t\tSAWGPMarketType.One_Two,\n\t\tSAWGPMarketType.FirstSet,\n\t\tSAWGPMarketType.SecondSet,\n\t\tSAWGPMarketType.ThirdSet,\n\t\tSAWGPMarketType.FourthSet,\n\t\tSAWGPMarketType.FifthSet,\n\t\tSAWGPMarketType.PlayerOneWinsOneSet,\n\t\tSAWGPMarketType.PlayerTwoWinsOneSet,\n\t\tSAWGPMarketType.OddEven,\n\t],\n}\n","enum JackpotContributionType {\n\tFixed = 1,\n\tPercentage = 2,\n}\n\nexport { JackpotContributionType }\n","enum JackpotType {\n\tMain = 1,\n}\n\nexport { JackpotType }\n"],"names":["ClassId","IntUtils","uuid","a","b","Math","random","toString","isNotNull","val","isNotEmpty","length","replaceAll","value","regex","replacement","replace","RegExp","escapeRegExp","v","JsonOrText","str","includes","JSON","parse","e","isWithinPeriod","timestamp","period","now","Date","completedDate","getFullYear","getMonth","getDate","startOfWeek","setDate","getDay","setHours","endOfWeek","SAWBuyInType","SAWBuyInTypeName","SAWBuyInTypeNamed","type","Free","Points","Spins","Unknown","SAWUtils","canPlay","t","pointsBalance","undefined","saw_buyin_type_id","spin_count","buyin_cost_points","console","error","SAWAcknowledgeType","SAWAskForUsername","SAWGameType","SAWGameTypeName","SAWGameTypeNamed","SpinAWheel","ScratchCard","MatchX","GiftBox","PrizeDrop","Quiz","SAWPrizeType","MiniGamePrizeTypeName","MiniGamePrizeTypeNamed","NO_PRIZE","POINTS","BONUS","MANUAL","SPIN","JACKPOT","UNKNOWN","SAWTemplatesTransform","items","map","r","_r$saw_skin_ui_defini","_r$saw_skin_ui_defini2","x","id","saw_template_id","name","saw_template_ui_definition","description","thumbnail","saw_skin_ui_definition","skin_folder","saw_skin_key","over_limit_message","no_attempts_message","jackpot_symbol","saw_game_type","saw_game_type_id","saw_buyin_type","jackpot_add_on_attempt","jackpot_current","promo_image","promo_text","custom_data","expose_game_stat_on_api","next_available_spin_ts","prizes","p","y","saw_prize_id","saw_prize_ui_definition","prize_type","prize_type_id","prize_value","font_size","font_size_mobile","icon","position","aknowledge_message","acknowledge_dp","acknowledge_action_title","pool","wins_count","SAWSpinErrorCode","SAWWinSoundType","SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","NodeCache","constructor","ttlChecker","setInterval","getTime","key","cache","hasOwnProperty","o","ttl","get","set","ttlSeconds","remove","flushAll","ECacheContext","OCache","init","cacheContext","oKey","stringify","deepClone","use","f","clear","clearContext","clearAll","ActivityTypeLimited","CoreUtils","currencySymbol","currency","toUpperCase","USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","MXN","SGD","HKD","NOK","KRW","TRY","INR","RUB","BRL","ZAR","avatarUrl","avatar_id","avatarDomain","startsWith","endsWith","slice","PublicLabelSettings","TranslationArea","InboxMessagesTransform","item","sent_date","createDate","message_guid","engagement_uid","read","is_read","favorite","is_starred","InboxMessageBodyTransform","action","image","title","preview_body","body","additional_buttons","buttons","text","inbox_cta_text","html_body","InboxMessageType","BuyStoreItemErrorCode","StoreCategoryTransform","_r$publicMeta","_r$publicMeta2","publicMeta","order","StoreItemType","StoreItemTypeName","StoreItemTypeNamed","Bonus","Tangible","MiniGameSpin","ChangeLevel","StoreItemTransform","filter","_r$itemPublicMeta$pri","_r$categoryIds","itemPublicMeta","price","image_url","ribbon","label_tag","custom_label_tag","limit_message","priority","related_item_ids","related_items","hint_text","itemTypeId","can_buy","canBuy","category_ids","categoryIds","shopPool","StoreItemPurchasedTransform","purchasedToday","purchase_ts","purchasedThisWeek","purchasedThisMonth","purchase_points_amount","purchased_today","purchased_this_week","purchased_this_month","AchievementStatus","AchievementTaskType","AchievementType","UserAchievementTransform","ach_id","_r$ach_categories","completedToday","complete_date_ts","completedThisWeek","completedThisMonth","ach_public_meta","unlock_mission_description","is_completed","isCompleted","is_locked","isLocked","is_requires_optin","requiresOptin","is_opted_in","isOptedIn","time_limit_ms","dt_start","start_date_ts","reward","progress","ach_type_id","Mission","cta_action","cta_text","custom_section_id","only_in_custom_section","tasks","achievementTasks","task_type_id","CompleteAchievement","_t$task_public_meta","task_id","task_public_meta","points_reward","userProgress","execution_count_expected","executionCount","execution_count_actual","userExecutedCount","display_progress_as_count","related_games","g","ext_game_id","game_public_meta","link","enabled","game_categories","game_provider","ach_categories","ach_completed_id","requires_prize_claim","prize_claimed_date_ts","complete_date","completed_today","completed_this_week","completed_this_month","custom_section_type_id","ScheduledMissionType","AchCategoryTransform","TournamentRegistrationType","TournamentRegistrationTypeGetName","AUTO","BUY_IN_POINTS","MANUAL_APPROVAL","OPT_IN","REQUIRES_QUALIFICATION","TournamentRegistrationStatus","TournamentRegistrationStatusName","TournamentRegistrationStatusNamed","CANCELLED","FINISHED","NOT_REGISTERED","PENDING","QUALIFIED_PENDING_REGISTRATION","REGISTERED","REGISTERED_PENDING_QUALIFICATION","TournamentItemsTransform","tournamentId","instance_id","tournamentInstanceId","tournament_id","segment_dont_match_message","image1","image2","image_url2","image2_mobile","image_url2_mobile","prize_pool_short","custom_price_text","is_featured","featured","start_time","startTimeTs","end_time","endTimeTs","registration_count","registrationCount","is_user_registered","isUserRegistered","players_min_count","playersMinCount","players_max_count","playersMaxCount","registration_status","tournamentRegistrationStatus","registration_type","registrationType","registration_cost_points","buyInAmount","duration_ms","durationMs","is_active","TournamentUtils","isActive","is_can_register","isCanRegister","is_cancelled","isCancelled","is_finished","isFinished","is_in_progress","isInProgress","is_upcoming","isUpcoming","prizeStructure","getPrizeTransformed","tournamentPlayer","me","getPlayerTransformed","TournamentInstanceStatus","TournamentInstanceStatusName","s","PUBLISHED","REGISTER","STARTED","FAILED","FINALIZING","tournamentPrizeTypeToPrizeName","DoNothing","DeductPoints","ResetPoints","MiniGameAttempt","tournament","tournamentInstanceStatus","allowLateRegistration","player","isMe","playerTransformed","public_username","userAltName","avatar_url","scores","is_me","prize","_extends","tournamentInfoItemTransform","response","tournamentInfo","tournamentLobbyInfo","players","userPosition","TournamentRegistrationError","TournamentType","LeaderBoardPeriodType","GetLevelMapResponseTransform","levels","l","_l$level_public_meta","level_id","level_public_meta","required_points","visibility_points","parseInt","required_level_counter_1","required_level_counter_2","CACHE_DATA_SEC","JACKPOT_TEMPLATE_CACHE_SEC","JACKPOT_POT_CACHE_SEC","onUpdateContextKey","WSAPI","api","onUpdateCallback","Map","jackpotGetSignature","tracker","on","SAW_SPINS_COUNT_PUSH","data","updateOnSpin","SAW_SHOW_SPIN_PUSH","updateOnAddSpin","SAW_DO_SPIN_RESPONSE","SAW_AKNOWLEDGE_RESPONSE","updateOnPrizeWin","MISSION_OPTIN_RESPONSE","updateMissionsOnOptIn","TOURNAMENT_REGISTER_RESPONSE","updateTournamentsOnRegistration","CLIENT_ENGAGEMENT_EVENT_NEW","updateInboxMessages","LOGOUT_RESPONSE","IDENTIFY_RESPONSE","JP_WIN_PUSH","jackpotClearCache","JP_OPTOUT_RESPONSE","JP_OPTIN_RESPONSE","getUserProfile","Object","assign","userPublicProps","Error","checkSegmentMatch","segment_id","coreCheckSegments","find","is_matching","checkSegmentListMatch","segment_ids","Array","isArray","getLevels","Levels","levelsGetT","getMissions","onUpdate","Missions","missionsGetItemsT","getBadges","Badges","badgetsGetItemsT","getUserLevelExtraCounters","LevelExtraCounters","getUserGamificationInfoT","getStoreItems","StoreItems","storeGetItemsT","buyStoreItem","item_id","err_code","errCode","err_message","errMsg","getStoreCategories","StoreCategories","storeGetCategoriesT","getStorePurchasedItems","limit","offset","StoreHistory","storeGetPurchasedItemsT","getAchCategories","AchCategories","achGetCategoriesT","getCustomSections","CustomSections","getCustomSectionsT","getMiniGames","Saw","sawGetTemplatesT","playMiniGame","template_id","sawSpinRequest","doAcknowledgeRequest","request_id","prize_id","requestMissionOptIn","mission_id","missionOptIn","requestMissionClaimReward","missionClaimPrize","getTournamentsList","TournamentList","tournamentsGetLobbyT","getTournamentInstanceInfo","tournamentsGetInfoT","registerInTournament","getLeaderBoard","periodType","getPreviousPeriod","LeaderBoards","leaderboardsGetT","getInboxMessages","from","to","onlyFavorite","InboxMessages","getInboxMessagesT","getInboxMessageBody","messageGuid","getInboxMessageBodyT","markInboxMessageAsRead","markInboxMessageRead","markAllInboxMessagesAsRead","markAllInboxMessageRead","markUnmarkInboxMessageAsFavorite","mark","deleteInboxMessage","deleteAllInboxMessages","getTranslations","lang_code","getTranslationsT","translations","templates","index","findIndex","updateEntity","payload","SAW_OK","_template$prizes$find","template","prizeType","updatedTemplates","contextKey","Jackpots","Pots","jackpotGet","_this","signature","jp_template_id","related_game_id","jackpots","pots","_jackpots","_pots","jp","pot","jp_template_ids","potGet","_jp","jackpotOptIn","result","jackpotOptOut","pointsRewardTransform","reward_points","i","place","points","getLeaderBoardPlayerTransformed","user","user_alt_name","position_in_board","points_accumulated","getLeaderBoardTransform","board","board_id","board_public_meta","rules","period_type_id","rewards","users","positions","AchCustomSectionType","AchCustomLayoutTheme","AchMissionsTabsOptions","AchOverviewMissionsFilter","UICustomSectionTransform","section_type_id","menu_img","menu_name","custom_skin_images","generic_custom_css","mission_tabs_options","overview_missions_count","overview_missions_filter","theme","PUBLIC_API_URL","C_SOCKET_PROD","AVATAR_DOMAIN","DEFAULT_LANG_EN","SmarticoAPI","label_api_key","brand_api_key","messageSender","options","_options$tracker","publicUrl","wsUrl","inboxCdnUrl","partnerUrl","logger","logCIDs","logHTTPTiming","always","info","getPublicUrl","getPublicWsUrl","getAvatarUrl","getCleanLabelApiKey","getEnvDnsSuffix","ENV_ID","substring","getEnvId","send","message","expectCID","force_language","cid","timeStart","timeEnd","url","request","obj","buildMessage","user_ext_id","api_key","brand_key","ext_user_id","ts","coreReportCustomEvent","eventType","eventMessage","EVENT","eventResponse","EVENT_RESPONSE","coreGetTranslations","areas","cacheSec","trim","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","trBase","GET_TRANSLATIONS_RESPONSE","_trUser$translations","trUserRQ","trUser","keys","forEach","k","coreIdentifyLabel","_this2","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","coreChangeUsername","public_username_custom","CLIENT_SET_CUSTOM_USERNAME_REQUEST","CLIENT_SET_CUSTOM_USERNAME_RESPONSE","CHECK_SEGMENT_MATCH_REQUEST","results","CHECK_SEGMENT_MATCH_RESPONSE","segments","JP_GET_JACKPOTS_REQUEST","JP_GET_JACKPOTS_RESPONSE","JP_GET_LATEST_POTS_REQUEST","JP_GET_LATEST_POTS_RESPONSE","JP_OPTIN_REQUEST","JP_OPTOUT_REQUEST","sawGetTemplates","is_visitor_mode","SAW_GET_SPINS_REQUEST","SAW_GET_SPINS_RESPONSE","_t$saw_template_ui_de","_t$saw_template_ui_de2","jackpotValue","SAW_AKNOWLEDGE_REQUEST","round_id","SAW_DO_SPIN_REQUEST","spinAttemptResponse","status","SAW_NO_SPINS","SAW_PRIZE_POOL_EMPTY","SAW_NOT_ENOUGH_POINTS","SAW_FAILED_MAX_SPINS_REACHED","MISSION_OPTIN_REQUEST","achievementId","res","ACHIEVEMENT_CLAIM_PRIZE_REQUEST","ACHIEVEMENT_CLAIM_PRIZE_RESPONSE","TOURNAMENT_REGISTER_REQUEST","itemId","BUY_SHOP_ITEM_REQUEST","BUY_SHOP_ITEM_RESPONSE","inboxGetMessages","GET_INBOX_MESSAGES_REQUEST","GET_INBOX_MESSAGES_RESPONSE","storeGetItems","GET_SHOP_ITEMS_REQUEST","GET_SHOP_ITEMS_RESPONSE","storeGetCategories","GET_SHOP_CATEGORIES_REQUEST","GET_SHOP_CATEGORIES_RESPONSE","categories","storeGetPurchasedItems","ACH_SHOP_ITEM_HISTORY_REQUEST","ACH_SHOP_ITEM_HISTORY_RESPONSE","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","GET_ACHIEVEMENT_MAP_RESPONSE","responseClone","achievements","getUserGamificationInfo","GET_ACHIEVEMENT_USER_REQUEST","GET_ACHIEVEMENT_USER_RESPONSE","level_counter_1","level_counter_2","achGetCategories","GET_ACH_CATEGORIES_REQUEST","GET_ACH_CATEGORIES_RESPONSE","badgetsGetItems","Badge","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","GET_TOURNAMENT_LOBBY_RESPONSE","tournaments","tournamentsGetInfo","_response$userPositio","_response$tournamentI","GET_TOURNAMENT_INFO_REQUEST","GET_TOURNAMENT_INFO_RESPONSE","leaderboardGet","prevPeriod","_response$map$boardKe","_response$map$boardKe2","GET_LEADERS_BOARD_REQUEST","snapshot_offset","include_users","GET_LEADERS_BOARD_RESPONSE","boardKey","DAILY","levelsGet","GET_LEVEL_MAP_REQUEST","GET_LEVEL_MAP_RESPONSE","GET_CUSTOM_SECTIONS_REQUEST","GET_CUSTOM_SECTIONS_RESPONSE","values","customSections","starred_only","favoriteOnly","log","_this3","getMessageBody","getLabelSetting","INBOX_PUBLIC_CDN","fetch","method","headers","json","MARK_INBOX_READ_REQUEST","MARK_INBOX_READ_RESPONSE","all_read","MARK_INBOX_STARRED_REQUEST","MARK_INBOX_STARRED_RESPONSE","MARK_INBOX_DELETED_REQUEST","MARK_INBOX_DELETED_RESPONSE","all_deleted","getWSCalls","CookieStore","cookieStore","split","TSMap","QuizSportType","quizSupportedSports","Basketball","Soccer","Tennis","SAWGPMarketType","QuizAnswersValueType","quizAnswerHomeTeamReplacementText","quizAnswerAwayTeamReplacementText","quizDrawReplacementText","quizYesReplacementText","quizNoReplacementText","quizOddReplacementText","quizEvenReplacementText","quizOrReplacementText","quizAnswersTrKeys","yesNoAnswers","Yes","No","homeAwayAnswers","HomeTeam","AwayTeam","homeAwayDrawAnswers","Draw","marketsInfo","OneXTwo","question","trKey","answers","OneXTwoHalftime","HalftimeFulltime","HomeTeamHomeTeam","HomeTeamDraw","HomeTeamAwayTeam","DrawHomeTeam","DrawDraw","DrawAwayTeam","AwayTeamHomeTeam","AwayTeamDraw","AwayTeamAwayTeam","FirstGoal","LastGoal","DoubleChance","OverUnder2_5","OverUnder1_5Halftime","OverUnder1_5__2ndHalf","RedCard","TotalCorners8_5","TotalCorners9_5","Corners1x2","One_Two","Overtime","OddEven","Odd","Even","OddEvenHomeAway","HomeOdd","HomeEven","AwayOdd","AwayEven","FirstSet","SecondSet","ThirdSet","FourthSet","FifthSet","PlayerOneWinsOneSet","PlayerTwoWinsOneSet","QuizMarketPerSport","JackpotContributionType","JackpotType"],"mappings":"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"}