@smartico/public-api 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +23 -44
  2. package/dist/Base/ClassId.d.ts +53 -4
  3. package/dist/Core/GetLabelInfoRequest.d.ts +3 -0
  4. package/dist/Core/GetLabelInfoResponse.d.ts +7 -0
  5. package/dist/Core/GetTranslationsRequest.d.ts +7 -0
  6. package/dist/Core/GetTranslationsResponse.d.ts +7 -0
  7. package/dist/Core/PublicLabelSettings.d.ts +28 -0
  8. package/dist/Core/PublicProperties.d.ts +11 -0
  9. package/dist/Core/ResponseIdentify.d.ts +12 -0
  10. package/dist/Core/TranslationArea.d.ts +9 -0
  11. package/dist/Core/index.d.ts +8 -0
  12. package/dist/Inbox/GetInboxMessagesRequest.d.ts +5 -0
  13. package/dist/Inbox/GetInboxMessagesResponse.d.ts +5 -0
  14. package/dist/Inbox/InboxMessage.d.ts +12 -0
  15. package/dist/Inbox/InboxMessageType.d.ts +11 -0
  16. package/dist/Inbox/index.d.ts +5 -0
  17. package/dist/MiniGames/SAWAskForUsername.d.ts +4 -0
  18. package/dist/MiniGames/SAWDoSpinResponse.d.ts +1 -7
  19. package/dist/MiniGames/SAWSpinErrorCode.d.ts +7 -0
  20. package/dist/MiniGames/SAWTemplateUI.d.ts +2 -5
  21. package/dist/MiniGames/SAWUtils.d.ts +5 -0
  22. package/dist/MiniGames/index.d.ts +5 -2
  23. package/dist/NodeCache.d.ts +9 -0
  24. package/dist/OCache.d.ts +11 -0
  25. package/dist/SmarticoAPI.d.ts +16 -2
  26. package/dist/index.d.ts +2 -0
  27. package/dist/index.js +431 -40
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.modern.mjs +324 -23
  30. package/dist/index.modern.mjs.map +1 -1
  31. package/package.json +11 -3
  32. package/src/Base/ClassId.ts +64 -6
  33. package/src/Base/ProtocolMessage.ts +6 -1
  34. package/src/Core/GetLabelInfoRequest.ts +5 -0
  35. package/src/Core/GetLabelInfoResponse.ts +6 -0
  36. package/src/Core/GetTranslationsRequest.ts +10 -0
  37. package/src/Core/GetTranslationsResponse.ts +8 -0
  38. package/src/Core/PublicLabelSettings.ts +34 -0
  39. package/src/Core/PublicProperties.ts +11 -0
  40. package/src/Core/ResponseIdentify.ts +14 -0
  41. package/src/Core/TranslationArea.ts +11 -0
  42. package/src/Core/index.ts +18 -0
  43. package/src/Inbox/GetInboxMessagesRequest.ts +7 -0
  44. package/src/Inbox/GetInboxMessagesResponse.ts +7 -0
  45. package/src/Inbox/InboxMessage.ts +14 -0
  46. package/src/Inbox/InboxMessageType.ts +13 -0
  47. package/src/Inbox/index.ts +11 -0
  48. package/src/MiniGames/SAWAskForUsername.ts +5 -0
  49. package/src/MiniGames/SAWDoSpinResponse.ts +1 -8
  50. package/src/MiniGames/SAWSpinErrorCode.ts +8 -0
  51. package/src/MiniGames/SAWTemplateUI.ts +3 -5
  52. package/src/MiniGames/SAWUtils.ts +31 -0
  53. package/src/MiniGames/index.ts +8 -3
  54. package/src/NodeCache.ts +45 -0
  55. package/src/OCache.ts +55 -0
  56. package/src/SmarticoAPI.ts +142 -9
  57. package/src/index.ts +2 -0
package/dist/index.js CHANGED
@@ -22,16 +22,63 @@ var superagent__namespace = /*#__PURE__*/_interopNamespace(superagent);
22
22
 
23
23
  exports.ClassId = void 0;
