@smartico/public-api 0.0.49 → 0.0.51

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.
@@ -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/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/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.ts","../src/Missions/UserAchievement.ts","../src/Level/GetLevelMapResponse.ts","../src/WSAPI/WSAPI.ts","../src/SmarticoAPI.ts","../src/CookieStore.ts","../src/Inbox/InboxMessageType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Store/BuyStoreItemErrorCode.ts","../src/Store/StoreItemType.ts","../src/Tournaments/TournamentInstanceStatus.ts","../src/Tournaments/TournamentRegistrationError.ts","../src/Tournaments/TournamentRegistrationStatus.ts","../src/Tournaments/TournamentRegistrationType.ts","../src/Tournaments/TournamentType.ts","../src/Tournaments/TournamentUtils.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 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 // 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_ACTIVITY_LOG_REQUEST = 507,\n GET_ACTIVITY_LOG_RESPONSE = 508,\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 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\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\n REGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ = 1003,\n REGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP = 2003,\n\n CLIENT_DEBUG_REQUEST = 77777,\n\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}\n\n\n\nexport { IntUtils }","export enum SAWBuyInType {\n Free = 1,\n Points = 2,\n Spins = 3\n}\n\nexport const SAWBuyInTypeName = {\n [SAWBuyInType.Free]: \"free\",\n [SAWBuyInType.Points]: \"points\",\n [SAWBuyInType.Spins]: \"spins\",\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}","export enum SAWGameType {\n SpinAWheel = 1,\n ScratchCard = 2,\n MatchX = 3,\n GiftBox = 4\n}\n\nexport const SAWGameTypeName = {\n [SAWGameType.SpinAWheel]: \"wheel\",\n [SAWGameType.ScratchCard]: \"scratch\",\n [SAWGameType.MatchX]: \"matchx\",\n [SAWGameType.GiftBox]: \"giftbox\",\n}\n","export 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 SAWSpinErrorCode {\n SAW_OK = 0,\n SAW_NO_SPINS = 40001,\n SAW_PRIZE_POOL_EMPTY = 40002,\n SAW_NOT_ENOUGH_POINTS = 40003,\n SAW_FAILED_MAX_SPINS_REACHED = 40004,\n\n SAW_VISITOR_STOP_SPIN_REQUEST = -40001 // special code for visitor game mode to stop spin request\n}","export enum SAWWinSoundType {\n\n Disappointing = 1,\n Positive = 2,\n HighlyPositive = 3,\n NoSound = 4\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 flushAll() {\n NodeCache.cache = {};\n }\n\n}\n\n\nexport { NodeCache }","import { NodeCache } from \"./NodeCache\";\n\n\nexport enum ECacheContext {\n Translations,\n LabelInfo\n}\n\nconst WITH_REF_CACHE = [\n ECacheContext.Translations\n];\n\nexport class OCache {\n\n private static cache: { [key: string] : NodeCache } = {}\n\n public static get<T>(oKey: any, cacheContext: ECacheContext): T | undefined {\n\n const key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n if (this.cache[cacheContext] === undefined) {\n this.cache[cacheContext] = new NodeCache( );\n }\n\n return 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.cache[cacheContext].set(key, 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) {\n if (this.cache[cacheContext]) {\n this.cache[cacheContext].flushAll();\n }\n }\n}\n","export enum ActivityTypeLimited {\n\n DoNothing = 8,\n Points = 12,\n Popup = 30,\n Inbox = 31,\n Bonus = 100,\n}\n","\nclass CoreUtils {\n\n public static avatarUrl = (avatar_id: string, avatarDomain: string): string => {\n if (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\nexport { CoreUtils }","\nexport enum PublicLabelSettings {\n FCM_SENDER_ID = \"FCM_SENDER_ID\",\n PUBLIC_API_URL = \"PUBLIC_API_URL\",\n FCM_SW_URL = \"FCM_SW_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 \n AVATAR_CUSTOM_IMAGE_MAX_ID = \"AVATAR_CUSTOM_IMAGE_MAX_ID\",\n AVATAR_CUSTOM_IMAGE_FOLDER = \"AVATAR_CUSTOM_IMAGE_FOLDER\",\n \n RETENTION_GAMES_CUSTOMER_ID = \"RETENTION_GAMES_CUSTOMER_ID\",\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","export enum AchievementStatus {\n\n Draft = 1,\n AvailableUnlocked = 2,\n AvailableLocked = 3,\n Archived = 4,\n FeaturedManually = 5,\n FeaturedAI = 6\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 { 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 { 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 unlock_date?: string;\n completed_tasks?: number;\n achievementTasks?: UserAchievementTask[];\n ach_status_id?: AchievementStatus;\n}\n\nexport const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBadge[] => {\n\n return items.filter( r => r.ach_id >= 1).map( r => (\n {\n id: r.ach_id,\n name: r.ach_public_meta.name,\n desription: r.ach_public_meta.description,\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 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 is_completed: t.isCompleted,\n progress: t.userProgress,\n }))\n }\n ));\n} \n\n","import { 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: parseInt(l.level_public_meta.visibility_points as any),\n required_level_counter_1: l.required_level_counter_1,\n required_level_counter_2: l.required_level_counter_2,\n })));\n}","import { CoreUtils } from \"../Core\";\nimport { SmarticoAPI } from \"../SmarticoAPI\";\n\nimport { TLevel, TMissionOrBadge, TUserProfile } from \"./WSAPITypes\";\n\n/** @group General API */\nexport class WSAPI {\n\n /** @private */\n constructor(private api: SmarticoAPI) {\n }\n\n /** Returns all the levels available the current user */\n public async getUserProfile(): Promise<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 /** Returns all the levels available the current user */\n public async getLevels(): Promise<TLevel[]> {\n return this.api.levelsGetT(null);\n }\n\n /** Returns all the missions available the current user */\n public async getMissions(): Promise<TMissionOrBadge[]> {\n return this.api.missionsGetItemsT(null);\n }\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 { SAWDoSpinRequest, SAWDoSpinResponse, SAWSpinErrorCode } from './MiniGames';\nimport { ECacheContext, OCache } from './OCache';\nimport { CoreUtils, GetTranslationsRequest, GetTranslationsResponse, ResponseIdentify, TranslationArea } from './Core';\nimport { GetLabelInfoResponse } from './Core/GetLabelInfoResponse';\nimport { GetLabelInfoRequest } from './Core/GetLabelInfoRequest';\nimport { GetInboxMessagesRequest, GetInboxMessagesResponse } from './Inbox';\nimport { GetStoreItemsResponse } from './Store';\nimport { AchievementType, GetAchievementMapRequest, GetAchievementMapResponse, UserAchievementTransform } from './Missions';\nimport { GetTournamentInfoRequest, GetTournamentInfoResponse, GetTournamentsRequest, GetTournamentsResponse } from './Tournaments';\nimport { GetLeaderBoardsRequest, GetLeaderBoardsResponse, LeaderBoardDetails, LeaderBoardPeriodType } from \"./Leaderboard\";\nimport { GetLevelMapResponse, GetLevelMapResponseTransform } from \"./Level\";\nimport { WSAPI } from \"./WSAPI/WSAPI\";\nimport { TLevel, TMissionOrBadge } from \"./WSAPI/WSAPITypes\";\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}\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 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 getEnvId(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 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.getEnvId(label_api_key)); \n }\n\n public static getPublicWsUrl(label_api_key: string): string {\n return C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvId(label_api_key)); \n } \n\n public static getAvatarUrl(label_api_key: string): string {\n return AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvId(label_api_key)); \n } \n\n private async send<T>(message: any, expectCID?: ClassId): Promise<T> {\n\n\n if (this.logCIDs.includes(message.cid)) {\n this.logger.info('REQ', message)\n }\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. ${e.message}`, { url: this.publicUrl, request: message, error: e.message });\n throw(new Error(`Failed to make request to smartico channel. ${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 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 this.send(message, ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE);\n }\n\n public async sawGetTemplates(user_ext_id: string, lang?: string, is_visitor_mode: boolean = false): Promise<SAWGetTemplatesResponse> {\n\n const message = this.buildMessage<SAWGetTemplatesRequest, SAWGetTemplatesResponse>(user_ext_id, ClassId.SAW_GET_SPINS_REQUEST, lang ? { force_language: lang, is_visitor_mode } : { is_visitor_mode });\n\n const response = await this.send<SAWGetTemplatesResponse>(message, ClassId.SAW_GET_SPINS_RESPONSE);\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\n public async sawSpinRequest(user_ext_id: string, saw_template_id: number, round_id: number): Promise<SAWDoSpinResponse> {\n\n const message = this.buildMessage<SAWDoSpinRequest, SAWDoSpinResponse>(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {\n saw_template_id,\n request_id: IntUtils.uuid()\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;\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): Promise<GetStoreItemsResponse> {\n\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);\n\n }\n\n public async missionsGetItems(user_ext_id: 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);\n if (response.achievements) { \n response.achievements = response.achievements.filter(a => a.ach_type_id === AchievementType.Mission);\n }\n return response;\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 badgetsGetItems(user_ext_id: 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);\n if (response.achievements) { \n response.achievements = response.achievements.filter(a => a.ach_type_id === AchievementType.Badge);\n }\n return response;\n } \n\n public async tournamentsGetLobby(user_ext_id: 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);\n\n }\n\n public async tournamentsGetInfo(user_ext_id: string, tournamentInstanceId: number): 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_LOBBY_RESPONSE);\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 leaderboardGet(user_ext_id: string, period_type_id?: LeaderBoardPeriodType, prevPeriod: boolean = false): 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);\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 levelsGet(user_ext_id?: 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);\n }\n\n public async levelsGetT(user_ext_id?: string): Promise<TLevel[]> {\n return GetLevelMapResponseTransform(await this.levelsGet(user_ext_id));\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 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 LeaderBoardPeriodType {\n DAILY = 1,\n WEEKLY = 2,\n MONTHLY = 3\n}\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}","export enum StoreItemType {\n Bonus = 1,\n Manual = 2\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};","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 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\n","export 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","export enum TournamentType {\n\n SCHEDULED = 1,\n SNG = 2,\n TEST = 3,\n}\n","import { Tournament } from \"./Tournament\";\nimport { TournamentInstanceStatus } from \"./TournamentInstanceStatus\";\nimport { TournamentRegistrationStatus } from \"./TournamentRegistrationStatus\";\nimport { TournamentRegistrationType } from \"./TournamentRegistrationType\";\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}\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","SAWBuyInType","SAWBuyInTypeName","Free","Points","Spins","SAWUtils","canPlay","t","pointsBalance","undefined","saw_buyin_type_id","spin_count","buyin_cost_points","console","error","SAWAcknowledgeType","SAWAskForUsername","SAWGameType","SAWGameTypeName","SpinAWheel","ScratchCard","MatchX","GiftBox","SAWPrizeType","SAWSpinErrorCode","SAWWinSoundType","SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","NodeCache","constructor","ttlChecker","setInterval","now","Date","getTime","key","cache","hasOwnProperty","o","ttl","get","set","ttlSeconds","flushAll","ECacheContext","OCache","oKey","cacheContext","stringify","use","f","clear","ActivityTypeLimited","CoreUtils","avatarUrl","avatar_id","avatarDomain","startsWith","endsWith","slice","PublicLabelSettings","TranslationArea","AchievementStatus","AchievementTaskType","AchievementType","UserAchievementTransform","items","filter","r","ach_id","map","id","name","ach_public_meta","desription","description","unlock_mission_description","image","image_url","is_completed","isCompleted","is_locked","isLocked","is_requires_optin","requiresOptin","is_opted_in","isOptedIn","time_limit_ms","dt_start","start_date_ts","reward","progress","type","ach_type_id","Mission","cta_action","cta_text","custom_section_id","only_in_custom_section","custom_data","tasks","achievementTasks","task_type_id","CompleteAchievement","task_id","task_public_meta","userProgress","GetLevelMapResponseTransform","levels","l","level_id","level_public_meta","required_points","visibility_points","parseInt","required_level_counter_1","required_level_counter_2","WSAPI","api","getUserProfile","tracker","Object","assign","userPublicProps","avatar_url","Error","getLevels","levelsGetT","getMissions","missionsGetItemsT","PUBLIC_API_URL","C_SOCKET_PROD","AVATAR_DOMAIN","DEFAULT_LANG_EN","SmarticoAPI","label_api_key","brand_api_key","messageSender","options","publicUrl","wsUrl","partnerUrl","logger","logCIDs","logHTTPTiming","always","info","getPublicUrl","getPublicWsUrl","getAvatarUrl","getCleanLabelApiKey","getEnvId","ENV_ID","substring","send","message","expectCID","cid","result","timeStart","timeEnd","url","request","Array","isArray","obj","response","buildMessage","user_ext_id","payload","api_key","brand_key","ext_user_id","ts","coreReportCustomEvent","eventType","eventMessage","EVENT","eventResponse","EVENT_RESPONSE","coreGetTranslations","lang_code","areas","cacheSec","trim","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","trBase","GET_TRANSLATIONS_RESPONSE","trUserRQ","trUser","keys","translations","forEach","k","coreIdentifyLabel","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","request_id","IDENTIFY_RESPONSE","coreChangeUsername","public_username_custom","CLIENT_SET_CUSTOM_USERNAME_REQUEST","CLIENT_SET_CUSTOM_USERNAME_RESPONSE","sawGetTemplates","lang","is_visitor_mode","SAW_GET_SPINS_REQUEST","force_language","SAW_GET_SPINS_RESPONSE","templates","jackpot_current","jackpotValue","saw_template_ui_definition","jackpot_symbol","promo_text","prizes","p","saw_prize_ui_definition","aknowledge_message","sawSpinRequest","saw_template_id","round_id","SAW_DO_SPIN_REQUEST","spinAttemptResponse","SAW_DO_SPIN_RESPONSE","status","SAW_OK","SAW_NO_SPINS","SAW_PRIZE_POOL_EMPTY","SAW_NOT_ENOUGH_POINTS","SAW_FAILED_MAX_SPINS_REACHED","errCode","inboxGetMessages","limit","offset","GET_INBOX_MESSAGES_REQUEST","GET_INBOX_MESSAGES_RESPONSE","storeGetItems","GET_SHOP_ITEMS_REQUEST","GET_SHOP_ITEMS_RESPONSE","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","GET_ACHIEVEMENT_MAP_RESPONSE","achievements","badgetsGetItems","Badge","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","GET_TOURNAMENT_LOBBY_RESPONSE","tournamentsGetInfo","tournamentInstanceId","GET_TOURNAMENT_INFO_REQUEST","userPosition","tournamentInfo","players","leaderboardGet","period_type_id","prevPeriod","GET_LEADERS_BOARD_REQUEST","snapshot_offset","include_users","GET_LEADERS_BOARD_RESPONSE","boardKey","find","positions","levelsGet","GET_LEVEL_MAP_REQUEST","GET_LEVEL_MAP_RESPONSE","getWSCalls","CookieStore","cookieStore","split","TSMap","InboxMessageType","LeaderBoardPeriodType","BuyStoreItemErrorCode","StoreItemType","TournamentInstanceStatus","TournamentInstanceStatusName","s","PUBLISHED","REGISTER","STARTED","FINISHED","CANCELLED","FAILED","FINALIZING","TournamentRegistrationError","TournamentRegistrationStatus","TournamentRegistrationType","TournamentType","TournamentUtils","isCanRegister","tournament","tournamentRegistrationStatus","QUALIFIED_PENDING_REGISTRATION","isUserRegistered","playersMaxCount","registrationCount","registrationType","AUTO","tournamentInstanceStatus","allowLateRegistration","isInProgress","isActive","isFinished","isCancelled","isUpcoming"],"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/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/Store/BuyStoreItemErrorCode.ts","../src/Store/StoreItemType.ts","../src/Store/StoreItem.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.ts","../src/Missions/UserAchievement.ts","../src/Tournaments/TournamentRegistrationType.ts","../src/Tournaments/TournamentRegistrationStatus.ts","../src/Tournaments/Tournament.ts","../src/Tournaments/GetTournamentInfoResponse.ts","../src/Tournaments/TournamentInstanceStatus.ts","../src/Tournaments/TournamentRegistrationError.ts","../src/Tournaments/TournamentType.ts","../src/Tournaments/TournamentUtils.ts","../src/Level/GetLevelMapResponse.ts","../src/WSAPI/WSAPI.ts","../src/SmarticoAPI.ts","../src/CookieStore.ts","../src/Inbox/InboxMessageType.ts","../src/Leaderboard/LeaderBoardPeriodType.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 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 // 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_ACTIVITY_LOG_REQUEST = 507,\n GET_ACTIVITY_LOG_RESPONSE = 508,\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 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\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\n REGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ = 1003,\n REGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP = 2003,\n\n CLIENT_DEBUG_REQUEST = 77777,\n\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}\n\n\n\nexport { IntUtils }","export enum SAWBuyInType {\n Free = 1,\n Points = 2,\n Spins = 3\n}\n\nexport const SAWBuyInTypeName = {\n [SAWBuyInType.Free]: \"free\",\n [SAWBuyInType.Points]: \"points\",\n [SAWBuyInType.Spins]: \"spins\",\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}","export enum SAWGameType {\n SpinAWheel = 1,\n ScratchCard = 2,\n MatchX = 3,\n GiftBox = 4\n}\n\nexport const SAWGameTypeName = {\n [SAWGameType.SpinAWheel]: \"wheel\",\n [SAWGameType.ScratchCard]: \"scratch\",\n [SAWGameType.MatchX]: \"matchx\",\n [SAWGameType.GiftBox]: \"giftbox\",\n}\n","export 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 SAWSpinErrorCode {\n SAW_OK = 0,\n SAW_NO_SPINS = 40001,\n SAW_PRIZE_POOL_EMPTY = 40002,\n SAW_NOT_ENOUGH_POINTS = 40003,\n SAW_FAILED_MAX_SPINS_REACHED = 40004,\n\n SAW_VISITOR_STOP_SPIN_REQUEST = -40001 // special code for visitor game mode to stop spin request\n}","export enum SAWWinSoundType {\n\n Disappointing = 1,\n Positive = 2,\n HighlyPositive = 3,\n NoSound = 4\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 flushAll() {\n NodeCache.cache = {};\n }\n\n}\n\n\nexport { NodeCache }","import { NodeCache } from \"./NodeCache\";\n\n\nexport enum ECacheContext {\n Translations,\n LabelInfo\n}\n\nconst WITH_REF_CACHE = [\n ECacheContext.Translations\n];\n\nexport class OCache {\n\n private static cache: { [key: string] : NodeCache } = {}\n\n public static get<T>(oKey: any, cacheContext: ECacheContext): T | undefined {\n\n const key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n if (this.cache[cacheContext] === undefined) {\n this.cache[cacheContext] = new NodeCache( );\n }\n\n return 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.cache[cacheContext].set(key, 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) {\n if (this.cache[cacheContext]) {\n this.cache[cacheContext].flushAll();\n }\n }\n}\n","export enum ActivityTypeLimited {\n\n DoNothing = 8,\n Points = 12,\n Popup = 30,\n Inbox = 31,\n Bonus = 100,\n}\n","\nclass CoreUtils {\n\n public static avatarUrl = (avatar_id: string, avatarDomain: string): string => {\n if (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\nexport { CoreUtils }","\nexport enum PublicLabelSettings {\n FCM_SENDER_ID = \"FCM_SENDER_ID\",\n PUBLIC_API_URL = \"PUBLIC_API_URL\",\n FCM_SW_URL = \"FCM_SW_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 \n AVATAR_CUSTOM_IMAGE_MAX_ID = \"AVATAR_CUSTOM_IMAGE_MAX_ID\",\n AVATAR_CUSTOM_IMAGE_FOLDER = \"AVATAR_CUSTOM_IMAGE_FOLDER\",\n \n RETENTION_GAMES_CUSTOMER_ID = \"RETENTION_GAMES_CUSTOMER_ID\",\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","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}","export enum StoreItemType {\n Bonus = 1,\n Manual = 2\n}\n\n","import { TStoreItem } from \"../WSAPI/WSAPITypes\";\nimport { StoreItemPublicMeta } from \"./StoreItemPublicMeta\";\nimport { StoreItemType } from \"./StoreItemType\";\n\nexport interface StoreItem {\n id: number;\n itemTypeId: StoreItemType;\n itemPublicMeta: StoreItemPublicMeta;\n categoryIds?: number[];\n canBuy?: boolean;\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.custom_label_tag || r.itemPublicMeta.label_tag,\n limit_message: r.itemPublicMeta.limit_message,\n priority: r.itemPublicMeta.priority,\n related_item_ids: r.itemPublicMeta.related_items,\n\n type: {\n [StoreItemType.Bonus]: 'bonus',\n [StoreItemType.Manual]: 'manual'\n }[r.itemTypeId] as 'bonus' | 'manual',\n\n can_buy: r.canBuy,\n category_ids: r.categoryIds ?? []\n }\n return x;\n });\n\n}","export enum AchievementStatus {\n\n Draft = 1,\n AvailableUnlocked = 2,\n AvailableLocked = 3,\n Archived = 4,\n FeaturedManually = 5,\n FeaturedAI = 6\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 { 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 { 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 unlock_date?: string;\n completed_tasks?: number;\n achievementTasks?: UserAchievementTask[];\n ach_status_id?: AchievementStatus;\n}\n\nexport const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBadge[] => {\n\n return items.filter( r => r.ach_id >= 1).map( r => (\n {\n id: r.ach_id,\n name: r.ach_public_meta.name,\n desription: r.ach_public_meta.description,\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 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 is_completed: t.isCompleted,\n progress: t.userProgress,\n }))\n }\n ));\n} \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 type TournamentRegistrationStatusName = 'NOT_REGISTERED' | 'REGISTERED' | 'FINISHED' | 'PENDING' | 'CANCELLED' | 'REGISTERED_PENDING_QUALIFICATION' | 'QUALIFIED_PENDING_REGISTRATION';\n\n/** @hidden */\nexport const TournamentRegistrationStatusName = (type: TournamentRegistrationStatus): TournamentRegistrationStatusName => {\n return ({\n [TournamentRegistrationStatus.CANCELLED]: 'CANCELLED',\n [TournamentRegistrationStatus.FINISHED]: 'FINISHED',\n [TournamentRegistrationStatus.NOT_REGISTERED]: 'NOT_REGISTERED',\n [TournamentRegistrationStatus.PENDING]: 'PENDING',\n [TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION]: 'QUALIFIED_PENDING_REGISTRATION',\n [TournamentRegistrationStatus.REGISTERED]: 'REGISTERED',\n [TournamentRegistrationStatus.REGISTERED_PENDING_QUALIFICATION]: 'REGISTERED_PENDING_QUALIFICATION',\n }[type] || 'UNKNOWN') as TournamentRegistrationStatusName;\n} \n\n","import {TournamentRegistrationType, TournamentRegistrationTypeGetName} from \"./TournamentRegistrationType\";\nimport {TournamentInstanceStatus} from \"./TournamentInstanceStatus\";\nimport { TournamentRegistrationStatus, TournamentRegistrationStatusName } from \"./TournamentRegistrationStatus\";\nimport { TournamentType } from \"./TournamentType\";\nimport { TournamentPublicMeta } from \"./TournamentPublicMeta\";\nimport { TTournament } from \"../WSAPI/WSAPITypes\";\nimport { TournamentUtils } from \".\";\nimport { IntUtils } from \"../IntUtils\";\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 startTime_ts?: number;\n /** The time when tournament is going to finish, epoch */\n endTime_ts?: 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}\n\n\nexport const TournamentItemsTransform = (items: Tournament[]): TTournament[] => { \n\n return items.filter( r => r.tournamentId >= 1).map( r => {\n\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 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,\n\n start_time: r.startTime_ts,\n end_time: r.endTime_ts,\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: TournamentRegistrationStatusName(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 return x;\n });\n\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\";\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\n\nexport const tournamentInfoItemTransform = (t: GetTournamentInfoResponse): TTournamentDetailed => {\n const response: TTournamentDetailed = {\n ...TournamentItemsTransform([t.tournamentInfo.tournamentLobbyInfo])[0],\n players: t.tournamentInfo.players.map( p => ({\n public_username: p.userAltName,\n avatar_url: p.avatar_url,\n position: p.position,\n scores: p.scores,\n is_me: p.isMe,\n })),\n };\n\n if (t.userPosition) {\n response.me = {\n public_username: t.userPosition.userAltName,\n avatar_url: t.userPosition.avatar_url,\n position: t.userPosition.position,\n scores: t.userPosition.scores,\n }\n }\n\n return response;\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};","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","import { Tournament } from \"./Tournament\";\nimport { TournamentInstanceStatus } from \"./TournamentInstanceStatus\";\nimport { TournamentRegistrationStatus } from \"./TournamentRegistrationStatus\";\nimport { TournamentRegistrationType } from \"./TournamentRegistrationType\";\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}\n","import { 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: parseInt(l.level_public_meta.visibility_points as any),\n required_level_counter_1: l.required_level_counter_1,\n required_level_counter_2: l.required_level_counter_2,\n })));\n}","import { CoreUtils } from \"../Core\";\nimport { SmarticoAPI } from \"../SmarticoAPI\";\n\nimport { TLevel, TMissionOrBadge, TStoreItem, TTournament, TTournamentDetailed, TUserProfile } from \"./WSAPITypes\";\n\n/** @group General API */\nexport class WSAPI {\n\n /** @private */\n constructor(private api: SmarticoAPI) {\n }\n\n /** Returns information about current user */\n public async getUserProfile(): Promise<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 /** Returns all the levels available the current user */\n public async getLevels(): Promise<TLevel[]> {\n return this.api.levelsGetT(null);\n }\n\n /** Returns all the missions available the current user */\n public async getMissions(): Promise<TMissionOrBadge[]> {\n return this.api.missionsGetItemsT(null);\n }\n\n /** Returns all the badges available the current user */\n public async getBadges(): Promise<TMissionOrBadge[]> {\n return this.api.badgetsGetItemsT(null);\n }\n\n /** Returns all the store items available the current user */\n public async getStoreItems(): Promise<TStoreItem[]> {\n return this.api.storeGetItemsT(null);\n }\n\n /** Returns all the active instances of tournaments */\n public async getTournamentsList(): Promise<TTournament[]> {\n return this.api.tournamentsGetLobbyT(null);\n }\n\n /** Returns details information of specific tournament instance, the response will includ tournamnet info and the leaderboard of players */\n public async getTournamentInstanceInfo(tournamentInstanceId: number): Promise<TTournamentDetailed> {\n return this.api.tournamentsGetInfoT(null, tournamentInstanceId);\n }\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 { SAWDoSpinRequest, SAWDoSpinResponse, SAWSpinErrorCode } from './MiniGames';\nimport { ECacheContext, OCache } from './OCache';\nimport { CoreUtils, GetTranslationsRequest, GetTranslationsResponse, ResponseIdentify, TranslationArea } from './Core';\nimport { GetLabelInfoResponse } from './Core/GetLabelInfoResponse';\nimport { GetLabelInfoRequest } from './Core/GetLabelInfoRequest';\nimport { GetInboxMessagesRequest, GetInboxMessagesResponse } from './Inbox';\nimport { GetStoreItemsResponse, StoreItemTransform } from './Store';\nimport { AchievementType, GetAchievementMapRequest, GetAchievementMapResponse, UserAchievementTransform } from './Missions';\nimport { GetTournamentInfoRequest, GetTournamentInfoResponse, GetTournamentsRequest, GetTournamentsResponse, TournamentItemsTransform, tournamentInfoItemTransform } from './Tournaments';\nimport { GetLeaderBoardsRequest, GetLeaderBoardsResponse, LeaderBoardDetails, LeaderBoardPeriodType } from \"./Leaderboard\";\nimport { GetLevelMapResponse, GetLevelMapResponseTransform } from \"./Level\";\nimport { WSAPI } from \"./WSAPI/WSAPI\";\nimport { TLevel, TMissionOrBadge, TStoreItem, TTournament, TTournamentDetailed } from \"./WSAPI/WSAPITypes\";\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}\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 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 getEnvId(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 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.getEnvId(label_api_key)); \n }\n\n public static getPublicWsUrl(label_api_key: string): string {\n return C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvId(label_api_key)); \n } \n\n public static getAvatarUrl(label_api_key: string): string {\n return AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvId(label_api_key)); \n } \n\n private async send<T>(message: any, expectCID?: ClassId): Promise<T> {\n\n\n if (this.logCIDs.includes(message.cid)) {\n this.logger.info('REQ', message)\n }\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. ${e.message}`, { url: this.publicUrl, request: message, error: e.message });\n throw(new Error(`Failed to make request to smartico channel. ${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 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 this.send(message, ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE);\n }\n\n public async sawGetTemplates(user_ext_id: string, lang?: string, is_visitor_mode: boolean = false): Promise<SAWGetTemplatesResponse> {\n\n const message = this.buildMessage<SAWGetTemplatesRequest, SAWGetTemplatesResponse>(user_ext_id, ClassId.SAW_GET_SPINS_REQUEST, lang ? { force_language: lang, is_visitor_mode } : { is_visitor_mode });\n\n const response = await this.send<SAWGetTemplatesResponse>(message, ClassId.SAW_GET_SPINS_RESPONSE);\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\n public async sawSpinRequest(user_ext_id: string, saw_template_id: number, round_id: number): Promise<SAWDoSpinResponse> {\n\n const message = this.buildMessage<SAWDoSpinRequest, SAWDoSpinResponse>(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {\n saw_template_id,\n request_id: IntUtils.uuid()\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;\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): Promise<GetStoreItemsResponse> {\n\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);\n\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 missionsGetItems(user_ext_id: 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);\n if (response.achievements) { \n response.achievements = response.achievements.filter(a => a.ach_type_id === AchievementType.Mission);\n }\n return response;\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 badgetsGetItems(user_ext_id: 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);\n if (response.achievements) { \n response.achievements = response.achievements.filter(a => a.ach_type_id === AchievementType.Badge);\n }\n return response;\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): 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);\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): 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_LOBBY_RESPONSE);\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 return tournamentInfoItemTransform((await this.tournamentsGetInfo(user_ext_id, tournamentInstanceId)));\n } \n\n public async leaderboardGet(user_ext_id: string, period_type_id?: LeaderBoardPeriodType, prevPeriod: boolean = false): 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);\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 levelsGet(user_ext_id: 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);\n }\n\n public async levelsGetT(user_ext_id: string): Promise<TLevel[]> {\n return GetLevelMapResponseTransform(await this.levelsGet(user_ext_id));\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 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 LeaderBoardPeriodType {\n DAILY = 1,\n WEEKLY = 2,\n MONTHLY = 3\n}\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","SAWBuyInType","SAWBuyInTypeName","Free","Points","Spins","SAWUtils","canPlay","t","pointsBalance","undefined","saw_buyin_type_id","spin_count","buyin_cost_points","console","error","SAWAcknowledgeType","SAWAskForUsername","SAWGameType","SAWGameTypeName","SpinAWheel","ScratchCard","MatchX","GiftBox","SAWPrizeType","SAWSpinErrorCode","SAWWinSoundType","SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","NodeCache","constructor","ttlChecker","setInterval","now","Date","getTime","key","cache","hasOwnProperty","o","ttl","get","set","ttlSeconds","flushAll","ECacheContext","OCache","oKey","cacheContext","stringify","use","f","clear","ActivityTypeLimited","CoreUtils","avatarUrl","avatar_id","avatarDomain","startsWith","endsWith","slice","PublicLabelSettings","TranslationArea","BuyStoreItemErrorCode","StoreItemType","StoreItemTransform","items","filter","r","id","map","x","name","itemPublicMeta","price","image","image_url","description","ribbon","custom_label_tag","label_tag","limit_message","priority","related_item_ids","related_items","type","Bonus","Manual","itemTypeId","can_buy","canBuy","category_ids","categoryIds","AchievementStatus","AchievementTaskType","AchievementType","UserAchievementTransform","ach_id","ach_public_meta","desription","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","custom_data","tasks","achievementTasks","task_type_id","CompleteAchievement","task_id","task_public_meta","userProgress","TournamentRegistrationType","TournamentRegistrationTypeGetName","AUTO","BUY_IN_POINTS","MANUAL_APPROVAL","OPT_IN","REQUIRES_QUALIFICATION","TournamentRegistrationStatus","TournamentRegistrationStatusName","CANCELLED","FINISHED","NOT_REGISTERED","PENDING","QUALIFIED_PENDING_REGISTRATION","REGISTERED","REGISTERED_PENDING_QUALIFICATION","TournamentItemsTransform","tournamentId","instance_id","tournamentInstanceId","tournament_id","publicMeta","segment_dont_match_message","image1","image2","image_url2","prize_pool_short","custom_price_text","is_featured","featured","start_time","startTime_ts","end_time","endTime_ts","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","tournamentInfoItemTransform","response","tournamentInfo","tournamentLobbyInfo","players","p","public_username","userAltName","avatar_url","position","scores","is_me","isMe","userPosition","me","TournamentInstanceStatus","TournamentInstanceStatusName","s","PUBLISHED","REGISTER","STARTED","FAILED","FINALIZING","TournamentRegistrationError","TournamentType","tournament","tournamentInstanceStatus","allowLateRegistration","GetLevelMapResponseTransform","levels","l","level_id","level_public_meta","required_points","visibility_points","parseInt","required_level_counter_1","required_level_counter_2","WSAPI","api","getUserProfile","tracker","Object","assign","userPublicProps","Error","getLevels","levelsGetT","getMissions","missionsGetItemsT","getBadges","badgetsGetItemsT","getStoreItems","storeGetItemsT","getTournamentsList","tournamentsGetLobbyT","getTournamentInstanceInfo","tournamentsGetInfoT","PUBLIC_API_URL","C_SOCKET_PROD","AVATAR_DOMAIN","DEFAULT_LANG_EN","SmarticoAPI","label_api_key","brand_api_key","messageSender","options","publicUrl","wsUrl","partnerUrl","logger","logCIDs","logHTTPTiming","always","info","getPublicUrl","getPublicWsUrl","getAvatarUrl","getCleanLabelApiKey","getEnvId","ENV_ID","substring","send","message","expectCID","cid","result","timeStart","timeEnd","url","request","Array","isArray","obj","buildMessage","user_ext_id","payload","api_key","brand_key","ext_user_id","ts","coreReportCustomEvent","eventType","eventMessage","EVENT","eventResponse","EVENT_RESPONSE","coreGetTranslations","lang_code","areas","cacheSec","trim","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","trBase","GET_TRANSLATIONS_RESPONSE","trUserRQ","trUser","keys","translations","forEach","k","coreIdentifyLabel","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","request_id","IDENTIFY_RESPONSE","coreChangeUsername","public_username_custom","CLIENT_SET_CUSTOM_USERNAME_REQUEST","CLIENT_SET_CUSTOM_USERNAME_RESPONSE","sawGetTemplates","lang","is_visitor_mode","SAW_GET_SPINS_REQUEST","force_language","SAW_GET_SPINS_RESPONSE","templates","jackpot_current","jackpotValue","saw_template_ui_definition","jackpot_symbol","promo_text","prizes","saw_prize_ui_definition","aknowledge_message","sawSpinRequest","saw_template_id","round_id","SAW_DO_SPIN_REQUEST","spinAttemptResponse","SAW_DO_SPIN_RESPONSE","status","SAW_OK","SAW_NO_SPINS","SAW_PRIZE_POOL_EMPTY","SAW_NOT_ENOUGH_POINTS","SAW_FAILED_MAX_SPINS_REACHED","errCode","inboxGetMessages","limit","offset","GET_INBOX_MESSAGES_REQUEST","GET_INBOX_MESSAGES_RESPONSE","storeGetItems","GET_SHOP_ITEMS_REQUEST","GET_SHOP_ITEMS_RESPONSE","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","GET_ACHIEVEMENT_MAP_RESPONSE","achievements","badgetsGetItems","Badge","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","GET_TOURNAMENT_LOBBY_RESPONSE","tournaments","tournamentsGetInfo","GET_TOURNAMENT_INFO_REQUEST","leaderboardGet","period_type_id","prevPeriod","GET_LEADERS_BOARD_REQUEST","snapshot_offset","include_users","GET_LEADERS_BOARD_RESPONSE","boardKey","find","positions","levelsGet","GET_LEVEL_MAP_REQUEST","GET_LEVEL_MAP_RESPONSE","getWSCalls","CookieStore","cookieStore","split","TSMap","InboxMessageType","LeaderBoardPeriodType"],"mappings":"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"}
package/docs/README.md CHANGED
@@ -4,9 +4,24 @@
4
4
 
