@smartico/public-api 0.0.54 → 0.0.56

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 (36) hide show
  1. package/dist/MiniGames/SAWBuyInType.d.ts +9 -5
  2. package/dist/MiniGames/SAWGameType.d.ts +10 -6
  3. package/dist/MiniGames/SAWGetTemplatesResponse.d.ts +2 -0
  4. package/dist/MiniGames/SAWPrizeType.d.ts +12 -0
  5. package/dist/SmarticoAPI.d.ts +7 -3
  6. package/dist/Store/StoreCategory.d.ts +2 -0
  7. package/dist/Tournaments/TournamentRegistrationStatus.d.ts +11 -2
  8. package/dist/WSAPI/WSAPI.d.ts +5 -1
  9. package/dist/WSAPI/WSAPITypes.d.ts +57 -0
  10. package/dist/index.js +211 -66
  11. package/dist/index.js.map +1 -1
  12. package/dist/index.modern.mjs +145 -24
  13. package/dist/index.modern.mjs.map +1 -1
  14. package/docs/README.md +10 -6
  15. package/docs/classes/WSAPI.md +24 -0
  16. package/docs/enums/MiniGamePrizeTypeName.md +43 -0
  17. package/docs/enums/SAWBuyInTypeName.md +25 -0
  18. package/docs/enums/SAWGameTypeName.md +31 -0
  19. package/docs/enums/TournamentRegistrationStatusName.md +49 -0
  20. package/docs/interfaces/TMiniGamePrize.md +51 -0
  21. package/docs/interfaces/TMiniGameTemplate.md +109 -0
  22. package/docs/interfaces/TStoreCategory.md +21 -0
  23. package/docs/interfaces/TTournament.md +1 -1
  24. package/docs/interfaces/TTournamentDetailed.md +1 -1
  25. package/package.json +1 -1
  26. package/src/MiniGames/SAWBuyInType.ts +15 -4
  27. package/src/MiniGames/SAWGameType.ts +18 -5
  28. package/src/MiniGames/SAWGetTemplatesResponse.ts +47 -0
  29. package/src/MiniGames/SAWPrizeType.ts +23 -0
  30. package/src/SmarticoAPI.ts +28 -10
  31. package/src/Store/StoreCategory.ts +12 -0
  32. package/src/Tournaments/Tournament.ts +2 -2
  33. package/src/Tournaments/TournamentRegistrationStatus.ts +19 -10
  34. package/src/WSAPI/WSAPI.ts +11 -1
  35. package/src/WSAPI/WSAPITypes.ts +75 -1
  36. package/tsconfig.json +4 -1
@@ -132,16 +132,27 @@ IntUtils.JsonOrText = str => {
132
132
  return str;
133
133
  };
134
134
 
135
+ /** @hidden */
135
136
  var SAWBuyInType;
136
137
  (function (SAWBuyInType) {
137
138
  SAWBuyInType[SAWBuyInType["Free"] = 1] = "Free";
138
139
  SAWBuyInType[SAWBuyInType["Points"] = 2] = "Points";
139
140
  SAWBuyInType[SAWBuyInType["Spins"] = 3] = "Spins";
140
141
  })(SAWBuyInType || (SAWBuyInType = {}));
141
- const SAWBuyInTypeName = {
142
- [SAWBuyInType.Free]: "free",
143
- [SAWBuyInType.Points]: "points",
144
- [SAWBuyInType.Spins]: "spins"
142
+ var SAWBuyInTypeName;
143
+ (function (SAWBuyInTypeName) {
144
+ SAWBuyInTypeName["Free"] = "free";
145
+ SAWBuyInTypeName["Points"] = "points";
146
+ SAWBuyInTypeName["Spins"] = "spins";
147
+ SAWBuyInTypeName["Unknown"] = "unknown";
148
+ })(SAWBuyInTypeName || (SAWBuyInTypeName = {}));
149
+ /** @hidden */
150
+ const SAWBuyInTypeNamed = type => {
151
+ return {
152
+ [SAWBuyInType.Free]: SAWBuyInTypeName.Free,
153
+ [SAWBuyInType.Points]: SAWBuyInTypeName.Points,
154
+ [SAWBuyInType.Spins]: SAWBuyInTypeName.Spins
155
+ }[type] || SAWBuyInTypeName.Unknown;
145
156
  };
146
157
 
147
158
  class SAWUtils {}
@@ -183,6 +194,7 @@ var SAWAskForUsername;
183
194
  SAWAskForUsername["ONSUMBIT"] = "on-submit";
184
195
  })(SAWAskForUsername || (SAWAskForUsername = {}));
