@smartico/public-api 0.0.11 → 0.0.13

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.
@@ -0,0 +1,4 @@
1
+ declare class CoreUtils {
2
+ static avatarUrl: (avatar_id: string, avatarDomain: string) => string;
3
+ }
4
+ export { CoreUtils };
@@ -1,4 +1,5 @@
1
1
  import { ActivityTypeLimited } from './ActivityTypeLimited';
2
+ import { CoreUtils } from './CoreUtils';
2
3
  import { GetLabelInfoRequest } from './GetLabelInfoRequest';
3
4
  import { GetLabelInfoResponse } from './GetLabelInfoResponse';
4
5
  import { GetTranslationsRequest } from './GetTranslationsRequest';
@@ -6,4 +7,4 @@ import { GetTranslationsResponse } from './GetTranslationsResponse';
6
7
  import { PublicLabelSettings } from './PublicLabelSettings';
7
8
  import { ResponseIdentify } from './ResponseIdentify';
8
9
  import { TranslationArea } from './TranslationArea';
9
- export { GetTranslationsRequest, GetTranslationsResponse, GetLabelInfoRequest, GetLabelInfoResponse, TranslationArea, PublicLabelSettings, ResponseIdentify, ActivityTypeLimited };
10
+ export { GetTranslationsRequest, GetTranslationsResponse, GetLabelInfoRequest, GetLabelInfoResponse, TranslationArea, PublicLabelSettings, ResponseIdentify, ActivityTypeLimited, CoreUtils };
@@ -8,6 +8,7 @@ import { GetInboxMessagesResponse } from './Inbox';
8
8
  import { GetStoreItemsResponse } from './Store';
9
9
  import { GetAchievementMapResponse } from './Missions';
10
10
  import { GetTournamentInfoResponse, GetTournamentsResponse } from './Tournaments';