24
24
  (function (ClassId) {
25
- ClassId[ClassId["GET_LABEL_INFO"] = 3] = "GET_LABEL_INFO";
26
- ClassId[ClassId["GET_LABEL_INFO_RESPONSE"] = 4] = "GET_LABEL_INFO_RESPONSE";
25
+ ClassId[ClassId["INIT"] = 3] = "INIT";
26
+ ClassId[ClassId["INIT_RESPONSE"] = 4] = "INIT_RESPONSE";
27
27
  ClassId[ClassId["IDENTIFY"] = 5] = "IDENTIFY";
28
28
  ClassId[ClassId["IDENTIFY_RESPONSE"] = 6] = "IDENTIFY_RESPONSE";
29
+ ClassId[ClassId["LOGIN"] = 7] = "LOGIN";
30
+ ClassId[ClassId["LOGOUT"] = 8] = "LOGOUT";
29
31
  ClassId[ClassId["EVENT"] = 9] = "EVENT";
30
32
  ClassId[ClassId["EVENT_RESPONSE"] = 10] = "EVENT_RESPONSE";
33
+ ClassId[ClassId["LOGIN_RESPONSE"] = 11] = "LOGIN_RESPONSE";
34
+ ClassId[ClassId["LOGOUT_RESPONSE"] = 12] = "LOGOUT_RESPONSE";
31
35
  ClassId[ClassId["GET_TRANSLATIONS_REQUEST"] = 13] = "GET_TRANSLATIONS_REQUEST";
32
36
  ClassId[ClassId["GET_TRANSLATIONS_RESPONSE"] = 14] = "GET_TRANSLATIONS_RESPONSE";
33
- ClassId[ClassId["CHANGE_USERNAME"] = 159] = "CHANGE_USERNAME";
34
- ClassId[ClassId["CHANGE_USERNAME_RESPONSE"] = 160] = "CHANGE_USERNAME_RESPONSE";
37
+ ClassId[ClassId["CLIENT_ENGAGEMENT_IMPRESSION_REQUEST"] = 103] = "CLIENT_ENGAGEMENT_IMPRESSION_REQUEST";
38
+ ClassId[ClassId["CLIENT_ENGAGEMENT_ACTION_REQUEST"] = 104] = "CLIENT_ENGAGEMENT_ACTION_REQUEST";
39
+ ClassId[ClassId["CLIENT_EXECUTE_DEEPLINK_EVENT"] = 105] = "CLIENT_EXECUTE_DEEPLINK_EVENT";
40
+ ClassId[ClassId["CLIENT_ENGAGEMENT_FAILED_REQUEST"] = 106] = "CLIENT_ENGAGEMENT_FAILED_REQUEST";
41
+ ClassId[ClassId["CLIENT_EXECUTE_JS_EVENT"] = 107] = "CLIENT_EXECUTE_JS_EVENT";
42
+ ClassId[ClassId["CLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT"] = 108] = "CLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT";
43
+ ClassId[ClassId["CLIENT_ENGAGEMENT_EVENT_NEW"] = 110] = "CLIENT_ENGAGEMENT_EVENT_NEW";
44
+ ClassId[ClassId["CLIENT_SET_AVATAR_REQUEST"] = 157] = "CLIENT_SET_AVATAR_REQUEST";
45
+ ClassId[ClassId["CLIENT_SET_AVATAR_RESPONSE"] = 158] = "CLIENT_SET_AVATAR_RESPONSE";
46
+ ClassId[ClassId["CLIENT_SET_CUSTOM_USERNAME_REQUEST"] = 159] = "CLIENT_SET_CUSTOM_USERNAME_REQUEST";
47
+ ClassId[ClassId["CLIENT_SET_CUSTOM_USERNAME_RESPONSE"] = 160] = "CLIENT_SET_CUSTOM_USERNAME_RESPONSE";
48
+ // 500-1000 - Achievements
49
+ ClassId[ClassId["GET_LEVEL_MAP_REQUEST"] = 500] = "GET_LEVEL_MAP_REQUEST";
50
+ ClassId[ClassId["GET_LEVEL_MAP_RESPONSE"] = 501] = "GET_LEVEL_MAP_RESPONSE";
51
+ ClassId[ClassId["GET_ACHIEVEMENT_MAP_REQUEST"] = 502] = "GET_ACHIEVEMENT_MAP_REQUEST";
52
+ ClassId[ClassId["GET_ACHIEVEMENT_MAP_RESPONSE"] = 503] = "GET_ACHIEVEMENT_MAP_RESPONSE";
53
+ ClassId[ClassId["RELOAD_ACHIEVEMENTS_EVENT"] = 504] = "RELOAD_ACHIEVEMENTS_EVENT";
54
+ ClassId[ClassId["GET_LEADERS_BOARD_REQUEST"] = 505] = "GET_LEADERS_BOARD_REQUEST";
55
+ ClassId[ClassId["GET_LEADERS_BOARD_RESPONSE"] = 506] = "GET_LEADERS_BOARD_RESPONSE";
56
+ ClassId[ClassId["GET_ACTIVITY_LOG_REQUEST"] = 507] = "GET_ACTIVITY_LOG_REQUEST";
57
+ ClassId[ClassId["GET_ACTIVITY_LOG_RESPONSE"] = 508] = "GET_ACTIVITY_LOG_RESPONSE";
58
+ ClassId[ClassId["GET_SHOP_ITEMS_REQUEST"] = 509] = "GET_SHOP_ITEMS_REQUEST";
59
+ ClassId[ClassId["GET_SHOP_ITEMS_RESPONSE"] = 510] = "GET_SHOP_ITEMS_RESPONSE";
60
+ ClassId[ClassId["BUY_SHOP_ITEM_REQUEST"] = 511] = "BUY_SHOP_ITEM_REQUEST";
61
+ ClassId[ClassId["BUY_SHOP_ITEM_RESPONSE"] = 512] = "BUY_SHOP_ITEM_RESPONSE";
62
+ ClassId[ClassId["GET_INBOX_MESSAGES_REQUEST"] = 513] = "GET_INBOX_MESSAGES_REQUEST";
63
+ ClassId[ClassId["GET_INBOX_MESSAGES_RESPONSE"] = 514] = "GET_INBOX_MESSAGES_RESPONSE";
64
+ ClassId[ClassId["GET_SHOP_CATEGORIES_REQUEST"] = 515] = "GET_SHOP_CATEGORIES_REQUEST";
65
+ ClassId[ClassId["GET_SHOP_CATEGORIES_RESPONSE"] = 516] = "GET_SHOP_CATEGORIES_RESPONSE";
66
+ ClassId[ClassId["GET_TOURNAMENT_LOBBY_REQUEST"] = 517] = "GET_TOURNAMENT_LOBBY_REQUEST";
67
+ ClassId[ClassId["GET_TOURNAMENT_LOBBY_RESPONSE"] = 518] = "GET_TOURNAMENT_LOBBY_RESPONSE";
68
+ ClassId[ClassId["GET_TOURNAMENT_INFO_REQUEST"] = 519] = "GET_TOURNAMENT_INFO_REQUEST";
69
+ ClassId[ClassId["GET_TOURNAMENT_INFO_RESPONSE"] = 520] = "GET_TOURNAMENT_INFO_RESPONSE";
70
+ ClassId[ClassId["TOURNAMENT_REGISTER_REQUEST"] = 521] = "TOURNAMENT_REGISTER_REQUEST";
71
+ ClassId[ClassId["TOURNAMENT_REGISTER_RESPONSE"] = 522] = "TOURNAMENT_REGISTER_RESPONSE";
72
+ ClassId[ClassId["GET_CUSTOM_SECTIONS_REQUEST"] = 523] = "GET_CUSTOM_SECTIONS_REQUEST";
73
+ ClassId[ClassId["GET_CUSTOM_SECTIONS_RESPONSE"] = 524] = "GET_CUSTOM_SECTIONS_RESPONSE";
74
+ ClassId[ClassId["MISSION_OPTIN_REQUEST"] = 525] = "MISSION_OPTIN_REQUEST";
75
+ ClassId[ClassId["MISSION_OPTIN_RESPONSE"] = 526] = "MISSION_OPTIN_RESPONSE";
76
+ ClassId[ClassId["GET_ACHIEVEMENT_USER_REQUEST"] = 527] = "GET_ACHIEVEMENT_USER_REQUEST";
77
+ ClassId[ClassId["GET_ACHIEVEMENT_USER_RESPONSE"] = 528] = "GET_ACHIEVEMENT_USER_RESPONSE";
78
+ ClassId[ClassId["GET_BONUSES_REQUEST"] = 600] = "GET_BONUSES_REQUEST";
79
+ ClassId[ClassId["GET_BONUSES_RESPONSE"] = 601] = "GET_BONUSES_RESPONSE";
80
+ ClassId[ClassId["CLAIM_BONUS_REQUEST"] = 602] = "CLAIM_BONUS_REQUEST";
81
+ ClassId[ClassId["CLAIM_BONUS_RESPONSE"] = 603] = "CLAIM_BONUS_RESPONSE";
35
82
  ClassId[ClassId["SAW_GET_SPINS_REQUEST"] = 700] = "SAW_GET_SPINS_REQUEST";
36
83
  ClassId[ClassId["SAW_GET_SPINS_RESPONSE"] = 701] = "SAW_GET_SPINS_RESPONSE";
37
84
  ClassId[ClassId["SAW_DO_SPIN_REQUEST"] = 702] = "SAW_DO_SPIN_REQUEST";
@@ -40,6 +87,9 @@ exports.ClassId = void 0;
40
87
  ClassId[ClassId["SAW_AKNOWLEDGE_RESPONSE"] = 705] = "SAW_AKNOWLEDGE_RESPONSE";
41
88
  ClassId[ClassId["SAW_SPINS_COUNT_PUSH"] = 706] = "SAW_SPINS_COUNT_PUSH";
42
89
  ClassId[ClassId["SAW_SHOW_SPIN_PUSH"] = 707] = "SAW_SHOW_SPIN_PUSH";
90
+ ClassId[ClassId["REGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ"] = 1003] = "REGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ";
91
+ ClassId[ClassId["REGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP"] = 2003] = "REGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP";
92
+ ClassId[ClassId["CLIENT_DEBUG_REQUEST"] = 77777] = "CLIENT_DEBUG_REQUEST";
43
93
  ClassId[ClassId["UNSUPPORTED_COMMAND"] = 99999] = "UNSUPPORTED_COMMAND";
44
94
  })(exports.ClassId || (exports.ClassId = {}));
