@smartico/public-api 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +23 -44
  2. package/dist/Base/ClassId.d.ts +53 -4
  3. package/dist/Core/GetLabelInfoRequest.d.ts +3 -0
  4. package/dist/Core/GetLabelInfoResponse.d.ts +7 -0
  5. package/dist/Core/GetTranslationsRequest.d.ts +7 -0
  6. package/dist/Core/GetTranslationsResponse.d.ts +7 -0
  7. package/dist/Core/PublicLabelSettings.d.ts +28 -0
  8. package/dist/Core/PublicProperties.d.ts +11 -0
  9. package/dist/Core/ResponseIdentify.d.ts +12 -0
  10. package/dist/Core/TranslationArea.d.ts +9 -0
  11. package/dist/Core/index.d.ts +8 -0
  12. package/dist/Inbox/GetInboxMessagesRequest.d.ts +5 -0
  13. package/dist/Inbox/GetInboxMessagesResponse.d.ts +5 -0
  14. package/dist/Inbox/InboxMessage.d.ts +12 -0
  15. package/dist/Inbox/InboxMessageType.d.ts +11 -0
  16. package/dist/Inbox/index.d.ts +5 -0
  17. package/dist/MiniGames/SAWAskForUsername.d.ts +4 -0
  18. package/dist/MiniGames/SAWDoSpinResponse.d.ts +1 -7
  19. package/dist/MiniGames/SAWSpinErrorCode.d.ts +7 -0
  20. package/dist/MiniGames/SAWTemplateUI.d.ts +2 -5
  21. package/dist/MiniGames/SAWUtils.d.ts +5 -0
  22. package/dist/MiniGames/index.d.ts +5 -2
  23. package/dist/NodeCache.d.ts +9 -0
  24. package/dist/OCache.d.ts +11 -0
  25. package/dist/SmarticoAPI.d.ts +16 -2
  26. package/dist/index.d.ts +2 -0
  27. package/dist/index.js +431 -40
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.modern.mjs +324 -23
  30. package/dist/index.modern.mjs.map +1 -1
  31. package/package.json +11 -3
  32. package/src/Base/ClassId.ts +64 -6
  33. package/src/Base/ProtocolMessage.ts +6 -1
  34. package/src/Core/GetLabelInfoRequest.ts +5 -0
  35. package/src/Core/GetLabelInfoResponse.ts +6 -0
  36. package/src/Core/GetTranslationsRequest.ts +10 -0
  37. package/src/Core/GetTranslationsResponse.ts +8 -0
  38. package/src/Core/PublicLabelSettings.ts +34 -0
  39. package/src/Core/PublicProperties.ts +11 -0
  40. package/src/Core/ResponseIdentify.ts +14 -0
  41. package/src/Core/TranslationArea.ts +11 -0
  42. package/src/Core/index.ts +18 -0
  43. package/src/Inbox/GetInboxMessagesRequest.ts +7 -0
  44. package/src/Inbox/GetInboxMessagesResponse.ts +7 -0
  45. package/src/Inbox/InboxMessage.ts +14 -0
  46. package/src/Inbox/InboxMessageType.ts +13 -0
  47. package/src/Inbox/index.ts +11 -0
  48. package/src/MiniGames/SAWAskForUsername.ts +5 -0
  49. package/src/MiniGames/SAWDoSpinResponse.ts +1 -8
  50. package/src/MiniGames/SAWSpinErrorCode.ts +8 -0
  51. package/src/MiniGames/SAWTemplateUI.ts +3 -5
  52. package/src/MiniGames/SAWUtils.ts +31 -0
  53. package/src/MiniGames/index.ts +8 -3
  54. package/src/NodeCache.ts +45 -0
  55. package/src/OCache.ts +55 -0
  56. package/src/SmarticoAPI.ts +142 -9
  57. package/src/index.ts +2 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/Base/ClassId.ts","../src/IntUtils.ts","../src/MiniGames/SAWAcknowledgeType.ts","../src/MiniGames/SAWBuyInType.ts","../src/MiniGames/SAWDoSpinResponse.ts","../src/MiniGames/SAWGameType.ts","../src/MiniGames/SAWPrizeType.ts","../src/MiniGames/SAWWinSoundType.ts","../src/SmarticoAPI.ts"],"sourcesContent":["export enum ClassId {\n GET_LABEL_INFO = 3,\n GET_LABEL_INFO_RESPONSE = 4, \n IDENTIFY = 5,\n IDENTIFY_RESPONSE = 6,\n EVENT = 9,\n EVENT_RESPONSE = 10, \n\n GET_TRANSLATIONS_REQUEST = 13,\n GET_TRANSLATIONS_RESPONSE = 14,\n\n CHANGE_USERNAME = 159,\n CHANGE_USERNAME_RESPONSE = 160,\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\n SAW_SPINS_COUNT_PUSH = 706,\n SAW_SHOW_SPIN_PUSH = 707,\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}\n\n\n\nexport { IntUtils }","export enum SAWAcknowledgeType {\n\n Silent = 1,\n QuickMessage = 2,\n FullMessage = 3\n}\n","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 { ProtocolResponse } from \"./../Base/ProtocolResponse\";\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\nexport interface SAWDoSpinResponse extends ProtocolResponse {\n errCode: SAWSpinErrorCode;\n errMsg?: string;\n request_id: string; // guid\n saw_prize_id: number;\n first_spin_in_period: number;\n};\n","export enum SAWGameType {\n SpinAWheel = 1,\n ScratchCard = 2,\n MatchX = 3\n}\n\nexport const SAWGameTypeName = {\n [SAWGameType.SpinAWheel]: \"wheel\",\n [SAWGameType.ScratchCard]: \"scratch\",\n [SAWGameType.MatchX]: \"matchx\",\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","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}","import * as superagent from 'superagent';\nimport { 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 { SAWTemplate } from './MiniGames/SAWTemplate';\nimport { IntUtils } from './IntUtils';\nimport { ILogger } from './ILogger';\nimport { SAWBuyInType, SAWBuyInTypeName, SAWGameType, SAWGameTypeName } from './MiniGames';\n\nconst PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';\n\ninterface IOptions {\n logger?: ILogger;\n logCIDs?: ClassId[];\n logHTTPTiming?: boolean;\n}\n\n\nclass SmarticoAPI {\n\n private publicUrl: string;\n private logger: ILogger;\n private logCIDs: ClassId[];\n private logHTTPTiming: boolean;\n\n public constructor(private label_api_key: string, private brand_api_key: string, 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\n let ENV_ID = this.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 label_api_key = label_api_key.substring(0, 36);\n\n this.publicUrl = PUBLIC_API_URL.replace('{ENV_ID}', ENV_ID); \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 const res = await superagent.post(this.publicUrl).send(message);\n const timeEnd = new Date().getTime();\n\n if (this.logHTTPTiming) {\n this.logger.always('HTTP time, ms:' + (timeEnd - timeStart))\n }\n \n result = JSON.parse(res.text);\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 return message as any\n }\n\n public async miniGamesGetTemplates(user_ext_id: string): Promise<SAWGetTemplatesResponse> {\n\n const message = this.buildMessage<SAWGetTemplatesResponse, SAWGetTemplatesRequest>(user_ext_id, ClassId.SAW_GET_SPINS_REQUEST);\n\n const response = await this.send<SAWGetTemplatesResponse>(message);\n\n if (response && response.templates) {\n response.templates.forEach(t => {\n \n if (t.jackpot_current) {\n t.saw_template_ui_definition.name = IntUtils.replaceAll(t.saw_template_ui_definition.name, '{{jackpot}}', t.jackpot_current);\n t.saw_template_ui_definition.description = IntUtils.replaceAll(t.saw_template_ui_definition.description, '{{jackpot}}', t.jackpot_current);\n t.saw_template_ui_definition.promo_text = IntUtils.replaceAll(t.saw_template_ui_definition.promo_text, '{{jackpot}}', t.jackpot_current);\n t.prizes.forEach(p => {\n p.saw_prize_ui_definition.name = IntUtils.replaceAll(p.saw_prize_ui_definition.name, '{{jackpot}}', t.jackpot_current);\n p.saw_prize_ui_definition.aknowledge_message = IntUtils.replaceAll(p.saw_prize_ui_definition.aknowledge_message, '{{jackpot}}', t.jackpot_current);\n })\n }\n }); \n }\n\n return response;\n\n }\n\n public miniGamesFormatTemplatesForWidget(templates: SAWTemplate[], pointsBalance: number): any[] {\n\n return templates.filter( r => r.saw_template_id >= 1).map( r => (\n {\n id: r.saw_template_id,\n name: r.saw_template_ui_definition.name,\n // description: r.saw_template_ui_definition.description,\n game_type: SAWGameTypeName[r.saw_game_type_id] || 'unknown',\n buyin_type: SAWBuyInTypeName[r.saw_buyin_type_id] || 'unknown',\n jackpot: r.jackpot_current,\n spin_count: r.spin_count,\n buyin_cost_points: r.buyin_cost_points,\n can_play: (\n r.saw_buyin_type_id === SAWBuyInType.Free\n || (r.saw_buyin_type_id === SAWBuyInType.Points && r.buyin_cost_points <= pointsBalance)\n || (r.saw_buyin_type_id === SAWBuyInType.Spins && r.spin_count > 0)\n ), \n icon: \n r.saw_skin_ui_definition?.skin_folder\n ? r.saw_skin_ui_definition?.skin_folder + '/ico.png'\n : `https://libs.smartico.ai/gf/images/saw/${r.saw_skin_key}/ico.png`\n }\n ));\n\n }\n\n}\n\nexport { SmarticoAPI }"],"names":["ClassId","IntUtils","uuid","a","b","Math","random","toString","isNotNull","val","isNotEmpty","length","replaceAll","value","regex","replacement","replace","RegExp","escapeRegExp","v","SAWAcknowledgeType","SAWBuyInType","SAWBuyInTypeName","Free","Points","Spins","SAWSpinErrorCode","SAWGameType","SAWGameTypeName","SpinAWheel","ScratchCard","MatchX","SAWPrizeType","SAWWinSoundType","SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","PUBLIC_API_URL","SmarticoAPI","label_api_key","brand_api_key","options","publicUrl","logger","logCIDs","logHTTPTiming","console","always","undefined","info","ENV_ID","substring","send","message","expectCID","includes","cid","result","Array","isArray","str","obj","JSON","parse","error","request","response","timeStart","Date","getTime","superagent","post","res","timeEnd","text","e","url","Error","buildMessage","user_ext_id","payload","api_key","brand_key","ext_user_id","ts","miniGamesGetTemplates","SAW_GET_SPINS_REQUEST","templates","forEach","t","jackpot_current","saw_template_ui_definition","name","description","promo_text","prizes","p","saw_prize_ui_definition","aknowledge_message","miniGamesFormatTemplatesForWidget","pointsBalance","filter","r","saw_template_id","map","id","game_type","saw_game_type_id","buyin_type","saw_buyin_type_id","jackpot","spin_count","buyin_cost_points","can_play","icon","saw_skin_ui_definition","skin_folder","saw_skin_key"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","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/SmarticoAPI.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/InboxMessageType.ts"],"sourcesContent":["export enum ClassId {\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_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 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 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}\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}\n\nexport const SAWGameTypeName = {\n [SAWGameType.SpinAWheel]: \"wheel\",\n [SAWGameType.ScratchCard]: \"scratch\",\n [SAWGameType.MatchX]: \"matchx\",\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}","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","import * as superagent from 'superagent';\nimport { 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 { SAWTemplate } from './MiniGames/SAWTemplate';\nimport { IntUtils } from './IntUtils';\nimport { ILogger } from './ILogger';\nimport { SAWBuyInType, SAWBuyInTypeName, SAWDoSpinRequest, SAWDoSpinResponse, SAWGameType, SAWGameTypeName, SAWSpinErrorCode, SAWUtils } from './MiniGames';\nimport { ECacheContext, OCache } from './OCache';\nimport { GetTranslationsRequest, GetTranslationsResponse, ResponseIdentify, TranslationArea } from './Core';\nimport { GetLabelInfoResponse } from './Core/GetLabelInfoResponse';\nimport { GetLabelInfoRequest } from './Core/GetLabelInfoRequest';\nimport { GetInboxMessagesRequest, GetInboxMessagesResponse } from './Inbox';\n\nconst PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';\nconst AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';\n\ninterface IOptions {\n logger?: ILogger;\n logCIDs?: ClassId[];\n logHTTPTiming?: boolean;\n}\n\n\nclass SmarticoAPI {\n\n private publicUrl: string;\n private avatarDomain: string;\n\n\n private logger: ILogger;\n private logCIDs: ClassId[];\n private logHTTPTiming: boolean;\n\n public constructor(private label_api_key: string, private brand_api_key: string, 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\n let ENV_ID = this.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 label_api_key = label_api_key.substring(0, 36);\n\n this.publicUrl = PUBLIC_API_URL.replace('{ENV_ID}', ENV_ID); \n this.avatarDomain = AVATAR_DOMAIN.replace('{ENV_ID}', ENV_ID); \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 const res = await superagent.post(this.publicUrl).send(message);\n // const res = await superagent.post('http://channel01.int.smartico.ai:81/services/public').send(message);\n const timeEnd = new Date().getTime();\n\n if (this.logHTTPTiming) {\n this.logger.always('HTTP time, ms:' + (timeEnd - timeStart))\n }\n \n result = JSON.parse(res.text);\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 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 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: \"EN\",\n hash_code: 0,\n areas\n });\n\n const trBase = await this.send<GetTranslationsResponse>(tsBaseRQ);\n\n if (lang_code !== \"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);\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 if (!(r.avatar_id && r.avatar_id.startsWith('http'))) {\n r.avatar_id = AVATAR_DOMAIN + '/avatar/' + r.avatar_id\n }\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\n public async sawGetTemplates(user_ext_id: string): Promise<SAWGetTemplatesResponse> {\n\n const message = this.buildMessage<SAWGetTemplatesResponse, SAWGetTemplatesRequest>(user_ext_id, ClassId.SAW_GET_SPINS_REQUEST);\n\n const response = await this.send<SAWGetTemplatesResponse>(message);\n\n if (response && response.templates) {\n response.templates.forEach(t => {\n \n if (t.jackpot_current) {\n t.saw_template_ui_definition.name = IntUtils.replaceAll(t.saw_template_ui_definition.name, '{{jackpot}}', t.jackpot_current);\n t.saw_template_ui_definition.description = IntUtils.replaceAll(t.saw_template_ui_definition.description, '{{jackpot}}', t.jackpot_current);\n t.saw_template_ui_definition.promo_text = IntUtils.replaceAll(t.saw_template_ui_definition.promo_text, '{{jackpot}}', t.jackpot_current);\n t.prizes.forEach(p => {\n p.saw_prize_ui_definition.name = IntUtils.replaceAll(p.saw_prize_ui_definition.name, '{{jackpot}}', t.jackpot_current);\n p.saw_prize_ui_definition.aknowledge_message = IntUtils.replaceAll(p.saw_prize_ui_definition.aknowledge_message, '{{jackpot}}', t.jackpot_current);\n })\n }\n }); \n }\n\n return response;\n\n }\n\n public async sawFormatTemplatesForWidget(templates: SAWTemplate[], pointsBalance: number): Promise<any[]> {\n\n return templates.filter( r => r.saw_template_id >= 1).map( r => (\n {\n id: r.saw_template_id,\n name: r.saw_template_ui_definition.name,\n // description: r.saw_template_ui_definition.description,\n game_type: SAWGameTypeName[r.saw_game_type_id] || 'unknown',\n buyin_type: SAWBuyInTypeName[r.saw_buyin_type_id] || 'unknown',\n jackpot: r.jackpot_current,\n spin_count: r.spin_count,\n buyin_cost_points: r.buyin_cost_points,\n can_play: SAWUtils.canPlay(r, pointsBalance), \n icon: \n r.saw_skin_ui_definition?.skin_folder\n ? r.saw_skin_ui_definition?.skin_folder + '/ico.png'\n : `https://libs.smartico.ai/gf/images/saw/${r.saw_skin_key}/ico.png`\n }\n ));\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_ACTIVITY_LOG_REQUEST, {\n limit,\n offset\n });\n\n const response = await this.send<GetInboxMessagesResponse>(message);\n\n return response;\n\n } \n\n}\n\nexport { SmarticoAPI }","\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","enum TranslationArea {\n\n Casino = 1,\n Gamification = 2,\n Trading = 3,\n Archived = 4,\n Affiliation = 5,\n RetentionGames = 6\n}\n\nexport { TranslationArea };\n","export enum InboxMessageType {\n Custom = 0,\n MissionCompleted = 1,\n MissionUnlocked = 2,\n LeaderboardWon = 3,\n LevelChanged = 4,\n BonusGiven = 5,\n PointsAdded = 6,\n PointsUsed = 7,\n PersonalMessage = 8\n}\n\n// keep in sync with BO enum\n"],"names":["ClassId","IntUtils","uuid","a","b","Math","random","toString","isNotNull","val","isNotEmpty","length","replaceAll","value","regex","replacement","replace","RegExp","escapeRegExp","v","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","SAWPrizeType","SAWSpinErrorCode","SAWWinSoundType","SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","NodeCache","ttlChecker","setInterval","now","Date","getTime","key","cache","hasOwnProperty","o","ttl","get","set","ttlSeconds","flushAll","ECacheContext","OCache","oKey","cacheContext","JSON","stringify","use","f","clear","PUBLIC_API_URL","AVATAR_DOMAIN","SmarticoAPI","label_api_key","brand_api_key","options","publicUrl","avatarDomain","logger","logCIDs","logHTTPTiming","always","info","ENV_ID","substring","send","message","expectCID","includes","cid","result","Array","isArray","str","obj","parse","request","response","timeStart","superagent","post","res","timeEnd","text","e","url","Error","buildMessage","user_ext_id","payload","api_key","brand_key","ext_user_id","ts","coreReportCustomEvent","eventType","eventMessage","EVENT","EVENT_RESPONSE","coreGetTranslations","lang_code","areas","cacheSec","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","trBase","trUserRQ","trUser","Object","keys","translations","forEach","k","coreIdentifyLabel","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","request_id","IDENTIFY_RESPONSE","r","avatar_id","startsWith","coreChangeUsername","public_username_custom","CLIENT_SET_CUSTOM_USERNAME_REQUEST","CLIENT_SET_CUSTOM_USERNAME_RESPONSE","sawGetTemplates","SAW_GET_SPINS_REQUEST","templates","jackpot_current","saw_template_ui_definition","name","description","promo_text","prizes","p","saw_prize_ui_definition","aknowledge_message","sawFormatTemplatesForWidget","filter","saw_template_id","map","id","game_type","saw_game_type_id","buyin_type","jackpot","can_play","icon","saw_skin_ui_definition","skin_folder","saw_skin_key","sawSpinRequest","round_id","SAW_DO_SPIN_REQUEST","SAW_DO_SPIN_RESPONSE","spinAttemptResponse","status","SAW_OK","SAW_NO_SPINS","SAW_PRIZE_POOL_EMPTY","SAW_NOT_ENOUGH_POINTS","SAW_FAILED_MAX_SPINS_REACHED","errCode","inboxGetMessages","limit","offset","GET_ACTIVITY_LOG_REQUEST","PublicLabelSettings","TranslationArea","InboxMessageType"],"mappings":"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"}
