@smartico/public-api 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SmarticoAPI.d.ts +4 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +6 -13
- package/dist/index.js.map +1 -1
- package/dist/index.modern.mjs +5 -11
- package/dist/index.modern.mjs.map +1 -1
- package/package.json +2 -3
- package/src/SmarticoAPI.ts +6 -8
- package/src/index.ts +2 -1
package/dist/SmarticoAPI.d.ts
CHANGED
|
@@ -13,15 +13,17 @@ interface IOptions {
|
|
|
13
13
|
logCIDs?: ClassId[];
|
|
14
14
|
logHTTPTiming?: boolean;
|
|
15
15
|
}
|
|
16
|
+
type MessageSender = (message: any, publicApuUrl: string) => Promise<any>;
|
|
16
17
|
declare class SmarticoAPI {
|
|
17
18
|
private label_api_key;
|
|
18
19
|
private brand_api_key;
|
|
20
|
+
private messageSender;
|
|
19
21
|
private publicUrl;
|
|
20
22
|
private avatarDomain;
|
|
21
23
|
private logger;
|
|
22
24
|
private logCIDs;
|
|
23
25
|
private logHTTPTiming;
|
|
24
|
-
constructor(label_api_key: string, brand_api_key: string, options?: IOptions);
|
|
26
|
+
constructor(label_api_key: string, brand_api_key: string, messageSender: MessageSender, options?: IOptions);
|
|
25
27
|
private send;
|
|
26
28
|
private buildMessage;
|
|
27
29
|
coreReportCustomEvent(user_ext_id: string, eventType: string, payload?: any): Promise<any>;
|
|
@@ -39,4 +41,4 @@ declare class SmarticoAPI {
|
|
|
39
41
|
tournamentsGetLobby(user_ext_id: string): Promise<GetTournamentsResponse>;
|
|
40
42
|
tournamentsGetInfo(user_ext_id: string, tournamentInstanceId: number): Promise<GetTournamentInfoResponse>;
|
|
41
43
|
}
|
|
42
|
-
export { SmarticoAPI };
|
|
44
|
+
export { SmarticoAPI, MessageSender };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClassId } from './Base/ClassId';
|
|
2
2
|
import { ILogger } from './ILogger';
|
|
3
|
-
import { SmarticoAPI } from './SmarticoAPI';
|
|
3
|
+
import { MessageSender, SmarticoAPI } from './SmarticoAPI';
|
|
4
4
|
export * from './Core';
|
|
5
5
|
export * from './Inbox';
|
|
6
6
|
export * from './Leaderboard';
|
|
@@ -8,4 +8,4 @@ export * from './MiniGames';
|
|
|
8
8
|
export * from './Missions';
|
|
9
9
|
export * from './Store';
|
|
10
10
|
export * from './Tournaments';
|
|
11
|
-
export { SmarticoAPI, ClassId, ILogger };
|
|
11
|
+
export { SmarticoAPI, MessageSender, ClassId, ILogger };
|
package/dist/index.js
CHANGED
|
@@ -348,12 +348,13 @@ function _catch(body, recover) {
|
|
|
348
348
|
var PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';
|
|
349
349
|
var AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';
|
|
350
350
|
var SmarticoAPI = /*#__PURE__*/function () {
|
|
351
|
-
function SmarticoAPI(label_api_key, brand_api_key, options) {
|
|
351
|
+
function SmarticoAPI(label_api_key, brand_api_key, messageSender, options) {
|
|
352
352
|
if (options === void 0) {
|
|
353
353
|
options = {};
|
|
354
354
|
}
|
|
355
355
|
this.label_api_key = void 0;
|
|
356
356
|
this.brand_api_key = void 0;
|
|
357
|
+
this.messageSender = void 0;
|
|
357
358
|
this.publicUrl = void 0;
|
|
358
359
|
this.avatarDomain = void 0;
|
|
359
360
|
this.logger = void 0;
|
|
@@ -361,6 +362,7 @@ var SmarticoAPI = /*#__PURE__*/function () {
|
|
|
361
362
|
this.logHTTPTiming = void 0;
|
|
362
363
|
this.label_api_key = label_api_key;
|
|
363
364
|
this.brand_api_key = brand_api_key;
|
|
365
|
+
this.messageSender = messageSender;
|
|
364
366
|
this.logger = options.logger || console;
|
|
365
367
|
if (this.logger.always === undefined) {
|
|
366
368
|
this.logger.always = this.logger.info;
|
|
@@ -428,21 +430,12 @@ var SmarticoAPI = /*#__PURE__*/function () {
|
|
|
428
430
|
var result;
|
|
429
431
|
var _temp = _catch(function () {
|
|
430
432
|
var timeStart = new Date().getTime();
|
|
431
|
-
return Promise.resolve(
|
|
432
|
-
|
|
433
|
-
body: JSON.stringify(message),
|
|
434
|
-
headers: {
|
|
435
|
-
'Content-Type': 'application/json'
|
|
436
|
-
}
|
|
437
|
-
})).then(function (res) {
|
|
438
|
-
// const res = await superagent.post('http://channel01.int.smartico.ai:81/services/public').send(message);
|
|
433
|
+
return Promise.resolve(_this.messageSender(message, _this.publicUrl)).then(function (_this$messageSender) {
|
|
434
|
+
result = _this$messageSender;
|
|
439
435
|
var timeEnd = new Date().getTime();
|
|
440
436
|
if (_this.logHTTPTiming) {
|
|
441
437
|
_this.logger.always('HTTP time, ms:' + (timeEnd - timeStart));
|
|
442
438
|
}
|
|
443
|
-
return Promise.resolve(res.json()).then(function (_res$json) {
|
|
444
|
-
result = _res$json;
|
|
445
|
-
});
|
|
446
439
|
});
|
|
447
440
|
}, function (e) {
|
|
448
441
|
_this.logger.error("Failed to make request to smartico channel. " + e.message, {
|
|
@@ -555,7 +548,7 @@ var SmarticoAPI = /*#__PURE__*/function () {
|
|
|
555
548
|
});
|
|
556
549
|
return Promise.resolve(_this5.send(message, exports.ClassId.IDENTIFY_RESPONSE)).then(function (r) {
|
|
557
550
|
if (!(r.avatar_id && r.avatar_id.startsWith('http'))) {
|
|
558
|
-
r.avatar_id =
|
|
551
|
+
r.avatar_id = _this5.avatarDomain + '/avatar/' + r.avatar_id;
|
|
559
552
|
}
|
|
560
553
|
return r;
|
|
561
554
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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/ActivityTypeLimited.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/InboxMessageType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.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"],"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_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 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}\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 { 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 { 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 { GetAchievementMapRequest, GetAchievementMapResponse } from './Missions';\nimport { GetTournamentInfoRequest, GetTournamentInfoResponse, GetTournamentsRequest, GetTournamentsResponse } from './Tournaments';\n\n\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 fetch(this.publicUrl, { method: 'POST', body: JSON.stringify(message), headers: { 'Content-Type': 'application/json' }});\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 = await res.json();\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 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 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 return await this.send<GetInboxMessagesResponse>(message);\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);\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 return await this.send<GetAchievementMapResponse>(message);\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);\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 return await this.send<GetTournamentInfoResponse>(message);\n\n }\n\n}\n\nexport { SmarticoAPI }","export enum ActivityTypeLimited {\n\n DoNothing = 8,\n Points = 12,\n Popup = 30,\n Inbox = 31,\n Bonus = 100,\n}\n","\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","export enum LeaderBoardPeriodType {\n DAILY = 1,\n WEEKLY = 2,\n MONTHLY = 3\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","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"],"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","fetch","method","body","headers","res","timeEnd","json","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","sawSpinRequest","saw_template_id","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","storeGetItems","GET_SHOP_ITEMS_REQUEST","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","tournamentsGetInfo","tournamentInstanceId","GET_TOURNAMENT_INFO_REQUEST","ActivityTypeLimited","PublicLabelSettings","TranslationArea","InboxMessageType","LeaderBoardPeriodType","AchievementStatus","AchievementTaskType","AchievementType","BuyStoreItemErrorCode","StoreItemType","TournamentInstanceStatus","TournamentRegistrationError","TournamentRegistrationStatus","TournamentRegistrationType","TournamentType"],"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/ActivityTypeLimited.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/InboxMessageType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.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"],"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_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 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}\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 { 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 { 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 { GetAchievementMapRequest, GetAchievementMapResponse } from './Missions';\nimport { GetTournamentInfoRequest, GetTournamentInfoResponse, GetTournamentsRequest, GetTournamentsResponse } from './Tournaments';\n\n\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\ntype MessageSender = (message: any, publicApuUrl: string) => Promise<any>;\n\n\nclass SmarticoAPI {\n\n private publicUrl: string;\n private avatarDomain: string;\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, 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\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 result = await this.messageSender(message, this.publicUrl);\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 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 = this.avatarDomain + '/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 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 return await this.send<GetInboxMessagesResponse>(message);\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);\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 return await this.send<GetAchievementMapResponse>(message);\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);\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 return await this.send<GetTournamentInfoResponse>(message);\n\n }\n\n}\n\nexport { SmarticoAPI, MessageSender }","export enum ActivityTypeLimited {\n\n DoNothing = 8,\n Points = 12,\n Popup = 30,\n Inbox = 31,\n Bonus = 100,\n}\n","\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","export enum LeaderBoardPeriodType {\n DAILY = 1,\n WEEKLY = 2,\n MONTHLY = 3\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","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"],"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","messageSender","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","timeEnd","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","sawSpinRequest","saw_template_id","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","storeGetItems","GET_SHOP_ITEMS_REQUEST","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","tournamentsGetInfo","tournamentInstanceId","GET_TOURNAMENT_INFO_REQUEST","ActivityTypeLimited","PublicLabelSettings","TranslationArea","InboxMessageType","LeaderBoardPeriodType","AchievementStatus","AchievementTaskType","AchievementType","BuyStoreItemErrorCode","StoreItemType","TournamentInstanceStatus","TournamentRegistrationError","TournamentRegistrationStatus","TournamentRegistrationType","TournamentType"],"mappings":"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"}
|
package/dist/index.modern.mjs
CHANGED
|
@@ -285,9 +285,10 @@ OCache.cache = {};
|
|
|
285
285
|
const PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';
|
|
286
286
|
const AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';
|
|
287
287
|
class SmarticoAPI {
|
|
288
|
-
constructor(label_api_key, brand_api_key, options = {}) {
|
|
288
|
+
constructor(label_api_key, brand_api_key, messageSender, options = {}) {
|
|
289
289
|
this.label_api_key = void 0;
|
|
290
290
|
this.brand_api_key = void 0;
|
|
291
|
+
this.messageSender = void 0;
|
|
291
292
|
this.publicUrl = void 0;
|
|
292
293
|
this.avatarDomain = void 0;
|
|
293
294
|
this.logger = void 0;
|
|
@@ -295,6 +296,7 @@ class SmarticoAPI {
|
|
|
295
296
|
this.logHTTPTiming = void 0;
|
|
296
297
|
this.label_api_key = label_api_key;
|
|
297
298
|
this.brand_api_key = brand_api_key;
|
|
299
|
+
this.messageSender = messageSender;
|
|
298
300
|
this.logger = options.logger || console;
|
|
299
301
|
if (this.logger.always === undefined) {
|
|
300
302
|
this.logger.always = this.logger.info;
|
|
@@ -316,19 +318,11 @@ class SmarticoAPI {
|
|
|
316
318
|
let result;
|
|
317
319
|
try {
|
|
318
320
|
const timeStart = new Date().getTime();
|
|
319
|
-
|
|
320
|
-
method: 'POST',
|
|
321
|
-
body: JSON.stringify(message),
|
|
322
|
-
headers: {
|
|
323
|
-
'Content-Type': 'application/json'
|
|
324
|
-
}
|
|
325
|
-
});
|
|
326
|
-
// const res = await superagent.post('http://channel01.int.smartico.ai:81/services/public').send(message);
|
|
321
|
+
result = await this.messageSender(message, this.publicUrl);
|
|
327
322
|
const timeEnd = new Date().getTime();
|
|
328
323
|
if (this.logHTTPTiming) {
|
|
329
324
|
this.logger.always('HTTP time, ms:' + (timeEnd - timeStart));
|
|
330
325
|
}
|
|
331
|
-
result = await res.json();
|
|
332
326
|
} catch (e) {
|
|
333
327
|
this.logger.error(`Failed to make request to smartico channel. ${e.message}`, {
|
|
334
328
|
url: this.publicUrl,
|
|
@@ -436,7 +430,7 @@ class SmarticoAPI {
|
|
|
436
430
|
|
|
437
431
|
const r = await this.send(message, ClassId.IDENTIFY_RESPONSE);
|
|
438
432
|
if (!(r.avatar_id && r.avatar_id.startsWith('http'))) {
|
|
439
|
-
r.avatar_id =
|
|
433
|
+
r.avatar_id = this.avatarDomain + '/avatar/' + r.avatar_id;
|
|
440
434
|
}
|
|
441
435
|
return r;
|
|
442
436
|
}
|
|
@@ -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/SmarticoAPI.ts","../src/Core/ActivityTypeLimited.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/InboxMessageType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.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"],"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_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 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}\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 { 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 { 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 { GetAchievementMapRequest, GetAchievementMapResponse } from './Missions';\nimport { GetTournamentInfoRequest, GetTournamentInfoResponse, GetTournamentsRequest, GetTournamentsResponse } from './Tournaments';\n\n\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 fetch(this.publicUrl, { method: 'POST', body: JSON.stringify(message), headers: { 'Content-Type': 'application/json' }});\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 = await res.json();\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 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 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 return await this.send<GetInboxMessagesResponse>(message);\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);\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 return await this.send<GetAchievementMapResponse>(message);\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);\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 return await this.send<GetTournamentInfoResponse>(message);\n\n }\n\n}\n\nexport { SmarticoAPI }","export enum ActivityTypeLimited {\n\n DoNothing = 8,\n Points = 12,\n Popup = 30,\n Inbox = 31,\n Bonus = 100,\n}\n","\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","export enum LeaderBoardPeriodType {\n DAILY = 1,\n WEEKLY = 2,\n MONTHLY = 3\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","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"],"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","constructor","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","timeStart","res","fetch","method","body","headers","timeEnd","json","e","url","request","Error","Array","isArray","str","obj","parse","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","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","trBase","trUserRQ","trUser","Object","keys","translations","forEach","k","coreIdentifyLabel","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","request_id","r","IDENTIFY_RESPONSE","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","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_ACTIVITY_LOG_REQUEST","storeGetItems","GET_SHOP_ITEMS_REQUEST","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","tournamentsGetInfo","tournamentInstanceId","GET_TOURNAMENT_INFO_REQUEST","ActivityTypeLimited","PublicLabelSettings","TranslationArea","InboxMessageType","LeaderBoardPeriodType","AchievementStatus","AchievementTaskType","AchievementType","BuyStoreItemErrorCode","StoreItemType","TournamentInstanceStatus","TournamentRegistrationError","TournamentRegistrationStatus","TournamentRegistrationType","TournamentType"],"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/SmarticoAPI.ts","../src/Core/ActivityTypeLimited.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/InboxMessageType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.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"],"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_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 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}\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 { 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 { 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 { GetAchievementMapRequest, GetAchievementMapResponse } from './Missions';\nimport { GetTournamentInfoRequest, GetTournamentInfoResponse, GetTournamentsRequest, GetTournamentsResponse } from './Tournaments';\n\n\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\ntype MessageSender = (message: any, publicApuUrl: string) => Promise<any>;\n\n\nclass SmarticoAPI {\n\n private publicUrl: string;\n private avatarDomain: string;\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, 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\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 result = await this.messageSender(message, this.publicUrl);\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 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 = this.avatarDomain + '/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 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 return await this.send<GetInboxMessagesResponse>(message);\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);\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 return await this.send<GetAchievementMapResponse>(message);\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);\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 return await this.send<GetTournamentInfoResponse>(message);\n\n }\n\n}\n\nexport { SmarticoAPI, MessageSender }","export enum ActivityTypeLimited {\n\n DoNothing = 8,\n Points = 12,\n Popup = 30,\n Inbox = 31,\n Bonus = 100,\n}\n","\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","export enum LeaderBoardPeriodType {\n DAILY = 1,\n WEEKLY = 2,\n MONTHLY = 3\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","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"],"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","constructor","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","messageSender","options","publicUrl","avatarDomain","logger","logCIDs","logHTTPTiming","always","info","ENV_ID","substring","send","message","expectCID","includes","cid","result","timeStart","timeEnd","e","url","request","Error","Array","isArray","str","obj","parse","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","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","trBase","trUserRQ","trUser","Object","keys","translations","forEach","k","coreIdentifyLabel","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","request_id","r","IDENTIFY_RESPONSE","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","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_ACTIVITY_LOG_REQUEST","storeGetItems","GET_SHOP_ITEMS_REQUEST","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","tournamentsGetInfo","tournamentInstanceId","GET_TOURNAMENT_INFO_REQUEST","ActivityTypeLimited","PublicLabelSettings","TranslationArea","InboxMessageType","LeaderBoardPeriodType","AchievementStatus","AchievementTaskType","AchievementType","BuyStoreItemErrorCode","StoreItemType","TournamentInstanceStatus","TournamentRegistrationError","TournamentRegistrationStatus","TournamentRegistrationType","TournamentType"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smartico/public-api",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"description": "Smartico public API",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -22,11 +22,10 @@
|
|
|
22
22
|
"license": "ISC",
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"md5-typescript": "^1.0.5",
|
|
25
|
-
"node-fetch": "^3.3.0",
|
|
26
|
-
"superagent": "^8.0.6",
|
|
27
25
|
"typescript-map": "^0.1.0"
|
|
28
26
|
},
|
|
29
27
|
"devDependencies": {
|
|
28
|
+
"@types/node-fetch": "^2.6.2",
|
|
30
29
|
"microbundle": "0.15.0",
|
|
31
30
|
"npm-run-all": "4.1.5"
|
|
32
31
|
}
|
package/src/SmarticoAPI.ts
CHANGED
|
@@ -26,18 +26,19 @@ interface IOptions {
|
|
|
26
26
|
logHTTPTiming?: boolean;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
type MessageSender = (message: any, publicApuUrl: string) => Promise<any>;
|
|
30
|
+
|
|
29
31
|
|
|
30
32
|
class SmarticoAPI {
|
|
31
33
|
|
|
32
34
|
private publicUrl: string;
|
|
33
35
|
private avatarDomain: string;
|
|
34
36
|
|
|
35
|
-
|
|
36
37
|
private logger: ILogger;
|
|
37
38
|
private logCIDs: ClassId[];
|
|
38
39
|
private logHTTPTiming: boolean;
|
|
39
40
|
|
|
40
|
-
public constructor(private label_api_key: string, private brand_api_key: string, options: IOptions = {}) {
|
|
41
|
+
public constructor(private label_api_key: string, private brand_api_key: string, private messageSender: MessageSender, options: IOptions = {}) {
|
|
41
42
|
|
|
42
43
|
this.logger = options.logger || (console as any);
|
|
43
44
|
|
|
@@ -71,15 +72,12 @@ class SmarticoAPI {
|
|
|
71
72
|
|
|
72
73
|
try {
|
|
73
74
|
const timeStart = new Date().getTime();
|
|
74
|
-
|
|
75
|
-
// const res = await superagent.post('http://channel01.int.smartico.ai:81/services/public').send(message);
|
|
75
|
+
result = await this.messageSender(message, this.publicUrl);
|
|
76
76
|
const timeEnd = new Date().getTime();
|
|
77
77
|
|
|
78
78
|
if (this.logHTTPTiming) {
|
|
79
79
|
this.logger.always('HTTP time, ms:' + (timeEnd - timeStart))
|
|
80
80
|
}
|
|
81
|
-
|
|
82
|
-
result = await res.json();
|
|
83
81
|
|
|
84
82
|
} catch (e) {
|
|
85
83
|
this.logger.error(`Failed to make request to smartico channel. ${e.message}`, { url: this.publicUrl, request: message, error: e.message });
|
|
@@ -204,7 +202,7 @@ class SmarticoAPI {
|
|
|
204
202
|
const r = await this.send<ResponseIdentify>(message, ClassId.IDENTIFY_RESPONSE);
|
|
205
203
|
|
|
206
204
|
if (!(r.avatar_id && r.avatar_id.startsWith('http'))) {
|
|
207
|
-
r.avatar_id =
|
|
205
|
+
r.avatar_id = this.avatarDomain + '/avatar/' + r.avatar_id
|
|
208
206
|
}
|
|
209
207
|
|
|
210
208
|
return r;
|
|
@@ -319,4 +317,4 @@ class SmarticoAPI {
|
|
|
319
317
|
|
|
320
318
|
}
|
|
321
319
|
|
|
322
|
-
export { SmarticoAPI }
|
|
320
|
+
export { SmarticoAPI, MessageSender }
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClassId } from './Base/ClassId'
|
|
2
2
|
import { ILogger } from './ILogger';
|
|
3
|
-
import { SmarticoAPI } from './SmarticoAPI'
|
|
3
|
+
import { MessageSender, SmarticoAPI } from './SmarticoAPI'
|
|
4
4
|
|
|
5
5
|
export * from './Core';
|
|
6
6
|
export * from './Inbox';
|
|
@@ -13,6 +13,7 @@ export * from './Tournaments';
|
|
|
13
13
|
|
|
14
14
|
export {
|
|
15
15
|
SmarticoAPI,
|
|
16
|
+
MessageSender,
|
|
16
17
|
ClassId,
|
|
17
18
|
ILogger
|
|
18
19
|
}
|