5
5
  - [TUserProfile](interfaces/TUserProfile.md)
6
6
  - [TLevel](interfaces/TLevel.md)
7
+ - [TTournament](interfaces/TTournament.md)
8
+ - [TTournamentDetailed](interfaces/TTournamentDetailed.md)
9
+ - [TStoreItem](interfaces/TStoreItem.md)
7
10
  - [TMissionOrBadge](interfaces/TMissionOrBadge.md)
8
11
  - [TMissionOrBadgeTask](interfaces/TMissionOrBadgeTask.md)
9
12
 
10
13
  ## General API
11
14
 
12
15
  - [WSAPI](classes/WSAPI.md)
16
+
17
+ ## Type Aliases
18
+
19
+ ### TournamentRegistrationStatusName
20
+
21
+ Ƭ **TournamentRegistrationStatusName**: ``"NOT_REGISTERED"`` \| ``"REGISTERED"`` \| ``"FINISHED"`` \| ``"PENDING"`` \| ``"CANCELLED"`` \| ``"REGISTERED_PENDING_QUALIFICATION"`` \| ``"QUALIFIED_PENDING_REGISTRATION"``
22
+
23
+ ___
24
+
25
+ ### TournamentRegistrationTypeName
26
+
27
+ Ƭ **TournamentRegistrationTypeName**: ``"AUTO"`` \| ``"OPT_IN"`` \| ``"BUY_IN_POINTS"`` \| ``"MANUAL_APPROVAL"`` \| ``"REQUIRES_QUALIFICATION"`` \| ``"UNKNOWN"``
@@ -6,7 +6,7 @@
6
6
 