45
95
 
@@ -118,13 +168,6 @@ var IntUtils = /*#__PURE__*/function () {
118
168
  return IntUtils;
119
169
  }();
120
170
 
121
- exports.SAWAcknowledgeType = void 0;
122
- (function (SAWAcknowledgeType) {
123
- SAWAcknowledgeType[SAWAcknowledgeType["Silent"] = 1] = "Silent";
124
- SAWAcknowledgeType[SAWAcknowledgeType["QuickMessage"] = 2] = "QuickMessage";
125
- SAWAcknowledgeType[SAWAcknowledgeType["FullMessage"] = 3] = "FullMessage";
126
- })(exports.SAWAcknowledgeType || (exports.SAWAcknowledgeType = {}));
127
-
128
171
  var _SAWBuyInTypeName;
129
172
  exports.SAWBuyInType = void 0;
130
173
  (function (SAWBuyInType) {
@@ -134,14 +177,44 @@ exports.SAWBuyInType = void 0;
134
177
  })(exports.SAWBuyInType || (exports.SAWBuyInType = {}));
135
178
  var SAWBuyInTypeName = (_SAWBuyInTypeName = {}, _SAWBuyInTypeName[exports.SAWBuyInType.Free] = "free", _SAWBuyInTypeName[exports.SAWBuyInType.Points] = "points", _SAWBuyInTypeName[exports.SAWBuyInType.Spins] = "spins", _SAWBuyInTypeName);
136
179
 