@@ -2,16 +2,63 @@ import * as superagent from 'superagent';
2
2
 
3
3
  var ClassId;
4
4
  (function (ClassId) {
5
- ClassId[ClassId["GET_LABEL_INFO"] = 3] = "GET_LABEL_INFO";
6
- ClassId[ClassId["GET_LABEL_INFO_RESPONSE"] = 4] = "GET_LABEL_INFO_RESPONSE";
5
+ ClassId[ClassId["INIT"] = 3] = "INIT";
6
+ ClassId[ClassId["INIT_RESPONSE"] = 4] = "INIT_RESPONSE";
7
7
  ClassId[ClassId["IDENTIFY"] = 5] = "IDENTIFY";
8
8
  ClassId[ClassId["IDENTIFY_RESPONSE"] = 6] = "IDENTIFY_RESPONSE";
9
+ ClassId[ClassId["LOGIN"] = 7] = "LOGIN";
10
+ ClassId[ClassId["LOGOUT"] = 8] = "LOGOUT";
9
11
  ClassId[ClassId["EVENT"] = 9] = "EVENT";
10
12
  ClassId[ClassId["EVENT_RESPONSE"] = 10] = "EVENT_RESPONSE";
13
+ ClassId[ClassId["LOGIN_RESPONSE"] = 11] = "LOGIN_RESPONSE";
14
+ ClassId[ClassId["LOGOUT_RESPONSE"] = 12] = "LOGOUT_RESPONSE";
11
15
  ClassId[ClassId["GET_TRANSLATIONS_REQUEST"] = 13] = "GET_TRANSLATIONS_REQUEST";
12
16
  ClassId[ClassId["GET_TRANSLATIONS_RESPONSE"] = 14] = "GET_TRANSLATIONS_RESPONSE";
13
- ClassId[ClassId["CHANGE_USERNAME"] = 159] = "CHANGE_USERNAME";
14
- ClassId[ClassId["CHANGE_USERNAME_RESPONSE"] = 160] = "CHANGE_USERNAME_RESPONSE";
17
+ ClassId[ClassId["CLIENT_ENGAGEMENT_IMPRESSION_REQUEST"] = 103] = "CLIENT_ENGAGEMENT_IMPRESSION_REQUEST";
18
+ ClassId[ClassId["CLIENT_ENGAGEMENT_ACTION_REQUEST"] = 104] = "CLIENT_ENGAGEMENT_ACTION_REQUEST";
19
+ ClassId[ClassId["CLIENT_EXECUTE_DEEPLINK_EVENT"] = 105] = "CLIENT_EXECUTE_DEEPLINK_EVENT";
20
+ ClassId[ClassId["CLIENT_ENGAGEMENT_FAILED_REQUEST"] = 106] = "CLIENT_ENGAGEMENT_FAILED_REQUEST";
21
+ ClassId[ClassId["CLIENT_EXECUTE_JS_EVENT"] = 107] = "CLIENT_EXECUTE_JS_EVENT";
22
+ ClassId[ClassId["CLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT"] = 108] = "CLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT";
23
+ ClassId[ClassId["CLIENT_ENGAGEMENT_EVENT_NEW"] = 110] = "CLIENT_ENGAGEMENT_EVENT_NEW";
24
+ ClassId[ClassId["CLIENT_SET_AVATAR_REQUEST"] = 157] = "CLIENT_SET_AVATAR_REQUEST";
25
+ ClassId[ClassId["CLIENT_SET_AVATAR_RESPONSE"] = 158] = "CLIENT_SET_AVATAR_RESPONSE";
26
+ ClassId[ClassId["CLIENT_SET_CUSTOM_USERNAME_REQUEST"] = 159] = "CLIENT_SET_CUSTOM_USERNAME_REQUEST";
27
+ ClassId[ClassId["CLIENT_SET_CUSTOM_USERNAME_RESPONSE"] = 160] = "CLIENT_SET_CUSTOM_USERNAME_RESPONSE";
28
+ // 500-1000 - Achievements
29
+ ClassId[ClassId["GET_LEVEL_MAP_REQUEST"] = 500] = "GET_LEVEL_MAP_REQUEST";
30
+ ClassId[ClassId["GET_LEVEL_MAP_RESPONSE"] = 501] = "GET_LEVEL_MAP_RESPONSE";
31
+ ClassId[ClassId["GET_ACHIEVEMENT_MAP_REQUEST"] = 502] = "GET_ACHIEVEMENT_MAP_REQUEST";
32
+ ClassId[ClassId["GET_ACHIEVEMENT_MAP_RESPONSE"] = 503] = "GET_ACHIEVEMENT_MAP_RESPONSE";
33
+ ClassId[ClassId["RELOAD_ACHIEVEMENTS_EVENT"] = 504] = "RELOAD_ACHIEVEMENTS_EVENT";
34
+ ClassId[ClassId["GET_LEADERS_BOARD_REQUEST"] = 505] = "GET_LEADERS_BOARD_REQUEST";
35
+ ClassId[ClassId["GET_LEADERS_BOARD_RESPONSE"] = 506] = "GET_LEADERS_BOARD_RESPONSE";
36
+ ClassId[ClassId["GET_ACTIVITY_LOG_REQUEST"] = 507] = "GET_ACTIVITY_LOG_REQUEST";
37
+ ClassId[ClassId["GET_ACTIVITY_LOG_RESPONSE"] = 508] = "GET_ACTIVITY_LOG_RESPONSE";
38
+ ClassId[ClassId["GET_SHOP_ITEMS_REQUEST"] = 509] = "GET_SHOP_ITEMS_REQUEST";
39
+ ClassId[ClassId["GET_SHOP_ITEMS_RESPONSE"] = 510] = "GET_SHOP_ITEMS_RESPONSE";
40
+ ClassId[ClassId["BUY_SHOP_ITEM_REQUEST"] = 511] = "BUY_SHOP_ITEM_REQUEST";
41
+ ClassId[ClassId["BUY_SHOP_ITEM_RESPONSE"] = 512] = "BUY_SHOP_ITEM_RESPONSE";
42
+ ClassId[ClassId["GET_INBOX_MESSAGES_REQUEST"] = 513] = "GET_INBOX_MESSAGES_REQUEST";
43
+ ClassId[ClassId["GET_INBOX_MESSAGES_RESPONSE"] = 514] = "GET_INBOX_MESSAGES_RESPONSE";
44
+ ClassId[ClassId["GET_SHOP_CATEGORIES_REQUEST"] = 515] = "GET_SHOP_CATEGORIES_REQUEST";
45
+ ClassId[ClassId["GET_SHOP_CATEGORIES_RESPONSE"] = 516] = "GET_SHOP_CATEGORIES_RESPONSE";
46
+ ClassId[ClassId["GET_TOURNAMENT_LOBBY_REQUEST"] = 517] = "GET_TOURNAMENT_LOBBY_REQUEST";
47
+ ClassId[ClassId["GET_TOURNAMENT_LOBBY_RESPONSE"] = 518] = "GET_TOURNAMENT_LOBBY_RESPONSE";
48
+ ClassId[ClassId["GET_TOURNAMENT_INFO_REQUEST"] = 519] = "GET_TOURNAMENT_INFO_REQUEST";
49
+ ClassId[ClassId["GET_TOURNAMENT_INFO_RESPONSE"] = 520] = "GET_TOURNAMENT_INFO_RESPONSE";
50
+ ClassId[ClassId["TOURNAMENT_REGISTER_REQUEST"] = 521] = "TOURNAMENT_REGISTER_REQUEST";
51
+ ClassId[ClassId["TOURNAMENT_REGISTER_RESPONSE"] = 522] = "TOURNAMENT_REGISTER_RESPONSE";
52
+ ClassId[ClassId["GET_CUSTOM_SECTIONS_REQUEST"] = 523] = "GET_CUSTOM_SECTIONS_REQUEST";
53
+ ClassId[ClassId["GET_CUSTOM_SECTIONS_RESPONSE"] = 524] = "GET_CUSTOM_SECTIONS_RESPONSE";
54
+ ClassId[ClassId["MISSION_OPTIN_REQUEST"] = 525] = "MISSION_OPTIN_REQUEST";
55
+ ClassId[ClassId["MISSION_OPTIN_RESPONSE"] = 526] = "MISSION_OPTIN_RESPONSE";
56
+ ClassId[ClassId["GET_ACHIEVEMENT_USER_REQUEST"] = 527] = "GET_ACHIEVEMENT_USER_REQUEST";
57
+ ClassId[ClassId["GET_ACHIEVEMENT_USER_RESPONSE"] = 528] = "GET_ACHIEVEMENT_USER_RESPONSE";
58
+ ClassId[ClassId["GET_BONUSES_REQUEST"] = 600] = "GET_BONUSES_REQUEST";
59
+ ClassId[ClassId["GET_BONUSES_RESPONSE"] = 601] = "GET_BONUSES_RESPONSE";
60
+ ClassId[ClassId["CLAIM_BONUS_REQUEST"] = 602] = "CLAIM_BONUS_REQUEST";
61
+ ClassId[ClassId["CLAIM_BONUS_RESPONSE"] = 603] = "CLAIM_BONUS_RESPONSE";
15
62
  ClassId[ClassId["SAW_GET_SPINS_REQUEST"] = 700] = "SAW_GET_SPINS_REQUEST";
16
63
  ClassId[ClassId["SAW_GET_SPINS_RESPONSE"] = 701] = "SAW_GET_SPINS_RESPONSE";
17
64
  ClassId[ClassId["SAW_DO_SPIN_REQUEST"] = 702] = "SAW_DO_SPIN_REQUEST";
@@ -20,6 +67,9 @@ var ClassId;
20
67
  ClassId[ClassId["SAW_AKNOWLEDGE_RESPONSE"] = 705] = "SAW_AKNOWLEDGE_RESPONSE";
21
68
  ClassId[ClassId["SAW_SPINS_COUNT_PUSH"] = 706] = "SAW_SPINS_COUNT_PUSH";
22
69
  ClassId[ClassId["SAW_SHOW_SPIN_PUSH"] = 707] = "SAW_SHOW_SPIN_PUSH";
70
+ ClassId[ClassId["REGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ"] = 1003] = "REGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ";
71
+ ClassId[ClassId["REGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP"] = 2003] = "REGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP";
72
+ ClassId[ClassId["CLIENT_DEBUG_REQUEST"] = 77777] = "CLIENT_DEBUG_REQUEST";
23
73
  ClassId[ClassId["UNSUPPORTED_COMMAND"] = 99999] = "UNSUPPORTED_COMMAND";
24
74
  })(ClassId || (ClassId = {}));