185
196
 
197
+ /** @hidden */
186
198
  var SAWGameType;
187
199
  (function (SAWGameType) {
188
200
  SAWGameType[SAWGameType["SpinAWheel"] = 1] = "SpinAWheel";
@@ -190,13 +202,25 @@ var SAWGameType;
190
202
  SAWGameType[SAWGameType["MatchX"] = 3] = "MatchX";
191
203
  SAWGameType[SAWGameType["GiftBox"] = 4] = "GiftBox";
192
204
  })(SAWGameType || (SAWGameType = {}));
193
- const SAWGameTypeName = {
194
- [SAWGameType.SpinAWheel]: "wheel",
195
- [SAWGameType.ScratchCard]: "scratch",
196
- [SAWGameType.MatchX]: "matchx",
197
- [SAWGameType.GiftBox]: "giftbox"
205
+ var SAWGameTypeName;
206
+ (function (SAWGameTypeName) {
207
+ SAWGameTypeName["SpinAWheel"] = "wheel";
208
+ SAWGameTypeName["ScratchCard"] = "scratch";
209
+ SAWGameTypeName["MatchX"] = "matchx";
210
+ SAWGameTypeName["GiftBox"] = "giftbox";
211
+ SAWGameTypeName["Unknown"] = "unknown";
212
+ })(SAWGameTypeName || (SAWGameTypeName = {}));
213
+ /** @hidden */
214
+ const SAWGameTypeNamed = type => {
215
+ return {
216
+ [SAWGameType.SpinAWheel]: SAWGameTypeName.SpinAWheel,
217
+ [SAWGameType.ScratchCard]: SAWGameTypeName.ScratchCard,
218
+ [SAWGameType.MatchX]: SAWGameTypeName.MatchX,
219
+ [SAWGameType.GiftBox]: SAWGameTypeName.GiftBox
220
+ }[type] || SAWGameTypeName.Unknown;
198
221
  };
199
222
 
223
+ /** @hidden */
200
224
  var SAWPrizeType;
201
225
  (function (SAWPrizeType) {
202
226
  SAWPrizeType[SAWPrizeType["NO_PRIZE"] = 1] = "NO_PRIZE";
@@ -206,6 +230,59 @@ var SAWPrizeType;
206
230
  SAWPrizeType[SAWPrizeType["SPIN"] = 5] = "SPIN";
207
231
  SAWPrizeType[SAWPrizeType["JACKPOT"] = 6] = "JACKPOT";
208
232
  })(SAWPrizeType || (SAWPrizeType = {}));
233
+ var MiniGamePrizeTypeName;
234
+ (function (MiniGamePrizeTypeName) {
235
+ MiniGamePrizeTypeName["NO_PRIZE"] = "no-prize";
236
+ MiniGamePrizeTypeName["POINTS"] = "points";
237
+ MiniGamePrizeTypeName["BONUS"] = "bonus";
238
+ MiniGamePrizeTypeName["MANUAL"] = "manual";
239
+ MiniGamePrizeTypeName["SPIN"] = "spin";
240
+ MiniGamePrizeTypeName["JACKPOT"] = "jackpot";
241
+ MiniGamePrizeTypeName["UNKNOWN"] = "unknown";
242
+ })(MiniGamePrizeTypeName || (MiniGamePrizeTypeName = {}));
243
+ /** @hidden */
244
+ const MiniGamePrizeTypeNamed = type => {
245
+ return {
246
+ [SAWPrizeType.NO_PRIZE]: MiniGamePrizeTypeName.NO_PRIZE,
247
+ [SAWPrizeType.POINTS]: MiniGamePrizeTypeName.POINTS,
248
+ [SAWPrizeType.BONUS]: MiniGamePrizeTypeName.BONUS,
249
+ [SAWPrizeType.MANUAL]: MiniGamePrizeTypeName.MANUAL,
250
+ [SAWPrizeType.SPIN]: MiniGamePrizeTypeName.SPIN,
251
+ [SAWPrizeType.JACKPOT]: MiniGamePrizeTypeName.JACKPOT
252
+ }[type] || MiniGamePrizeTypeName.UNKNOWN;
253
+ };
254
+
255
+ const SAWTemplatesTransform = items => {
256
+ return items.map(r => {
257
+ var _r$saw_skin_ui_defini, _r$saw_skin_ui_defini2;
258
+ const x = {
259
+ id: r.saw_template_id,
260
+ name: r.saw_template_ui_definition.name,
261
+ description: r.saw_template_ui_definition.description,
262
+ thumbnail: (_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`,
263
+ over_limit_message: r.saw_template_ui_definition.over_limit_message,
264
+ no_attempts_message: r.saw_template_ui_definition.no_attempts_message,
265
+ jackpot_symbol: r.saw_template_ui_definition.jackpot_symbol,
266
+ saw_game_type: SAWGameTypeNamed[r.saw_game_type_id],
267
+ saw_buyin_type: SAWBuyInTypeNamed[r.saw_buyin_type_id],
268
+ buyin_cost_points: r.buyin_cost_points,
269
+ jackpot_add_on_attempt: r.jackpot_add_on_attempt,
270
+ jackpot_current: r.jackpot_current,
271
+ prizes: r.prizes.map(p => {
272
+ const y = {
273
+ id: p.saw_prize_id,
274
+ name: p.saw_prize_ui_definition.name,
275
+ prize_type: MiniGamePrizeTypeNamed(p.prize_type_id),
276
+ prize_value: p.prize_value,
277
+ font_size: p.saw_prize_ui_definition.font_size,
278
+ icon: p.saw_prize_ui_definition.icon
279
+ };
280
+ return y;
281
+ })
282
+ };
283
+ return x;
284
+ });
285
+ };
209
286
 
210
287
  var SAWSpinErrorCode;
211
288
  (function (SAWSpinErrorCode) {
@@ -378,6 +455,18 @@ var BuyStoreItemErrorCode;
378
455
  BuyStoreItemErrorCode[BuyStoreItemErrorCode["SHOP_FAILED_MAX_BOUGHT_ITEMS_REACHED"] = 11006] = "SHOP_FAILED_MAX_BOUGHT_ITEMS_REACHED";
379
456
  })(BuyStoreItemErrorCode || (BuyStoreItemErrorCode = {}));
380
457
 
458
+ const StoreCategoryTransform = items => {
459
+ return items.map(r => {
460
+ var _r$publicMeta, _r$publicMeta2;
461
+ const x = {
462
+ id: r.id,
463
+ name: (_r$publicMeta = r.publicMeta) == null ? void 0 : _r$publicMeta.name,
464
+ order: (_r$publicMeta2 = r.publicMeta) == null ? void 0 : _r$publicMeta2.order
465
+ };
466
+ return x;
467
+ });
468
+ };
469
+
381
470
  var StoreItemType;
382
471
  (function (StoreItemType) {
383
472
  StoreItemType[StoreItemType["Bonus"] = 1] = "Bonus";
@@ -495,17 +584,28 @@ var TournamentRegistrationStatus;
495
584
  TournamentRegistrationStatus[TournamentRegistrationStatus["REGISTERED_PENDING_QUALIFICATION"] = 5] = "REGISTERED_PENDING_QUALIFICATION";
496
585
  TournamentRegistrationStatus[TournamentRegistrationStatus["QUALIFIED_PENDING_REGISTRATION"] = 6] = "QUALIFIED_PENDING_REGISTRATION";
497
586
  })(TournamentRegistrationStatus || (TournamentRegistrationStatus = {}));
587
+ var TournamentRegistrationStatusName;
588
+ (function (TournamentRegistrationStatusName) {
589
+ TournamentRegistrationStatusName["NOT_REGISTERED"] = "NOT_REGISTERED";
590
+ TournamentRegistrationStatusName["REGISTERED"] = "REGISTERED";
591
+ TournamentRegistrationStatusName["FINISHED"] = "FINISHED";
592
+ TournamentRegistrationStatusName["PENDING"] = "PENDING";
593
+ TournamentRegistrationStatusName["CANCELLED"] = "CANCELLED";
594
+ TournamentRegistrationStatusName["REGISTERED_PENDING_QUALIFICATION"] = "REGISTERED_PENDING_QUALIFICATION";
595
+ TournamentRegistrationStatusName["QUALIFIED_PENDING_REGISTRATION"] = "QUALIFIED_PENDING_REGISTRATION";
596
+ TournamentRegistrationStatusName["UNKNOWN"] = "UNKNOWN";
597
+ })(TournamentRegistrationStatusName || (TournamentRegistrationStatusName = {}));
498
598
  /** @hidden */
499
- const TournamentRegistrationStatusName = type => {
599
+ const TournamentRegistrationStatusNamed = type => {
500
600
  return {
501
- [TournamentRegistrationStatus.CANCELLED]: 'CANCELLED',
502
- [TournamentRegistrationStatus.FINISHED]: 'FINISHED',
503
- [TournamentRegistrationStatus.NOT_REGISTERED]: 'NOT_REGISTERED',
504
- [TournamentRegistrationStatus.PENDING]: 'PENDING',
505
- [TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION]: 'QUALIFIED_PENDING_REGISTRATION',
506
- [TournamentRegistrationStatus.REGISTERED]: 'REGISTERED',
507
- [TournamentRegistrationStatus.REGISTERED_PENDING_QUALIFICATION]: 'REGISTERED_PENDING_QUALIFICATION'
508
- }[type] || 'UNKNOWN';
601
+ [TournamentRegistrationStatus.CANCELLED]: TournamentRegistrationStatusName.CANCELLED,
602
+ [TournamentRegistrationStatus.FINISHED]: TournamentRegistrationStatusName.FINISHED,
603
+ [TournamentRegistrationStatus.NOT_REGISTERED]: TournamentRegistrationStatusName.NOT_REGISTERED,
604
+ [TournamentRegistrationStatus.PENDING]: TournamentRegistrationStatusName.PENDING,
605
+ [TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION]: TournamentRegistrationStatusName.QUALIFIED_PENDING_REGISTRATION,
606
+ [TournamentRegistrationStatus.REGISTERED]: TournamentRegistrationStatusName.REGISTERED,
607
+ [TournamentRegistrationStatus.REGISTERED_PENDING_QUALIFICATION]: TournamentRegistrationStatusName.REGISTERED_PENDING_QUALIFICATION
608
+ }[type] || TournamentRegistrationStatusName.UNKNOWN;
509
609
  };
510
610
 
511
611
  const TournamentItemsTransform = items => {
@@ -530,7 +630,7 @@ const TournamentItemsTransform = items => {
530
630
  is_user_registered: r.isUserRegistered,
531
631
  players_min_count: r.playersMinCount,
532
632
  players_max_count: r.playersMaxCount,
533
- registration_status: TournamentRegistrationStatusName(r.tournamentRegistrationStatus),
633
+ registration_status: TournamentRegistrationStatusNamed(r.tournamentRegistrationStatus),
534
634
  registration_type: TournamentRegistrationTypeGetName(r.registrationType),
535
635
  registration_cost_points: r.buyInAmount,
536
636
  duration_ms: r.durationMs,
@@ -695,6 +795,14 @@ class WSAPI {
695
795
  async getStoreItems() {
696
796
  return this.api.storeGetItemsT(null);
697
797
  }
798
+ /** Returns store categories */
799
+ async getStoreCategories() {
800
+ return this.api.storeGetItemsT(null);
801
+ }
802
+ /** Returns the list of mini-games available for user */
803
+ async getMiniGames() {
804
+ return this.api.sawGetTemplatesT(null);
805
+ }
698
806
  /** Returns all the active instances of tournaments */
699
807
  async getTournamentsList() {
700
808
  return this.api.tournamentsGetLobbyT(null);
@@ -738,24 +846,27 @@ class SmarticoAPI {
738
846
  this.avatarDomain = SmarticoAPI.getAvatarUrl(label_api_key || ((_options$tracker = options.tracker) == null ? void 0 : _options$tracker.label_api_key));
739
847
  this.label_api_key = SmarticoAPI.getCleanLabelApiKey(label_api_key);
740
848
  }
741
- static getEnvId(label_api_key) {
849
+ static getEnvDnsSuffix(label_api_key) {
742
850
  let ENV_ID = label_api_key.length === 38 ? label_api_key.substring(37, 38) : '';
743
851
  if (ENV_ID === '1' || ENV_ID === '2') {
744
852
  ENV_ID = '';
745
853
  }
746
854
  return ENV_ID;
747
855
  }
856
+ static getEnvId(label_api_key) {
857
+ return label_api_key.length === 38 ? parseInt(label_api_key.substring(37, 38), 10) : 2;
858
+ }
748
859
  static getCleanLabelApiKey(label_api_key) {
749
860
  return label_api_key.substring(0, 36);
750
861
  }
751
862
  static getPublicUrl(label_api_key) {
752
- return PUBLIC_API_URL.replace('{ENV_ID}', SmarticoAPI.getEnvId(label_api_key));
863
+ return PUBLIC_API_URL.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));
753
864
  }
754
865
  static getPublicWsUrl(label_api_key) {
755
- return C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvId(label_api_key));
866
+ return C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));
756
867
  }
757
868
  static getAvatarUrl(label_api_key) {
758
- return AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvId(label_api_key));
869
+ return AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));
759
870
  }
760
871
  async send(message, expectCID) {
761
872
  if (this.logCIDs.includes(message.cid)) {
@@ -916,6 +1027,9 @@ class SmarticoAPI {
916
1027
  }
917
1028
  return response;
918
1029
  }
1030
+ async sawGetTemplatesT(user_ext_id) {
1031
+ return SAWTemplatesTransform((await this.sawGetTemplates(user_ext_id)).templates);
1032
+ }
919
1033
  async sawSpinRequest(user_ext_id, saw_template_id, round_id) {
920
1034
  const message = this.buildMessage(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {
921
1035
  saw_template_id,
@@ -952,6 +1066,13 @@ class SmarticoAPI {
952
1066
  async storeGetItemsT(user_ext_id) {
953
1067
  return StoreItemTransform((await this.storeGetItems(user_ext_id)).items);
954
1068
  }
1069
+ async storeGetCategories(user_ext_id) {
1070
+ const message = this.buildMessage(user_ext_id, ClassId.GET_SHOP_CATEGORIES_REQUEST);
1071
+ return await this.send(message, ClassId.GET_SHOP_CATEGORIES_RESPONSE);
1072
+ }
1073
+ async storeGetCategoriesT(user_ext_id) {
1074
+ return StoreCategoryTransform((await this.storeGetCategories(user_ext_id)).categories);
1075
+ }
955
1076
  async missionsGetItems(user_ext_id) {
956
1077
  const message = this.buildMessage(user_ext_id, ClassId.GET_ACHIEVEMENT_MAP_REQUEST);
957
1078
  const response = await this.send(message, ClassId.GET_ACHIEVEMENT_MAP_RESPONSE);
@@ -1066,5 +1187,5 @@ var LeaderBoardPeriodType;
1066
1187
  LeaderBoardPeriodType[LeaderBoardPeriodType["MONTHLY"] = 3] = "MONTHLY";
1067
1188
  })(LeaderBoardPeriodType || (LeaderBoardPeriodType = {}));
1068
1189
 
1069
- export { AchievementStatus, AchievementTaskType, AchievementType, ActivityTypeLimited, BuyStoreItemErrorCode, ClassId, CookieStore, CoreUtils, GetLevelMapResponseTransform, InboxMessageType, LeaderBoardPeriodType, PublicLabelSettings, SAWAcknowledgeType, SAWAskForUsername, SAWBuyInType, SAWBuyInTypeName, SAWGameType, SAWGameTypeName, SAWPrizeType, SAWSpinErrorCode, SAWUtils, SAWWinSoundFiles, SAWWinSoundType, SmarticoAPI, StoreItemTransform, StoreItemType, TournamentInstanceStatus, TournamentInstanceStatusName, TournamentItemsTransform, TournamentRegistrationError, TournamentRegistrationStatus, TournamentRegistrationStatusName, TournamentRegistrationType, TournamentRegistrationTypeGetName, TournamentType, TournamentUtils, TranslationArea, UserAchievementTransform, tournamentInfoItemTransform };
1190
+ export { AchievementStatus, AchievementTaskType, AchievementType, ActivityTypeLimited, BuyStoreItemErrorCode, ClassId, CookieStore, CoreUtils, GetLevelMapResponseTransform, InboxMessageType, LeaderBoardPeriodType, MiniGamePrizeTypeName, MiniGamePrizeTypeNamed, PublicLabelSettings, SAWAcknowledgeType, SAWAskForUsername, SAWBuyInType, SAWBuyInTypeName, SAWBuyInTypeNamed, SAWGameType, SAWGameTypeName, SAWGameTypeNamed, SAWPrizeType, SAWSpinErrorCode, SAWTemplatesTransform, SAWUtils, SAWWinSoundFiles, SAWWinSoundType, SmarticoAPI, StoreCategoryTransform, StoreItemTransform, StoreItemType, TournamentInstanceStatus, TournamentInstanceStatusName, TournamentItemsTransform, TournamentRegistrationError, TournamentRegistrationStatus, TournamentRegistrationStatusName, TournamentRegistrationStatusNamed, TournamentRegistrationType, TournamentRegistrationTypeGetName, TournamentType, TournamentUtils, TranslationArea, UserAchievementTransform, tournamentInfoItemTransform };
1070
1191
  //# sourceMappingURL=index.modern.mjs.map