137
- exports.SAWSpinErrorCode = void 0;
138
- (function (SAWSpinErrorCode) {
139
- SAWSpinErrorCode[SAWSpinErrorCode["SAW_OK"] = 0] = "SAW_OK";
140
- SAWSpinErrorCode[SAWSpinErrorCode["SAW_NO_SPINS"] = 40001] = "SAW_NO_SPINS";
141
- SAWSpinErrorCode[SAWSpinErrorCode["SAW_PRIZE_POOL_EMPTY"] = 40002] = "SAW_PRIZE_POOL_EMPTY";
142
- SAWSpinErrorCode[SAWSpinErrorCode["SAW_NOT_ENOUGH_POINTS"] = 40003] = "SAW_NOT_ENOUGH_POINTS";
143
- SAWSpinErrorCode[SAWSpinErrorCode["SAW_FAILED_MAX_SPINS_REACHED"] = 40004] = "SAW_FAILED_MAX_SPINS_REACHED";
144
- })(exports.SAWSpinErrorCode || (exports.SAWSpinErrorCode = {}));
180
+ var SAWUtils = function SAWUtils() {};
181
+ SAWUtils.canPlay = function (t, pointsBalance) {
182
+ if (t === null || t === undefined) {
183
+ return false;
184
+ }
185
+ switch (t.saw_buyin_type_id) {
186
+ case exports.SAWBuyInType.Free:
187
+ {
188
+ return true;
189
+ }
190
+ case exports.SAWBuyInType.Spins:
191
+ {
192
+ return t.spin_count !== null && t.spin_count > 0;
193
+ }
194
+ case exports.SAWBuyInType.Points:
195
+ {
196
+ return t.buyin_cost_points <= pointsBalance;
197
+ }
198
+ default:
199
+ {
200
+ console.error("MiniGamesUtils.canPlay: Unknwon SAW buyin type " + t.saw_buyin_type_id);
201
+ return false;
202
+ }
203
+ }
204
+ };
205
+
206
+ exports.SAWAcknowledgeType = void 0;
207
+ (function (SAWAcknowledgeType) {
208
+ SAWAcknowledgeType[SAWAcknowledgeType["Silent"] = 1] = "Silent";
209
+ SAWAcknowledgeType[SAWAcknowledgeType["QuickMessage"] = 2] = "QuickMessage";
210
+ SAWAcknowledgeType[SAWAcknowledgeType["FullMessage"] = 3] = "FullMessage";
211
+ })(exports.SAWAcknowledgeType || (exports.SAWAcknowledgeType = {}));
212
+
213
+ exports.SAWAskForUsername = void 0;
214
+ (function (SAWAskForUsername) {
215
+ SAWAskForUsername["NOASK"] = "no-ask";
216
+ SAWAskForUsername["ONSUMBIT"] = "on-submit";
217
+ })(exports.SAWAskForUsername || (exports.SAWAskForUsername = {}));
145
218
 
146
219
  var _SAWGameTypeName;
147
220
  exports.SAWGameType = void 0;
@@ -162,6 +235,15 @@ exports.SAWPrizeType = void 0;
162
235
  SAWPrizeType[SAWPrizeType["JACKPOT"] = 6] = "JACKPOT";
163
236
  })(exports.SAWPrizeType || (exports.SAWPrizeType = {}));
164
237
 
238
+ exports.SAWSpinErrorCode = void 0;
239
+ (function (SAWSpinErrorCode) {
240
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_OK"] = 0] = "SAW_OK";
241
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_NO_SPINS"] = 40001] = "SAW_NO_SPINS";
242
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_PRIZE_POOL_EMPTY"] = 40002] = "SAW_PRIZE_POOL_EMPTY";
243
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_NOT_ENOUGH_POINTS"] = 40003] = "SAW_NOT_ENOUGH_POINTS";
244
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_FAILED_MAX_SPINS_REACHED"] = 40004] = "SAW_FAILED_MAX_SPINS_REACHED";
245
+ })(exports.SAWSpinErrorCode || (exports.SAWSpinErrorCode = {}));
246
+
165
247
  var _SAWWinSoundFiles;
166
248
  exports.SAWWinSoundType = void 0;
167
249
  (function (SAWWinSoundType) {
@@ -172,6 +254,107 @@ exports.SAWWinSoundType = void 0;
172
254
  })(exports.SAWWinSoundType || (exports.SAWWinSoundType = {}));
173
255
  var SAWWinSoundFiles = (_SAWWinSoundFiles = {}, _SAWWinSoundFiles[exports.SAWWinSoundType.NoSound] = null, _SAWWinSoundFiles[exports.SAWWinSoundType.Disappointing] = "saw-disappointed.m4a", _SAWWinSoundFiles[exports.SAWWinSoundType.Positive] = "saw-positive.m4a", _SAWWinSoundFiles[exports.SAWWinSoundType.HighlyPositive] = "saw-highly-positive.m4a", _SAWWinSoundFiles);
174
256
 