25
75
 
@@ -65,13 +115,6 @@ class IntUtils {
65
115
  }
66
116
  }
67
117
 
68
- var SAWAcknowledgeType;
69
- (function (SAWAcknowledgeType) {
70
- SAWAcknowledgeType[SAWAcknowledgeType["Silent"] = 1] = "Silent";
71
- SAWAcknowledgeType[SAWAcknowledgeType["QuickMessage"] = 2] = "QuickMessage";
72
- SAWAcknowledgeType[SAWAcknowledgeType["FullMessage"] = 3] = "FullMessage";
73
- })(SAWAcknowledgeType || (SAWAcknowledgeType = {}));
74
-
75
118
  var SAWBuyInType;
76
119
  (function (SAWBuyInType) {
77
120
  SAWBuyInType[SAWBuyInType["Free"] = 1] = "Free";
@@ -84,14 +127,44 @@ const SAWBuyInTypeName = {
84
127
  [SAWBuyInType.Spins]: "spins"
85
128
  };
86
129
 
87
- var SAWSpinErrorCode;
88
- (function (SAWSpinErrorCode) {
89
- SAWSpinErrorCode[SAWSpinErrorCode["SAW_OK"] = 0] = "SAW_OK";
90
- SAWSpinErrorCode[SAWSpinErrorCode["SAW_NO_SPINS"] = 40001] = "SAW_NO_SPINS";
91
- SAWSpinErrorCode[SAWSpinErrorCode["SAW_PRIZE_POOL_EMPTY"] = 40002] = "SAW_PRIZE_POOL_EMPTY";
92
- SAWSpinErrorCode[SAWSpinErrorCode["SAW_NOT_ENOUGH_POINTS"] = 40003] = "SAW_NOT_ENOUGH_POINTS";
93
- SAWSpinErrorCode[SAWSpinErrorCode["SAW_FAILED_MAX_SPINS_REACHED"] = 40004] = "SAW_FAILED_MAX_SPINS_REACHED";
94
- })(SAWSpinErrorCode || (SAWSpinErrorCode = {}));
130
+ class SAWUtils {}
131
+ SAWUtils.canPlay = (t, pointsBalance) => {
132
+ if (t === null || t === undefined) {
133
+ return false;
134
+ }
135
+ switch (t.saw_buyin_type_id) {
136
+ case SAWBuyInType.Free:
137
+ {
138
+ return true;
139
+ }
140
+ case SAWBuyInType.Spins:
141
+ {
142
+ return t.spin_count !== null && t.spin_count > 0;
143
+ }
144
+ case SAWBuyInType.Points:
145
+ {
146
+ return t.buyin_cost_points <= pointsBalance;
147
+ }
148
+ default:
149
+ {
150
+ console.error("MiniGamesUtils.canPlay: Unknwon SAW buyin type " + t.saw_buyin_type_id);
151
+ return false;
152
+ }
153
+ }
154
+ };
155
+
156
+ var SAWAcknowledgeType;
157
+ (function (SAWAcknowledgeType) {
158
+ SAWAcknowledgeType[SAWAcknowledgeType["Silent"] = 1] = "Silent";
159
+ SAWAcknowledgeType[SAWAcknowledgeType["QuickMessage"] = 2] = "QuickMessage";
160
+ SAWAcknowledgeType[SAWAcknowledgeType["FullMessage"] = 3] = "FullMessage";
161
+ })(SAWAcknowledgeType || (SAWAcknowledgeType = {}));
162
+
163
+ var SAWAskForUsername;
164
+ (function (SAWAskForUsername) {
165
+ SAWAskForUsername["NOASK"] = "no-ask";
166
+ SAWAskForUsername["ONSUMBIT"] = "on-submit";
167
+ })(SAWAskForUsername || (SAWAskForUsername = {}));
95
168
 
96
169
  var SAWGameType;
97
170
  (function (SAWGameType) {
@@ -115,6 +188,15 @@ var SAWPrizeType;
115
188
  SAWPrizeType[SAWPrizeType["JACKPOT"] = 6] = "JACKPOT";
116
189
  })(SAWPrizeType || (SAWPrizeType = {}));
117
190
 
191
+ var SAWSpinErrorCode;
192
+ (function (SAWSpinErrorCode) {
193
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_OK"] = 0] = "SAW_OK";
194
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_NO_SPINS"] = 40001] = "SAW_NO_SPINS";
195
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_PRIZE_POOL_EMPTY"] = 40002] = "SAW_PRIZE_POOL_EMPTY";
196
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_NOT_ENOUGH_POINTS"] = 40003] = "SAW_NOT_ENOUGH_POINTS";
197
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_FAILED_MAX_SPINS_REACHED"] = 40004] = "SAW_FAILED_MAX_SPINS_REACHED";
198
+ })(SAWSpinErrorCode || (SAWSpinErrorCode = {}));
199
+
118
200
  var SAWWinSoundType;
119
201
  (function (SAWWinSoundType) {
120
202
  SAWWinSoundType[SAWWinSoundType["Disappointing"] = 1] = "Disappointing";
@@ -129,12 +211,86 @@ const SAWWinSoundFiles = {
129
211
  [SAWWinSoundType.HighlyPositive]: "saw-highly-positive.m4a"
130
212
  };
131
213
 
214
+ class NodeCache {
215
+ constructor() {
216
+ if (NodeCache.ttlChecker === undefined) {
217
+ NodeCache.ttlChecker = setInterval(() => {
218
+ const now = new Date().getTime();
219
+ for (const key in NodeCache.cache) {
220
+ if (NodeCache.cache.hasOwnProperty(key)) {
221
+ const o = NodeCache.cache[key];
222
+ if (o.ttl < now) {
223
+ delete NodeCache.cache[key];
224
+ }
225
+ }
226
+ }
227
+ }, 1000);
228
+ }
229
+ }
230
+ get(key) {
231
+ const o = NodeCache.cache[key];
232
+ if (o !== undefined && o.ttl > new Date().getTime()) {
233
+ return o.value;
234
+ }
235
+ }
236
+ set(key, value, ttlSeconds = 60) {
237
+ NodeCache.cache[key] = {
238
+ value,
239
+ ttl: new Date().getTime() + ttlSeconds * 1000
240
+ };
241
+ }
242
+ flushAll() {
243
+ NodeCache.cache = {};
244
+ }
245
+ }
246
+ NodeCache.ttlChecker = void 0;
247
+ NodeCache.cache = {};
248
+
249
+ var ECacheContext;
250
+ (function (ECacheContext) {
251
+ ECacheContext[ECacheContext["Translations"] = 0] = "Translations";
252
+ ECacheContext[ECacheContext["LabelInfo"] = 1] = "LabelInfo";
253
+ })(ECacheContext || (ECacheContext = {}));
254
+ class OCache {
255
+ static get(oKey, cacheContext) {
256
+ const key = cacheContext.toString() + '_' + JSON.stringify(oKey);
257
+ if (this.cache[cacheContext] === undefined) {
258
+ this.cache[cacheContext] = new NodeCache();
259
+ }
260
+ return this.cache[cacheContext].get(key);
261
+ }
262
+ static set(oKey, o, cacheContext, ttlSeconds = 60) {
263
+ const key = cacheContext.toString() + '_' + JSON.stringify(oKey);
264
+ this.cache[cacheContext].set(key, o, ttlSeconds);
265
+ }
266
+ static async use(oKey, cacheContext, f, ttlSeconds = 60) {
267
+ if (ttlSeconds <= 0) {
268
+ return await f();
269
+ } else {
270
+ let o = OCache.get(oKey, cacheContext);
271
+ if (o === undefined) {
272
+ o = await f();
273
+ OCache.set(oKey, o, cacheContext, ttlSeconds);
274
+ }
275
+ return o;
276
+ }
277
+ }
278
+ static async clear(cacheContext) {
279
+ if (this.cache[cacheContext]) {
280
+ this.cache[cacheContext].flushAll();
281
+ }
282
+ }
283
+ }
284
+ OCache.cache = {};
285
+
132
286
  const PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';
287
+ const AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';
133
288
  class SmarticoAPI {
134
289
  constructor(label_api_key, brand_api_key, options = {}) {
135
290
  this.label_api_key = void 0;
136
291
  this.brand_api_key = void 0;
137
292
  this.publicUrl = void 0;
293
+ this.avatarDomain = void 0;
138
294
  this.logger = void 0;
139
295
  this.logCIDs = void 0;
140
296
  this.logHTTPTiming = void 0;
@@ -152,6 +308,7 @@ class SmarticoAPI {
152
308
  }
153
309
  label_api_key = label_api_key.substring(0, 36);
154
310
  this.publicUrl = PUBLIC_API_URL.replace('{ENV_ID}', ENV_ID);
311
+ this.avatarDomain = AVATAR_DOMAIN.replace('{ENV_ID}', ENV_ID);
155
312
  }
156
313
  async send(message, expectCID) {
157
314
  if (this.logCIDs.includes(message.cid)) {
@@ -161,6 +318,7 @@ class SmarticoAPI {
161
318
  try {
162
319
  const timeStart = new Date().getTime();
163
320
  const res = await superagent.post(this.publicUrl).send(message);
321
+ // const res = await superagent.post('http://channel01.int.smartico.ai:81/services/public').send(message);
164
322
  const timeEnd = new Date().getTime();
165
323
  if (this.logHTTPTiming) {
166
324
  this.logger.always('HTTP time, ms:' + (timeEnd - timeStart));
@@ -222,9 +380,68 @@ class SmarticoAPI {
222
380
  uuid: IntUtils.uuid(),
223
381
  ts: new Date().getTime()
224
382
  }, payload);
383
+ if (message.ext_user_id === undefined || message.ext_user_id === null) {
384
+ delete message.ext_user_id;
385
+ }
225
386
  return message;
226
387
  }
227
- async miniGamesGetTemplates(user_ext_id) {
388
+ async coreReportCustomEvent(user_ext_id, eventType, payload = {}) {
389
+ const eventMessage = this.buildMessage(user_ext_id, ClassId.EVENT, {
390
+ eventType,
391
+ payload
392
+ });
393
+ const eventResponse = await this.send(eventMessage, ClassId.EVENT_RESPONSE);
394
+ return eventResponse;
395
+ }
396
+ async coreGetTranslations(user_ext_id, lang_code, areas, cacheSec = 60) {
397
+ var _this = this;
398
+ const response = await OCache.use(`${lang_code}-${this.label_api_key}-${this.brand_api_key}`, ECacheContext.Translations, async function () {
399
+ const tsBaseRQ = _this.buildMessage(user_ext_id, ClassId.GET_TRANSLATIONS_REQUEST, {
400
+ lang_code: "EN",
401
+ hash_code: 0,
402
+ areas
403
+ });
404
+ const trBase = await _this.send(tsBaseRQ);
405
+ if (lang_code !== "EN") {
406
+ const trUserRQ = _this.buildMessage(user_ext_id, ClassId.GET_TRANSLATIONS_REQUEST, {
407
+ lang_code,
408
+ hash_code: 0,
409
+ areas
410
+ });
411
+ const trUser = await _this.send(trUserRQ);
412
+ Object.keys(trUser.translations).forEach(k => {
413
+ trBase.translations[k] = trUser.translations[k];
414
+ });
415
+ }
416
+ return trBase;
417
+ }, cacheSec);
418
+ return response;
419
+ }
420
+ async coreIdentifyLabel(user_ext_id, cacheSec = 60) {
421
+ var _this2 = this;
422
+ return OCache.use(`${this.label_api_key} - ${this.brand_api_key}`, ECacheContext.LabelInfo, async function () {
423
+ const message = _this2.buildMessage(user_ext_id, ClassId.INIT);
424
+ return _this2.send(message, ClassId.INIT_RESPONSE);
425
+ }, cacheSec);
426
+ }
427
+ async coreIdentifyUser(user_ext_id) {
428
+ const message = this.buildMessage(user_ext_id, ClassId.IDENTIFY, {
429
+ request_id: IntUtils.uuid() // AA: do we need request_id?
430
+ });
431
+
432
+ const r = await this.send(message, ClassId.IDENTIFY_RESPONSE);
433
+ if (!(r.avatar_id && r.avatar_id.startsWith('http'))) {
434
+ r.avatar_id = AVATAR_DOMAIN + '/avatar/' + r.avatar_id;
435
+ }
436
+ return r;
437
+ }
438
+ async coreChangeUsername(user_ext_id, public_username_custom) {
439
+ const message = this.buildMessage(user_ext_id, ClassId.CLIENT_SET_CUSTOM_USERNAME_REQUEST, {
440
+ public_username_custom
441
+ });
442
+ return this.send(message, ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE);
443
+ }
444
+ async sawGetTemplates(user_ext_id) {
228
445
  const message = this.buildMessage(user_ext_id, ClassId.SAW_GET_SPINS_REQUEST);
229
446
  const response = await this.send(message);
230
447
  if (response && response.templates) {
@@ -242,7 +459,7 @@ class SmarticoAPI {
242
459
  }
243
460
  return response;
244
461
  }
245
- miniGamesFormatTemplatesForWidget(templates, pointsBalance) {
462
+ async sawFormatTemplatesForWidget(templates, pointsBalance) {
246
463
  return templates.filter(r => r.saw_template_id >= 1).map(r => {
247
464
  var _r$saw_skin_ui_defini, _r$saw_skin_ui_defini2;
248
465
  return {
@@ -254,12 +471,96 @@ class SmarticoAPI {
254
471
  jackpot: r.jackpot_current,
255
472
  spin_count: r.spin_count,
256
473
  buyin_cost_points: r.buyin_cost_points,
257
- can_play: r.saw_buyin_type_id === SAWBuyInType.Free || r.saw_buyin_type_id === SAWBuyInType.Points && r.buyin_cost_points <= pointsBalance || r.saw_buyin_type_id === SAWBuyInType.Spins && r.spin_count > 0,
474
+ can_play: SAWUtils.canPlay(r, pointsBalance),
258
475
  icon: (_r$saw_skin_ui_defini = r.saw_skin_ui_definition) != null && _r$saw_skin_ui_defini.skin_folder ? ((_r$saw_skin_ui_defini2 = r.saw_skin_ui_definition) == null ? void 0 : _r$saw_skin_ui_defini2.skin_folder) + '/ico.png' : `https://libs.smartico.ai/gf/images/saw/${r.saw_skin_key}/ico.png`
259
476
  };
260
477
  });
261
478
  }
479
+ async sawSpinRequest(user_ext_id, saw_template_id, round_id) {
480
+ const message = this.buildMessage(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {
481
+ saw_template_id,
482
+ request_id: IntUtils.uuid()
483
+ });
484
+ const spinAttemptResponse = await this.send(message, ClassId.SAW_DO_SPIN_RESPONSE);
485
+ // to simulate fail
486
+ // response.errCode = SAWSpinErrorCode.SAW_NO_SPINS;
487
+ const status = {
488
+ [SAWSpinErrorCode.SAW_OK]: 'OK',
489
+ [SAWSpinErrorCode.SAW_NO_SPINS]: 'NO SPINS AVAILABLE',
490
+ [SAWSpinErrorCode.SAW_PRIZE_POOL_EMPTY]: 'PRIZE POOL IS EMPTY',
491
+ [SAWSpinErrorCode.SAW_NOT_ENOUGH_POINTS]: 'NOT ENOUGH POINTS',
492
+ [SAWSpinErrorCode.SAW_FAILED_MAX_SPINS_REACHED]: 'MAX SPIN ATTEMPTS REACHED'
493
+ }[spinAttemptResponse.errCode] || 'OTHER';
494
+ await this.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {
495
+ saw_template_id,
496
+ status,
497
+ round_id
498
+ });
499
+ return spinAttemptResponse;
500
+ }
501
+ async inboxGetMessages(user_ext_id, limit = 10, offset = 0) {
502
+ const message = this.buildMessage(user_ext_id, ClassId.GET_ACTIVITY_LOG_REQUEST, {
503
+ limit,
504
+ offset
505
+ });
506
+ const response = await this.send(message);
507
+ return response;
508
+ }
262
509
  }
263
510
 
264
- export { ClassId, SAWAcknowledgeType, SAWBuyInType, SAWBuyInTypeName, SAWGameType, SAWGameTypeName, SAWPrizeType, SAWSpinErrorCode, SAWWinSoundFiles, SAWWinSoundType, SmarticoAPI };
511
+ var PublicLabelSettings;
512
+ (function (PublicLabelSettings) {
513
+ PublicLabelSettings["FCM_SENDER_ID"] = "FCM_SENDER_ID";
514
+ PublicLabelSettings["PUBLIC_API_URL"] = "PUBLIC_API_URL";
515
+ PublicLabelSettings["FCM_SW_URL"] = "FCM_SW_URL";
516
+ PublicLabelSettings["RECORDING_ENABLED_FOR_ALL_USERS"] = "RECORDING_ENABLED_FOR_ALL_USERS";
517
+ PublicLabelSettings["JS_INJECTION"] = "JS_INJECTION";
518
+ PublicLabelSettings["GAMIFICATION_UI_MAIN"] = "GAMIFICATION_UI_MAIN";
519
+ PublicLabelSettings["GAMIFICATION_UI_WIDGET"] = "GAMIFICATION_UI_WIDGET";
520
+ PublicLabelSettings["GAMIFICATION_UI_MINI_GAME"] = "GAMIFICATION_UI_MINI_GAME";
521
+ PublicLabelSettings["GAMIFICATION_UI_SETTINGS"] = "GAMIFICATION_UI_SETTINGS";
522
+ PublicLabelSettings["GAMIFICATION_UI_MAIN_TEST"] = "GAMIFICATION_UI_MAIN_TEST";
523
+ PublicLabelSettings["GAMIFICATION_UI_WIDGET_TEST"] = "GAMIFICATION_UI_WIDGET_TEST";
524
+ PublicLabelSettings["GAMIFICATION_UI_SETTINGS_TEST"] = "GAMIFICATION_UI_SETTINGS_TEST";
525
+ PublicLabelSettings["FRONT_END_ALLOWED_LANGUAGES"] = "FRONT_END_ALLOWED_LANGUAGES";
526
+ PublicLabelSettings["FRONT_END_ALLOW_DOMAINS"] = "FRONT_END_ALLOW_DOMAINS";
527
+ PublicLabelSettings["DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS"] = "DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS";
528
+ PublicLabelSettings["SHADOW_LABEL_PUBLIC_KEY"] = "SHADOW_LABEL_PUBLIC_KEY";
529
+ PublicLabelSettings["DYNAMIC_IMAGE_DOMAIN"] = "DYNAMIC_IMAGE_DOMAIN";
530
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_ENABLED"] = "GAMIFICATION_UI_LEVEL_ENABLED";
531
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_IMAGE_MOB"] = "GAMIFICATION_UI_LEVEL_IMAGE_MOB";
532
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_IMAGE_DESK"] = "GAMIFICATION_UI_LEVEL_IMAGE_DESK";
533
+ PublicLabelSettings["GAMIFICATION_LEVELS_LOGIC2"] = "GAMIFICATION_LEVELS_LOGIC2";
534
+ PublicLabelSettings["AVATAR_CUSTOM_IMAGE_MAX_ID"] = "AVATAR_CUSTOM_IMAGE_MAX_ID";
535
+ PublicLabelSettings["AVATAR_CUSTOM_IMAGE_FOLDER"] = "AVATAR_CUSTOM_IMAGE_FOLDER";
536
+ PublicLabelSettings["RETENTION_GAMES_CUSTOMER_ID"] = "RETENTION_GAMES_CUSTOMER_ID";
537
+ PublicLabelSettings["GAMIFICATION_SHOW_POWERED_BY"] = "GAMIFICATION_SHOW_POWERED_BY";
538
+ PublicLabelSettings["_system_leader_board_mask_username"] = "_system_leader_board_mask_username";
539
+ })(PublicLabelSettings || (PublicLabelSettings = {}));
540
+
541
+ var TranslationArea;
542
+ (function (TranslationArea) {
543
+ TranslationArea[TranslationArea["Casino"] = 1] = "Casino";
544
+ TranslationArea[TranslationArea["Gamification"] = 2] = "Gamification";
545
+ TranslationArea[TranslationArea["Trading"] = 3] = "Trading";
546
+ TranslationArea[TranslationArea["Archived"] = 4] = "Archived";
547
+ TranslationArea[TranslationArea["Affiliation"] = 5] = "Affiliation";
548
+ TranslationArea[TranslationArea["RetentionGames"] = 6] = "RetentionGames";
549
+ })(TranslationArea || (TranslationArea = {}));
550
+
551
+ var InboxMessageType;
552
+ (function (InboxMessageType) {
553
+ InboxMessageType[InboxMessageType["Custom"] = 0] = "Custom";
554
+ InboxMessageType[InboxMessageType["MissionCompleted"] = 1] = "MissionCompleted";
555
+ InboxMessageType[InboxMessageType["MissionUnlocked"] = 2] = "MissionUnlocked";
556
+ InboxMessageType[InboxMessageType["LeaderboardWon"] = 3] = "LeaderboardWon";
557
+ InboxMessageType[InboxMessageType["LevelChanged"] = 4] = "LevelChanged";
558
+ InboxMessageType[InboxMessageType["BonusGiven"] = 5] = "BonusGiven";
559
+ InboxMessageType[InboxMessageType["PointsAdded"] = 6] = "PointsAdded";
560
+ InboxMessageType[InboxMessageType["PointsUsed"] = 7] = "PointsUsed";
561
+ InboxMessageType[InboxMessageType["PersonalMessage"] = 8] = "PersonalMessage";
562
+ })(InboxMessageType || (InboxMessageType = {}));
563
+ // keep in sync with BO enum
564
+
565
+ export { ClassId, InboxMessageType, PublicLabelSettings, SAWAcknowledgeType, SAWAskForUsername, SAWBuyInType, SAWBuyInTypeName, SAWGameType, SAWGameTypeName, SAWPrizeType, SAWSpinErrorCode, SAWUtils, SAWWinSoundFiles, SAWWinSoundType, SmarticoAPI, TranslationArea };
265
566
  //# sourceMappingURL=index.modern.mjs.map