11
+ import { GetLeaderBoardsResponse, LeaderBoardPeriodType } from "./Leaderboard";
11
12
  interface IOptions {
12
13
  logger?: ILogger;
13
14
  logCIDs?: ClassId[];
@@ -24,6 +25,9 @@ declare class SmarticoAPI {
24
25
  private logCIDs;
25
26
  private logHTTPTiming;
26
27
  constructor(label_api_key: string, brand_api_key: string, messageSender: MessageSender, options?: IOptions);
28
+ private static getEnvId;
29
+ static getPublicUrl(label_api_key: string): string;
30
+ static getAvatarUrl(label_api_key: string): string;
27
31
  private send;
28
32
  private buildMessage;
29
33
  coreReportCustomEvent(user_ext_id: string, eventType: string, payload?: any): Promise<any>;
@@ -40,5 +44,6 @@ declare class SmarticoAPI {
40
44
  missionsGetItems(user_ext_id: string): Promise<GetAchievementMapResponse>;
41
45
  tournamentsGetLobby(user_ext_id: string): Promise<GetTournamentsResponse>;
42
46
  tournamentsGetInfo(user_ext_id: string, tournamentInstanceId: number): Promise<GetTournamentInfoResponse>;
47
+ leaderboardGet(user_ext_id: string, period_type_id: LeaderBoardPeriodType, prevPeriod?: boolean): Promise<GetLeaderBoardsResponse>;
43
48
  }
44
49
  export { SmarticoAPI, MessageSender };
package/dist/index.js CHANGED
@@ -334,6 +334,64 @@ var OCache = /*#__PURE__*/function () {
334
334
  }();
335
335
  OCache.cache = {};
336
336
 
337
+ exports.ActivityTypeLimited = void 0;
338
+ (function (ActivityTypeLimited) {
339
+ ActivityTypeLimited[ActivityTypeLimited["DoNothing"] = 8] = "DoNothing";
340
+ ActivityTypeLimited[ActivityTypeLimited["Points"] = 12] = "Points";
341
+ ActivityTypeLimited[ActivityTypeLimited["Popup"] = 30] = "Popup";
342
+ ActivityTypeLimited[ActivityTypeLimited["Inbox"] = 31] = "Inbox";
343
+ ActivityTypeLimited[ActivityTypeLimited["Bonus"] = 100] = "Bonus";
344
+ })(exports.ActivityTypeLimited || (exports.ActivityTypeLimited = {}));
345
+
346
+ var CoreUtils = function CoreUtils() {};
347
+ CoreUtils.avatarUrl = function (avatar_id, avatarDomain) {
348
+ if (!(avatar_id && avatar_id.startsWith('http'))) {
349
+ return avatarDomain + '/avatar/' + avatar_id;
350
+ } else {
351
+ return avatar_id;
352
+ }
353
+ };
354
+
355
+ exports.PublicLabelSettings = void 0;
356
+ (function (PublicLabelSettings) {
357
+ PublicLabelSettings["FCM_SENDER_ID"] = "FCM_SENDER_ID";
358
+ PublicLabelSettings["PUBLIC_API_URL"] = "PUBLIC_API_URL";
359
+ PublicLabelSettings["FCM_SW_URL"] = "FCM_SW_URL";
360
+ PublicLabelSettings["RECORDING_ENABLED_FOR_ALL_USERS"] = "RECORDING_ENABLED_FOR_ALL_USERS";
361
+ PublicLabelSettings["JS_INJECTION"] = "JS_INJECTION";
362
+ PublicLabelSettings["GAMIFICATION_UI_MAIN"] = "GAMIFICATION_UI_MAIN";
363
+ PublicLabelSettings["GAMIFICATION_UI_WIDGET"] = "GAMIFICATION_UI_WIDGET";
364
+ PublicLabelSettings["GAMIFICATION_UI_MINI_GAME"] = "GAMIFICATION_UI_MINI_GAME";
365
+ PublicLabelSettings["GAMIFICATION_UI_SETTINGS"] = "GAMIFICATION_UI_SETTINGS";
366
+ PublicLabelSettings["GAMIFICATION_UI_MAIN_TEST"] = "GAMIFICATION_UI_MAIN_TEST";
367
+ PublicLabelSettings["GAMIFICATION_UI_WIDGET_TEST"] = "GAMIFICATION_UI_WIDGET_TEST";
368
+ PublicLabelSettings["GAMIFICATION_UI_SETTINGS_TEST"] = "GAMIFICATION_UI_SETTINGS_TEST";
369
+ PublicLabelSettings["FRONT_END_ALLOWED_LANGUAGES"] = "FRONT_END_ALLOWED_LANGUAGES";
370
+ PublicLabelSettings["FRONT_END_ALLOW_DOMAINS"] = "FRONT_END_ALLOW_DOMAINS";
371
+ PublicLabelSettings["DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS"] = "DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS";
372
+ PublicLabelSettings["SHADOW_LABEL_PUBLIC_KEY"] = "SHADOW_LABEL_PUBLIC_KEY";
373
+ PublicLabelSettings["DYNAMIC_IMAGE_DOMAIN"] = "DYNAMIC_IMAGE_DOMAIN";
374
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_ENABLED"] = "GAMIFICATION_UI_LEVEL_ENABLED";
375
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_IMAGE_MOB"] = "GAMIFICATION_UI_LEVEL_IMAGE_MOB";
376
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_IMAGE_DESK"] = "GAMIFICATION_UI_LEVEL_IMAGE_DESK";
377
+ PublicLabelSettings["GAMIFICATION_LEVELS_LOGIC2"] = "GAMIFICATION_LEVELS_LOGIC2";
378
+ PublicLabelSettings["AVATAR_CUSTOM_IMAGE_MAX_ID"] = "AVATAR_CUSTOM_IMAGE_MAX_ID";
379
+ PublicLabelSettings["AVATAR_CUSTOM_IMAGE_FOLDER"] = "AVATAR_CUSTOM_IMAGE_FOLDER";
380
+ PublicLabelSettings["RETENTION_GAMES_CUSTOMER_ID"] = "RETENTION_GAMES_CUSTOMER_ID";
381
+ PublicLabelSettings["GAMIFICATION_SHOW_POWERED_BY"] = "GAMIFICATION_SHOW_POWERED_BY";
382
+ PublicLabelSettings["_system_leader_board_mask_username"] = "_system_leader_board_mask_username";
383
+ })(exports.PublicLabelSettings || (exports.PublicLabelSettings = {}));
384
+
385
+ exports.TranslationArea = void 0;
386
+ (function (TranslationArea) {
387
+ TranslationArea[TranslationArea["Casino"] = 1] = "Casino";
388
+ TranslationArea[TranslationArea["Gamification"] = 2] = "Gamification";
389
+ TranslationArea[TranslationArea["Trading"] = 3] = "Trading";
390
+ TranslationArea[TranslationArea["Archived"] = 4] = "Archived";
391
+ TranslationArea[TranslationArea["Affiliation"] = 5] = "Affiliation";
392
+ TranslationArea[TranslationArea["RetentionGames"] = 6] = "RetentionGames";
393
+ })(exports.TranslationArea || (exports.TranslationArea = {}));
394
+
337
395
  function _catch(body, recover) {
338
396
  try {
339
397
  var result = body();
@@ -369,14 +427,23 @@ var SmarticoAPI = /*#__PURE__*/function () {
369
427
  }
370
428
  this.logCIDs = options.logCIDs || [];
371
429
  this.logHTTPTiming = options.logHTTPTiming || false;
372
- var ENV_ID = this.label_api_key.length === 38 ? label_api_key.substring(37, 38) : '';
430
+ this.publicUrl = SmarticoAPI.getPublicUrl(label_api_key);
431
+ this.avatarDomain = SmarticoAPI.getAvatarUrl(label_api_key);
432
+ this.label_api_key = label_api_key.substring(0, 36);
433
+ }
434
+ SmarticoAPI.getEnvId = function getEnvId(label_api_key) {
435
+ var ENV_ID = label_api_key.length === 38 ? label_api_key.substring(37, 38) : '';
373
436
  if (ENV_ID === '1' || ENV_ID === '2') {
374
437
  ENV_ID = '';
375
438
  }
376
- label_api_key = label_api_key.substring(0, 36);
377
- this.publicUrl = PUBLIC_API_URL.replace('{ENV_ID}', ENV_ID);
378
- this.avatarDomain = AVATAR_DOMAIN.replace('{ENV_ID}', ENV_ID);
379
- }
439
+ return ENV_ID;
440
+ };
441
+ SmarticoAPI.getPublicUrl = function getPublicUrl(label_api_key) {
442
+ return PUBLIC_API_URL.replace('{ENV_ID}', SmarticoAPI.getEnvId(label_api_key));
443
+ };
444
+ SmarticoAPI.getAvatarUrl = function getAvatarUrl(label_api_key) {
445
+ return AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvId(label_api_key));
446
+ };
380
447
  var _proto = SmarticoAPI.prototype;
381
448
  _proto.send = function send(message, expectCID) {
382
449
  try {
@@ -547,9 +614,7 @@ var SmarticoAPI = /*#__PURE__*/function () {
547
614
  request_id: IntUtils.uuid() // AA: do we need request_id?
548
615
  });
549
616
  return Promise.resolve(_this5.send(message, exports.ClassId.IDENTIFY_RESPONSE)).then(function (r) {
550
- if (!(r.avatar_id && r.avatar_id.startsWith('http'))) {
551
- r.avatar_id = _this5.avatarDomain + '/avatar/' + r.avatar_id;
552
- }
617
+ r.avatar_id = CoreUtils.avatarUrl(r.avatar_id, _this5.avatarDomain);
553
618
  return r;
554
619
  });
555
620
  } catch (e) {
@@ -666,7 +731,45 @@ var SmarticoAPI = /*#__PURE__*/function () {
666
731
  var message = _this13.buildMessage(user_ext_id, exports.ClassId.GET_TOURNAMENT_INFO_REQUEST, {
667
732
  tournamentInstanceId: tournamentInstanceId
668
733
  });
669
- return Promise.resolve(_this13.send(message));
734
+ return Promise.resolve(_this13.send(message)).then(function (response) {
735
+ var _response$userPositio, _response$tournamentI;
736
+ if ((_response$userPositio = response.userPosition) != null && _response$userPositio.avatar_id) {
737
+ response.userPosition.avatar_url = CoreUtils.avatarUrl(response.userPosition.avatar_url, _this13.avatarDomain);
738
+ }
739
+ if ((_response$tournamentI = response.tournamentInfo.players) != null && _response$tournamentI.length) {
740
+ response.tournamentInfo.players.forEach(function (p) {
741
+ p.avatar_url = CoreUtils.avatarUrl(p.avatar_url, _this13.avatarDomain);
742
+ });
743
+ }
744
+ return response;
745
+ });
746
+ } catch (e) {
747
+ return Promise.reject(e);
748
+ }
749
+ };
750
+ _proto.leaderboardGet = function leaderboardGet(user_ext_id, period_type_id, prevPeriod) {
751
+ if (prevPeriod === void 0) {
752
+ prevPeriod = false;
753
+ }
754
+ try {
755
+ var _this14 = this;
756
+ var message = _this14.buildMessage(user_ext_id, exports.ClassId.GET_LEADERS_BOARD_REQUEST, {
757
+ period_type_id: period_type_id,
758
+ snapshot_offset: prevPeriod ? 1 : 0,
759
+ include_users: true
760
+ });
761
+ return Promise.resolve(_this14.send(message)).then(function (response) {
762
+ var _response$map$period_, _response$map$period_2, _response$map$period_3, _response$map$period_4;
763
+ if ((_response$map$period_ = response.map[period_type_id]) != null && (_response$map$period_2 = _response$map$period_.userPosition) != null && _response$map$period_2.avatar_id) {
764
+ response.map[period_type_id].userPosition.avatar_url = CoreUtils.avatarUrl(response.map[period_type_id].userPosition.avatar_id, _this14.avatarDomain);
765
+ }
766
+ if ((_response$map$period_3 = response.map[period_type_id]) != null && (_response$map$period_4 = _response$map$period_3.positions) != null && _response$map$period_4.length) {
767
+ response.map[period_type_id].positions.forEach(function (p) {
768
+ p.avatar_url = CoreUtils.avatarUrl(p.avatar_id, _this14.avatarDomain);
769
+ });
770
+ }
771
+ return response;
772
+ });
670
773
  } catch (e) {
671
774
  return Promise.reject(e);
672
775
  }
@@ -674,55 +777,6 @@ var SmarticoAPI = /*#__PURE__*/function () {
674
777
  return SmarticoAPI;
675
778
  }();
676
779
 
677
- exports.ActivityTypeLimited = void 0;
678
- (function (ActivityTypeLimited) {
679
- ActivityTypeLimited[ActivityTypeLimited["DoNothing"] = 8] = "DoNothing";
680
- ActivityTypeLimited[ActivityTypeLimited["Points"] = 12] = "Points";
681
- ActivityTypeLimited[ActivityTypeLimited["Popup"] = 30] = "Popup";
682
- ActivityTypeLimited[ActivityTypeLimited["Inbox"] = 31] = "Inbox";
683
- ActivityTypeLimited[ActivityTypeLimited["Bonus"] = 100] = "Bonus";
684
- })(exports.ActivityTypeLimited || (exports.ActivityTypeLimited = {}));
685
-
686
- exports.PublicLabelSettings = void 0;
687
- (function (PublicLabelSettings) {
688
- PublicLabelSettings["FCM_SENDER_ID"] = "FCM_SENDER_ID";
689
- PublicLabelSettings["PUBLIC_API_URL"] = "PUBLIC_API_URL";
690
- PublicLabelSettings["FCM_SW_URL"] = "FCM_SW_URL";
691
- PublicLabelSettings["RECORDING_ENABLED_FOR_ALL_USERS"] = "RECORDING_ENABLED_FOR_ALL_USERS";
692
- PublicLabelSettings["JS_INJECTION"] = "JS_INJECTION";
693
- PublicLabelSettings["GAMIFICATION_UI_MAIN"] = "GAMIFICATION_UI_MAIN";
694
- PublicLabelSettings["GAMIFICATION_UI_WIDGET"] = "GAMIFICATION_UI_WIDGET";
695
- PublicLabelSettings["GAMIFICATION_UI_MINI_GAME"] = "GAMIFICATION_UI_MINI_GAME";
696
- PublicLabelSettings["GAMIFICATION_UI_SETTINGS"] = "GAMIFICATION_UI_SETTINGS";
697
- PublicLabelSettings["GAMIFICATION_UI_MAIN_TEST"] = "GAMIFICATION_UI_MAIN_TEST";
698
- PublicLabelSettings["GAMIFICATION_UI_WIDGET_TEST"] = "GAMIFICATION_UI_WIDGET_TEST";
699
- PublicLabelSettings["GAMIFICATION_UI_SETTINGS_TEST"] = "GAMIFICATION_UI_SETTINGS_TEST";
700
- PublicLabelSettings["FRONT_END_ALLOWED_LANGUAGES"] = "FRONT_END_ALLOWED_LANGUAGES";
701
- PublicLabelSettings["FRONT_END_ALLOW_DOMAINS"] = "FRONT_END_ALLOW_DOMAINS";
702
- PublicLabelSettings["DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS"] = "DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS";
703
- PublicLabelSettings["SHADOW_LABEL_PUBLIC_KEY"] = "SHADOW_LABEL_PUBLIC_KEY";
704
- PublicLabelSettings["DYNAMIC_IMAGE_DOMAIN"] = "DYNAMIC_IMAGE_DOMAIN";
705
- PublicLabelSettings["GAMIFICATION_UI_LEVEL_ENABLED"] = "GAMIFICATION_UI_LEVEL_ENABLED";
706
- PublicLabelSettings["GAMIFICATION_UI_LEVEL_IMAGE_MOB"] = "GAMIFICATION_UI_LEVEL_IMAGE_MOB";
707
- PublicLabelSettings["GAMIFICATION_UI_LEVEL_IMAGE_DESK"] = "GAMIFICATION_UI_LEVEL_IMAGE_DESK";
708
- PublicLabelSettings["GAMIFICATION_LEVELS_LOGIC2"] = "GAMIFICATION_LEVELS_LOGIC2";
709
- PublicLabelSettings["AVATAR_CUSTOM_IMAGE_MAX_ID"] = "AVATAR_CUSTOM_IMAGE_MAX_ID";
710
- PublicLabelSettings["AVATAR_CUSTOM_IMAGE_FOLDER"] = "AVATAR_CUSTOM_IMAGE_FOLDER";
711
- PublicLabelSettings["RETENTION_GAMES_CUSTOMER_ID"] = "RETENTION_GAMES_CUSTOMER_ID";
712
- PublicLabelSettings["GAMIFICATION_SHOW_POWERED_BY"] = "GAMIFICATION_SHOW_POWERED_BY";
713
- PublicLabelSettings["_system_leader_board_mask_username"] = "_system_leader_board_mask_username";
714
- })(exports.PublicLabelSettings || (exports.PublicLabelSettings = {}));
715
-
716
- exports.TranslationArea = void 0;
717
- (function (TranslationArea) {
718
- TranslationArea[TranslationArea["Casino"] = 1] = "Casino";
719
- TranslationArea[TranslationArea["Gamification"] = 2] = "Gamification";
720
- TranslationArea[TranslationArea["Trading"] = 3] = "Trading";
721
- TranslationArea[TranslationArea["Archived"] = 4] = "Archived";
722
- TranslationArea[TranslationArea["Affiliation"] = 5] = "Affiliation";
723
- TranslationArea[TranslationArea["RetentionGames"] = 6] = "RetentionGames";
724
- })(exports.TranslationArea || (exports.TranslationArea = {}));
725
-
726
780
  exports.InboxMessageType = void 0;
727
781
  (function (InboxMessageType) {
728
782
  InboxMessageType[InboxMessageType["Custom"] = 0] = "Custom";
@@ -877,6 +931,7 @@ TournamentUtils.isUpcoming = function (tournament) {
877
931
  return false;
878
932
  };
879
933
 
934
+ exports.CoreUtils = CoreUtils;
880
935
  exports.SAWBuyInTypeName = SAWBuyInTypeName;
881
936
  exports.SAWGameTypeName = SAWGameTypeName;
882
937
  exports.SAWUtils = SAWUtils;