257
+ var NodeCache = /*#__PURE__*/function () {
258
+ function NodeCache() {
259
+ if (NodeCache.ttlChecker === undefined) {
260
+ NodeCache.ttlChecker = setInterval(function () {
261
+ var now = new Date().getTime();
262
+ for (var key in NodeCache.cache) {
263
+ if (NodeCache.cache.hasOwnProperty(key)) {
264
+ var o = NodeCache.cache[key];
265
+ if (o.ttl < now) {
266
+ delete NodeCache.cache[key];
267
+ }
268
+ }
269
+ }
270
+ }, 1000);
271
+ }
272
+ }
273
+ var _proto = NodeCache.prototype;
274
+ _proto.get = function get(key) {
275
+ var o = NodeCache.cache[key];
276
+ if (o !== undefined && o.ttl > new Date().getTime()) {
277
+ return o.value;
278
+ }
279
+ };
280
+ _proto.set = function set(key, value, ttlSeconds) {
281
+ if (ttlSeconds === void 0) {
282
+ ttlSeconds = 60;
283
+ }
284
+ NodeCache.cache[key] = {
285
+ value: value,
286
+ ttl: new Date().getTime() + ttlSeconds * 1000
287
+ };
288
+ };
289
+ _proto.flushAll = function flushAll() {
290
+ NodeCache.cache = {};
291
+ };
292
+ return NodeCache;
293
+ }();
294
+ NodeCache.ttlChecker = void 0;
295
+ NodeCache.cache = {};
296
+
297
+ var ECacheContext;
298
+ (function (ECacheContext) {
299
+ ECacheContext[ECacheContext["Translations"] = 0] = "Translations";
300
+ ECacheContext[ECacheContext["LabelInfo"] = 1] = "LabelInfo";
301
+ })(ECacheContext || (ECacheContext = {}));
302
+ var OCache = /*#__PURE__*/function () {
303
+ function OCache() {}
304
+ OCache.get = function get(oKey, cacheContext) {
305
+ var key = cacheContext.toString() + '_' + JSON.stringify(oKey);
306
+ if (this.cache[cacheContext] === undefined) {
307
+ this.cache[cacheContext] = new NodeCache();
308
+ }
309
+ return this.cache[cacheContext].get(key);
310
+ };
311
+ OCache.set = function set(oKey, o, cacheContext, ttlSeconds) {
312
+ if (ttlSeconds === void 0) {
313
+ ttlSeconds = 60;
314
+ }
315
+ var key = cacheContext.toString() + '_' + JSON.stringify(oKey);
316
+ this.cache[cacheContext].set(key, o, ttlSeconds);
317
+ };
318
+ OCache.use = function use(oKey, cacheContext, f, ttlSeconds) {
319
+ if (ttlSeconds === void 0) {
320
+ ttlSeconds = 60;
321
+ }
322
+ try {
323
+ if (ttlSeconds <= 0) {
324
+ return Promise.resolve(f());
325
+ } else {
326
+ var o = OCache.get(oKey, cacheContext);
327
+ var _temp = function () {
328
+ if (o === undefined) {
329
+ return Promise.resolve(f()).then(function (_f2) {
330
+ o = _f2;
331
+ OCache.set(oKey, o, cacheContext, ttlSeconds);
332
+ });
333
+ }
334
+ }();
335
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function () {
336
+ return o;
337
+ }) : o);
338
+ }
339
+ } catch (e) {
340
+ return Promise.reject(e);
341
+ }
342
+ };
343
+ OCache.clear = function clear(cacheContext) {
344
+ try {
345
+ var _this = this;
346
+ if (_this.cache[cacheContext]) {
347
+ _this.cache[cacheContext].flushAll();
348
+ }
349
+ return Promise.resolve();
350
+ } catch (e) {
351
+ return Promise.reject(e);
352
+ }
353
+ };
354
+ return OCache;
355
+ }();
356
+ OCache.cache = {};
357
+
175
358
  function _catch(body, recover) {
176
359
  try {
177
360
  var result = body();
@@ -184,6 +367,7 @@ function _catch(body, recover) {
184
367
  return result;
185
368
  }
186
369
  var PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';
370
+ var AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';
187
371
  var SmarticoAPI = /*#__PURE__*/function () {
188
372
  function SmarticoAPI(label_api_key, brand_api_key, options) {
189
373
  if (options === void 0) {
@@ -192,6 +376,7 @@ var SmarticoAPI = /*#__PURE__*/function () {
192
376
  this.label_api_key = void 0;
193
377
  this.brand_api_key = void 0;
194
378
  this.publicUrl = void 0;
379
+ this.avatarDomain = void 0;
195
380
  this.logger = void 0;
196
381
  this.logCIDs = void 0;
197
382
  this.logHTTPTiming = void 0;
@@ -209,6 +394,7 @@ var SmarticoAPI = /*#__PURE__*/function () {
209
394
  }
210
395
  label_api_key = label_api_key.substring(0, 36);
211
396
  this.publicUrl = PUBLIC_API_URL.replace('{ENV_ID}', ENV_ID);
397
+ this.avatarDomain = AVATAR_DOMAIN.replace('{ENV_ID}', ENV_ID);
212
398
  }
213
399
  var _proto = SmarticoAPI.prototype;
214
400
  _proto.send = function send(message, expectCID) {
@@ -264,6 +450,7 @@ var SmarticoAPI = /*#__PURE__*/function () {
264
450
  var _temp = _catch(function () {
265
451
  var timeStart = new Date().getTime();
266
452
  return Promise.resolve(superagent__namespace.post(_this.publicUrl).send(message)).then(function (res) {
453
+ // const res = await superagent.post('http://channel01.int.smartico.ai:81/services/public').send(message);
267
454
  var timeEnd = new Date().getTime();
268
455
  if (_this.logHTTPTiming) {
269
456
  _this.logger.always('HTTP time, ms:' + (timeEnd - timeStart));
@@ -295,13 +482,116 @@ var SmarticoAPI = /*#__PURE__*/function () {
295
482
  uuid: IntUtils.uuid(),
296
483
  ts: new Date().getTime()
297
484
  }, payload);
485
+ if (message.ext_user_id === undefined || message.ext_user_id === null) {
486
+ delete message.ext_user_id;
487
+ }
298
488
  return message;
299
489
  };
300
- _proto.miniGamesGetTemplates = function miniGamesGetTemplates(user_ext_id) {
490
+ _proto.coreReportCustomEvent = function coreReportCustomEvent(user_ext_id, eventType, payload) {
491
+ if (payload === void 0) {
492
+ payload = {};
493
+ }
301
494
  try {
302
495
  var _this2 = this;
303
- var message = _this2.buildMessage(user_ext_id, exports.ClassId.SAW_GET_SPINS_REQUEST);
304
- return Promise.resolve(_this2.send(message)).then(function (response) {
496
+ var eventMessage = _this2.buildMessage(user_ext_id, exports.ClassId.EVENT, {
497
+ eventType: eventType,
498
+ payload: payload
499
+ });
500
+ return Promise.resolve(_this2.send(eventMessage, exports.ClassId.EVENT_RESPONSE));
501
+ } catch (e) {
502
+ return Promise.reject(e);
503
+ }
504
+ };
505
+ _proto.coreGetTranslations = function coreGetTranslations(user_ext_id, lang_code, areas, cacheSec) {
506
+ if (cacheSec === void 0) {
507
+ cacheSec = 60;
508
+ }
509
+ try {
510
+ var _this3 = this;
511
+ return Promise.resolve(OCache.use(lang_code + "-" + _this3.label_api_key + "-" + _this3.brand_api_key, ECacheContext.Translations, function () {
512
+ try {
513
+ var tsBaseRQ = _this3.buildMessage(user_ext_id, exports.ClassId.GET_TRANSLATIONS_REQUEST, {
514
+ lang_code: "EN",
515
+ hash_code: 0,
516
+ areas: areas
517
+ });
518
+ return Promise.resolve(_this3.send(tsBaseRQ)).then(function (trBase) {
519
+ var _temp3 = function () {
520
+ if (lang_code !== "EN") {
521
+ var trUserRQ = _this3.buildMessage(user_ext_id, exports.ClassId.GET_TRANSLATIONS_REQUEST, {
522
+ lang_code: lang_code,
523
+ hash_code: 0,
524
+ areas: areas
525
+ });
526
+ return Promise.resolve(_this3.send(trUserRQ)).then(function (trUser) {
527
+ Object.keys(trUser.translations).forEach(function (k) {
528
+ trBase.translations[k] = trUser.translations[k];
529
+ });
530
+ });
531
+ }
532
+ }();
533
+ return _temp3 && _temp3.then ? _temp3.then(function () {
534
+ return trBase;
535
+ }) : trBase;
536
+ });
537
+ } catch (e) {
538
+ return Promise.reject(e);
539
+ }
540
+ }, cacheSec));
541
+ } catch (e) {
542
+ return Promise.reject(e);
543
+ }
544
+ };
545
+ _proto.coreIdentifyLabel = function coreIdentifyLabel(user_ext_id, cacheSec) {
546
+ if (cacheSec === void 0) {
547
+ cacheSec = 60;
548
+ }
549
+ try {
550
+ var _this4 = this;
551
+ return Promise.resolve(OCache.use(_this4.label_api_key + " - " + _this4.brand_api_key, ECacheContext.LabelInfo, function () {
552
+ try {
553
+ var message = _this4.buildMessage(user_ext_id, exports.ClassId.INIT);
554
+ return Promise.resolve(_this4.send(message, exports.ClassId.INIT_RESPONSE));
555
+ } catch (e) {
556
+ return Promise.reject(e);
557
+ }
558
+ }, cacheSec));
559
+ } catch (e) {
560
+ return Promise.reject(e);
561
+ }
562
+ };
563
+ _proto.coreIdentifyUser = function coreIdentifyUser(user_ext_id) {
564
+ try {
565
+ var _this5 = this;
566
+ var message = _this5.buildMessage(user_ext_id, exports.ClassId.IDENTIFY, {
567
+ request_id: IntUtils.uuid() // AA: do we need request_id?
568
+ });
569
+ return Promise.resolve(_this5.send(message, exports.ClassId.IDENTIFY_RESPONSE)).then(function (r) {
570
+ if (!(r.avatar_id && r.avatar_id.startsWith('http'))) {
571
+ r.avatar_id = AVATAR_DOMAIN + '/avatar/' + r.avatar_id;
572
+ }
573
+ return r;
574
+ });
575
+ } catch (e) {
576
+ return Promise.reject(e);
577
+ }
578
+ };
579
+ _proto.coreChangeUsername = function coreChangeUsername(user_ext_id, public_username_custom) {
580
+ try {
581
+ var _this6 = this;
582
+ var message = _this6.buildMessage(user_ext_id, exports.ClassId.CLIENT_SET_CUSTOM_USERNAME_REQUEST, {
583
+ public_username_custom: public_username_custom
584
+ });
585
+ return Promise.resolve(_this6.send(message, exports.ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE));
586
+ } catch (e) {
587
+ return Promise.reject(e);
588
+ }
589
+ };
590
+ _proto.sawGetTemplates = function sawGetTemplates(user_ext_id) {
591
+ try {
592
+ var _this7 = this;
593
+ var message = _this7.buildMessage(user_ext_id, exports.ClassId.SAW_GET_SPINS_REQUEST);
594
+ return Promise.resolve(_this7.send(message)).then(function (response) {
305
595
  if (response && response.templates) {
306
596
  response.templates.forEach(function (t) {
307
597
  if (t.jackpot_current) {
@@ -321,30 +611,131 @@ var SmarticoAPI = /*#__PURE__*/function () {
321
611
  return Promise.reject(e);
322
612
  }
323
613
  };
324
- _proto.miniGamesFormatTemplatesForWidget = function miniGamesFormatTemplatesForWidget(templates, pointsBalance) {
325
- return templates.filter(function (r) {
326
- return r.saw_template_id >= 1;
327
- }).map(function (r) {
328
- var _r$saw_skin_ui_defini, _r$saw_skin_ui_defini2;
329
- return {
330
- id: r.saw_template_id,
331
- name: r.saw_template_ui_definition.name,
332
- // description: r.saw_template_ui_definition.description,
333
- game_type: SAWGameTypeName[r.saw_game_type_id] || 'unknown',
334
- buyin_type: SAWBuyInTypeName[r.saw_buyin_type_id] || 'unknown',
335
- jackpot: r.jackpot_current,
336
- spin_count: r.spin_count,
337
- buyin_cost_points: r.buyin_cost_points,
338
- can_play: r.saw_buyin_type_id === exports.SAWBuyInType.Free || r.saw_buyin_type_id === exports.SAWBuyInType.Points && r.buyin_cost_points <= pointsBalance || r.saw_buyin_type_id === exports.SAWBuyInType.Spins && r.spin_count > 0,
339
- icon: (_r$saw_skin_ui_defini = r.saw_skin_ui_definition) != null && _r$saw_skin_ui_defini.skin_folder ? ((_r$saw_skin_ui_defini2 = r.saw_skin_ui_definition) == null ? void 0 : _r$saw_skin_ui_defini2.skin_folder) + '/ico.png' : "https://libs.smartico.ai/gf/images/saw/" + r.saw_skin_key + "/ico.png"
340
- };
341
- });
614
+ _proto.sawFormatTemplatesForWidget = function sawFormatTemplatesForWidget(templates, pointsBalance) {
615
+ try {
616
+ return Promise.resolve(templates.filter(function (r) {
617
+ return r.saw_template_id >= 1;
618
+ }).map(function (r) {
619
+ var _r$saw_skin_ui_defini, _r$saw_skin_ui_defini2;
620
+ return {
621
+ id: r.saw_template_id,
622
+ name: r.saw_template_ui_definition.name,
623
+ // description: r.saw_template_ui_definition.description,
624
+ game_type: SAWGameTypeName[r.saw_game_type_id] || 'unknown',
625
+ buyin_type: SAWBuyInTypeName[r.saw_buyin_type_id] || 'unknown',
626
+ jackpot: r.jackpot_current,
627
+ spin_count: r.spin_count,
628
+ buyin_cost_points: r.buyin_cost_points,
629
+ can_play: SAWUtils.canPlay(r, pointsBalance),
630
+ icon: (_r$saw_skin_ui_defini = r.saw_skin_ui_definition) != null && _r$saw_skin_ui_defini.skin_folder ? ((_r$saw_skin_ui_defini2 = r.saw_skin_ui_definition) == null ? void 0 : _r$saw_skin_ui_defini2.skin_folder) + '/ico.png' : "https://libs.smartico.ai/gf/images/saw/" + r.saw_skin_key + "/ico.png"
631
+ };
632
+ }));
633
+ } catch (e) {
634
+ return Promise.reject(e);
635
+ }
636
+ };
637
+ _proto.sawSpinRequest = function sawSpinRequest(user_ext_id, saw_template_id, round_id) {
638
+ try {
639
+ var _this8 = this;
640
+ var message = _this8.buildMessage(user_ext_id, exports.ClassId.SAW_DO_SPIN_REQUEST, {
641
+ saw_template_id: saw_template_id,
642
+ request_id: IntUtils.uuid()
643
+ });
644
+ return Promise.resolve(_this8.send(message, exports.ClassId.SAW_DO_SPIN_RESPONSE)).then(function (spinAttemptResponse) {
645
+ var _SAWSpinErrorCode$SAW;
646
+ // to simulate fail
647
+ // response.errCode = SAWSpinErrorCode.SAW_NO_SPINS;
648
+ var status = (_SAWSpinErrorCode$SAW = {}, _SAWSpinErrorCode$SAW[exports.SAWSpinErrorCode.SAW_OK] = 'OK', _SAWSpinErrorCode$SAW[exports.SAWSpinErrorCode.SAW_NO_SPINS] = 'NO SPINS AVAILABLE', _SAWSpinErrorCode$SAW[exports.SAWSpinErrorCode.SAW_PRIZE_POOL_EMPTY] = 'PRIZE POOL IS EMPTY', _SAWSpinErrorCode$SAW[exports.SAWSpinErrorCode.SAW_NOT_ENOUGH_POINTS] = 'NOT ENOUGH POINTS', _SAWSpinErrorCode$SAW[exports.SAWSpinErrorCode.SAW_FAILED_MAX_SPINS_REACHED] = 'MAX SPIN ATTEMPTS REACHED', _SAWSpinErrorCode$SAW)[spinAttemptResponse.errCode] || 'OTHER';
649
+ return Promise.resolve(_this8.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {
650
+ saw_template_id: saw_template_id,
651
+ status: status,
652
+ round_id: round_id
653
+ })).then(function () {
654
+ return spinAttemptResponse;
655
+ });
656
+ });
657
+ } catch (e) {
658
+ return Promise.reject(e);
659
+ }
660
+ };
661
+ _proto.inboxGetMessages = function inboxGetMessages(user_ext_id, limit, offset) {
662
+ if (limit === void 0) {
663
+ limit = 10;
664
+ }
665
+ if (offset === void 0) {
666
+ offset = 0;
667
+ }
668
+ try {
669
+ var _this9 = this;
670
+ var message = _this9.buildMessage(user_ext_id, exports.ClassId.GET_ACTIVITY_LOG_REQUEST, {
671
+ limit: limit,
672
+ offset: offset
673
+ });
674
+ return Promise.resolve(_this9.send(message));
675
+ } catch (e) {
676
+ return Promise.reject(e);
677
+ }
342
678
  };
343
679
  return SmarticoAPI;
344
680
  }();
345
681
 
682
+ exports.PublicLabelSettings = void 0;
683
+ (function (PublicLabelSettings) {
684
+ PublicLabelSettings["FCM_SENDER_ID"] = "FCM_SENDER_ID";
685
+ PublicLabelSettings["PUBLIC_API_URL"] = "PUBLIC_API_URL";
686
+ PublicLabelSettings["FCM_SW_URL"] = "FCM_SW_URL";
687
+ PublicLabelSettings["RECORDING_ENABLED_FOR_ALL_USERS"] = "RECORDING_ENABLED_FOR_ALL_USERS";
688
+ PublicLabelSettings["JS_INJECTION"] = "JS_INJECTION";
689
+ PublicLabelSettings["GAMIFICATION_UI_MAIN"] = "GAMIFICATION_UI_MAIN";
690
+ PublicLabelSettings["GAMIFICATION_UI_WIDGET"] = "GAMIFICATION_UI_WIDGET";
691
+ PublicLabelSettings["GAMIFICATION_UI_MINI_GAME"] = "GAMIFICATION_UI_MINI_GAME";
692
+ PublicLabelSettings["GAMIFICATION_UI_SETTINGS"] = "GAMIFICATION_UI_SETTINGS";
693
+ PublicLabelSettings["GAMIFICATION_UI_MAIN_TEST"] = "GAMIFICATION_UI_MAIN_TEST";
694
+ PublicLabelSettings["GAMIFICATION_UI_WIDGET_TEST"] = "GAMIFICATION_UI_WIDGET_TEST";
695
+ PublicLabelSettings["GAMIFICATION_UI_SETTINGS_TEST"] = "GAMIFICATION_UI_SETTINGS_TEST";
696
+ PublicLabelSettings["FRONT_END_ALLOWED_LANGUAGES"] = "FRONT_END_ALLOWED_LANGUAGES";
697
+ PublicLabelSettings["FRONT_END_ALLOW_DOMAINS"] = "FRONT_END_ALLOW_DOMAINS";
698
+ PublicLabelSettings["DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS"] = "DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS";
699
+ PublicLabelSettings["SHADOW_LABEL_PUBLIC_KEY"] = "SHADOW_LABEL_PUBLIC_KEY";
700
+ PublicLabelSettings["DYNAMIC_IMAGE_DOMAIN"] = "DYNAMIC_IMAGE_DOMAIN";
701
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_ENABLED"] = "GAMIFICATION_UI_LEVEL_ENABLED";
702
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_IMAGE_MOB"] = "GAMIFICATION_UI_LEVEL_IMAGE_MOB";
703
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_IMAGE_DESK"] = "GAMIFICATION_UI_LEVEL_IMAGE_DESK";
704
+ PublicLabelSettings["GAMIFICATION_LEVELS_LOGIC2"] = "GAMIFICATION_LEVELS_LOGIC2";
705
+ PublicLabelSettings["AVATAR_CUSTOM_IMAGE_MAX_ID"] = "AVATAR_CUSTOM_IMAGE_MAX_ID";
706
+ PublicLabelSettings["AVATAR_CUSTOM_IMAGE_FOLDER"] = "AVATAR_CUSTOM_IMAGE_FOLDER";
707
+ PublicLabelSettings["RETENTION_GAMES_CUSTOMER_ID"] = "RETENTION_GAMES_CUSTOMER_ID";
708
+ PublicLabelSettings["GAMIFICATION_SHOW_POWERED_BY"] = "GAMIFICATION_SHOW_POWERED_BY";
709
+ PublicLabelSettings["_system_leader_board_mask_username"] = "_system_leader_board_mask_username";
710
+ })(exports.PublicLabelSettings || (exports.PublicLabelSettings = {}));
711
+
712
+ exports.TranslationArea = void 0;
713
+ (function (TranslationArea) {
714
+ TranslationArea[TranslationArea["Casino"] = 1] = "Casino";
715
+ TranslationArea[TranslationArea["Gamification"] = 2] = "Gamification";
716
+ TranslationArea[TranslationArea["Trading"] = 3] = "Trading";
717
+ TranslationArea[TranslationArea["Archived"] = 4] = "Archived";
718
+ TranslationArea[TranslationArea["Affiliation"] = 5] = "Affiliation";
719
+ TranslationArea[TranslationArea["RetentionGames"] = 6] = "RetentionGames";
720
+ })(exports.TranslationArea || (exports.TranslationArea = {}));
721
+
722
+ exports.InboxMessageType = void 0;
723
+ (function (InboxMessageType) {
724
+ InboxMessageType[InboxMessageType["Custom"] = 0] = "Custom";
725
+ InboxMessageType[InboxMessageType["MissionCompleted"] = 1] = "MissionCompleted";
726
+ InboxMessageType[InboxMessageType["MissionUnlocked"] = 2] = "MissionUnlocked";
727
+ InboxMessageType[InboxMessageType["LeaderboardWon"] = 3] = "LeaderboardWon";
728
+ InboxMessageType[InboxMessageType["LevelChanged"] = 4] = "LevelChanged";
729
+ InboxMessageType[InboxMessageType["BonusGiven"] = 5] = "BonusGiven";
730
+ InboxMessageType[InboxMessageType["PointsAdded"] = 6] = "PointsAdded";
731
+ InboxMessageType[InboxMessageType["PointsUsed"] = 7] = "PointsUsed";
732
+ InboxMessageType[InboxMessageType["PersonalMessage"] = 8] = "PersonalMessage";
733
+ })(exports.InboxMessageType || (exports.InboxMessageType = {}));
734
+ // keep in sync with BO enum
735
+
346
736
  exports.SAWBuyInTypeName = SAWBuyInTypeName;
347
737
  exports.SAWGameTypeName = SAWGameTypeName;
738
+ exports.SAWUtils = SAWUtils;
348
739
  exports.SAWWinSoundFiles = SAWWinSoundFiles;
349
740
  exports.SmarticoAPI = SmarticoAPI;
350
741
  //# sourceMappingURL=index.js.map