7
7
  ▸ **getUserProfile**(): `Promise`<[`TUserProfile`](../interfaces/TUserProfile.md)\>
8
8
 
9
- Returns all the levels available the current user
9
+ Returns information about current user
10
10
 
11
11
  #### Returns
12
12
 
@@ -35,3 +35,57 @@ Returns all the missions available the current user
35
35
  #### Returns
36
36
 
37
37
  `Promise`<[`TMissionOrBadge`](../interfaces/TMissionOrBadge.md)[]\>
38
+
39
+ ___
40
+
41
+ ### getBadges
42
+
43
+ ▸ **getBadges**(): `Promise`<[`TMissionOrBadge`](../interfaces/TMissionOrBadge.md)[]\>
44
+
45
+ Returns all the badges available the current user
46
+
47
+ #### Returns
48
+
49
+ `Promise`<[`TMissionOrBadge`](../interfaces/TMissionOrBadge.md)[]\>
50
+
51
+ ___
52
+
53
+ ### getStoreItems
54
+
55
+ ▸ **getStoreItems**(): `Promise`<[`TStoreItem`](../interfaces/TStoreItem.md)[]\>
56
+
57
+ Returns all the store items available the current user
58
+
59
+ #### Returns
60
+
61
+ `Promise`<[`TStoreItem`](../interfaces/TStoreItem.md)[]\>
62
+
63
+ ___
64
+
65
+ ### getTournamentsList
66
+
67
+ ▸ **getTournamentsList**(): `Promise`<[`TTournament`](../interfaces/TTournament.md)[]\>
68
+
69
+ Returns all the active instances of tournaments
70
+
71
+ #### Returns
72
+
73
+ `Promise`<[`TTournament`](../interfaces/TTournament.md)[]\>
74
+
75
+ ___
76
+
77
+ ### getTournamentInstanceInfo
78
+
79
+ ▸ **getTournamentInstanceInfo**(`tournamentInstanceId`): `Promise`<[`TTournamentDetailed`](../interfaces/TTournamentDetailed.md)\>
80
+
81
+ Returns details information of specific tournament instance, the response will includ tournamnet info and the leaderboard of players
82
+
83
+ #### Parameters
84
+
85
+ | Name | Type |
86
+ | :------ | :------ |
87
+ | `tournamentInstanceId` | `number` |
88
+
89
+ #### Returns
90
+
91
+ `Promise`<[`TTournamentDetailed`](../interfaces/TTournamentDetailed.md)\>