@smartico/public-api 0.0.142 → 0.0.143

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 (33) hide show
  1. package/README.md +14 -1
  2. package/dist/CustomSections/AchCustomSection.d.ts +27 -0
  3. package/dist/CustomSections/GetCustomSectionsRequest.d.ts +3 -0
  4. package/dist/CustomSections/GetCustomSectionsResponse.d.ts +7 -0
  5. package/dist/CustomSections/UICustomSection.d.ts +15 -0
  6. package/dist/CustomSections/index.d.ts +4 -0
  7. package/dist/Missions/AchievementPublicMeta.d.ts +1 -0
  8. package/dist/Missions/UserAchievement.d.ts +1 -0
  9. package/dist/SmarticoAPI.d.ts +4 -1
  10. package/dist/WSAPI/WSAPI.d.ts +22 -1
  11. package/dist/WSAPI/WSAPITypes.d.ts +25 -0
  12. package/dist/index.js +202 -98
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.modern.mjs +83 -1
  15. package/dist/index.modern.mjs.map +1 -1
  16. package/docs/README.md +1 -0
  17. package/docs/classes/WSAPI.md +29 -0
  18. package/docs/enums/AchCustomLayoutTheme.md +27 -0
  19. package/docs/enums/AchCustomSectionType.md +43 -0
  20. package/docs/enums/AchMissionsTabsOptions.md +21 -0
  21. package/docs/enums/AchOverviewMissionsFilter.md +33 -0
  22. package/docs/interfaces/TUICustomSection.md +85 -0
  23. package/package.json +1 -1
  24. package/src/CustomSections/AchCustomSection.ts +30 -0
  25. package/src/CustomSections/GetCustomSectionsRequest.ts +5 -0
  26. package/src/CustomSections/GetCustomSectionsResponse.ts +7 -0
  27. package/src/CustomSections/UICustomSection.ts +34 -0
  28. package/src/CustomSections/index.ts +4 -0
  29. package/src/Missions/AchievementPublicMeta.ts +1 -0
  30. package/src/Missions/UserAchievement.ts +3 -1
  31. package/src/SmarticoAPI.ts +12 -2
  32. package/src/WSAPI/WSAPI.ts +26 -1
  33. package/src/WSAPI/WSAPITypes.ts +27 -0
package/docs/README.md CHANGED
@@ -56,6 +56,7 @@
56
56
  - [LeaderBoardUserT](interfaces/LeaderBoardUserT.md)
57
57
  - [UserLevelExtraCountersT](interfaces/UserLevelExtraCountersT.md)
58
58
  - [TSegmentCheckResult](interfaces/TSegmentCheckResult.md)
59
+ - [TTUICustomSection](interfaces/TUICustomSection.md)
59
60
 
60
61
  ## General API
61
62
 
@@ -189,6 +189,7 @@ _smartico.api.getStoreItems().then((result) => {
189
189
  _smartico.vapi('EN').getStoreItems().then((result) => {
190
190
  console.log(result);
191
191
  });
192
+ ```
192
193
 
193
194
  #### Returns
194
195
 
@@ -240,6 +241,7 @@ _smartico.api.getStoreCategories().then((result) => {
240
241
  _smartico.vapi('EN').getStoreCategories().then((result) => {
241
242
  console.log(result);
242
243
  });
244
+ ```
243
245
 
244
246
  #### Returns
245
247
 
@@ -305,6 +307,33 @@ _smartico.vapi('EN').getAchCategories().then((result) => {
305
307
 
306
308
  ___
307
309
 
310
+ ### getCustomSections
311
+
312
+ ▸ **getCustomSections**(): `Promise`<[`TUICustomSection`](../interfaces/TUICustomSection.md)[]\>
313
+
314
+ Returns all custom sections available for the label
315
+
316
+ **Example**:
317
+ ```
318
+ _smartico.api.getCustomSections().then((result) => {
319
+ console.log(result);
320
+ });
321
+ ```
322
+
323
+ **Example in the Visitor mode**:
324
+ ```
325
+ _smartico.vapi('EN').getCustomSections().then((result) => {
326
+ console.log(result);
327
+ });
328
+ ```
329
+
330
+ #### Returns
331
+
332
+ `Promise`<[`TUICustomSection`](../interfaces/TUICustomSection.md)[]\>
333
+
334
+ ___
335
+
336
+
308
337
  ### getMiniGames
309
338
 
310
339
  ▸ **getMiniGames**(`«destructured»?`): `Promise`<[`TMiniGameTemplate`](../interfaces/TMiniGameTemplate.md)[]\>
@@ -0,0 +1,27 @@
1
+ # Enumeration: AchCustomLayoutTheme
2
+
3
+ ## Enumeration Members
4
+
5
+ ### VALENTINES_LIGHT
6
+
7
+ • **VALENTINES_LIGHT** = ``valentines-light``
8
+
9
+ ___
10
+
11
+ ### VALENTINES_DARK
12
+
13
+ • **VALENTINES_DARK** = ``valentines-dark``
14
+
15
+ ___
16
+
17
+ ### EURO_2024
18
+
19
+ • **EURO_2024** = ``euro-2024``
20
+
21
+ ___
22
+
23
+ ### GENERIC
24
+
25
+ • **GENERIC** = ``generic``
26
+
27
+ ___
@@ -0,0 +1,43 @@
1
+ # Enumeration: AchCustomSectionType
2
+
3
+ ## Enumeration Members
4
+
5
+ ### HTML_PAGE
6
+
7
+ • **HTML_PAGE** = ``1``
8
+
9
+ ___
10
+
11
+ ### MISSIONS_CATEGORY
12
+
13
+ • **MISSIONS_CATEGORY** = ``2``
14
+
15
+ ___
16
+
17
+ ### TOURNAMENTS_CATEGORY
18
+
19
+ • **TOURNAMENTS_CATEGORY** = ``3``
20
+
21
+ ___
22
+
23
+ ### LEVELS
24
+
25
+ • **LEVELS** = ``4``
26
+
27
+ ___
28
+
29
+ ### MINI_GAMES
30
+
31
+ • **MINI_GAMES** = ``5``
32
+
33
+ ___
34
+
35
+ ### MISSION_CUSTOM_LAYOUT
36
+
37
+ • **MISSION_CUSTOM_LAYOUT** = ``6``
38
+
39
+ ___
40
+
41
+ ### MATCH_X
42
+
43
+ • **MATCH_X** = ``7``
@@ -0,0 +1,21 @@
1
+ # Enumeration: AchMissionsTabsOptions
2
+
3
+ ## Enumeration Members
4
+
5
+ ### ONLY_OVERVIEW
6
+
7
+ • **ONLY_OVERVIEW** = ``1``
8
+
9
+ ___
10
+
11
+ ### NO_OVERVIEW
12
+
13
+ • **NO_OVERVIEW** = ``2``
14
+
15
+ ___
16
+
17
+ ### ALL
18
+
19
+ • **ALL** = ``3``
20
+
21
+ ___
@@ -0,0 +1,33 @@
1
+ # Enumeration: AchOverviewMissionsFilter
2
+
3
+ ## Enumeration Members
4
+
5
+ ### ANY
6
+
7
+ • **ANY** = ``1``
8
+
9
+ ___
10
+
11
+ ### ALL_MISSIONS
12
+
13
+ • **ALL_MISSIONS** = ``2``
14
+
15
+ ___
16
+
17
+ ### ALL_EXCEPT_COMPLETED
18
+
19
+ • **ALL_EXCEPT_COMPLETED** = ``3``
20
+
21
+ ___
22
+
23
+ ### ALL_EXCEPT_LOCKED
24
+
25
+ • **ALL_EXCEPT_LOCKED** = ``4``
26
+
27
+ ___
28
+
29
+ ### ALL_EXCEPT_COMPLETED_AND_LOCKED
30
+
31
+ • **ALL_EXCEPT_COMPLETED_AND_LOCKED** = ``5``
32
+
33
+ ___
@@ -0,0 +1,85 @@
1
+ # Interface: TUICustomSection
2
+
3
+ TUICustomSection describes the information of the custom sections defined in the system
4
+
5
+ ## Properties
6
+
7
+ ### body
8
+
9
+ • **body**: `string`
10
+
11
+ The body of the custom section
12
+
13
+ ___
14
+
15
+ ### menu_img
16
+
17
+ • **menu_img**: `string`
18
+
19
+ The image of the custom section
20
+
21
+ ___
22
+
23
+ ### menu_name
24
+
25
+ • **menu_name**: `string`
26
+
27
+ The name of the custom section
28
+
29
+ ___
30
+
31
+ ### custom_skin_images
32
+
33
+ • **custom_skin_images**: `string`
34
+
35
+ Custom images for custom section
36
+
37
+ ___
38
+
39
+ ### section_type_id
40
+
41
+ • **section_type_id**: [`AchCustomSectionType`](../enums/AchCustomSectionType.md)
42
+
43
+ The particular type of custom section, can be Missions, Tournaments, Lootbox and etc
44
+
45
+ ___
46
+
47
+ ### theme
48
+
49
+ • **theme**: [`AchCustomLayoutTheme`](../enums/AchCustomLayoutTheme.md)
50
+
51
+ Theme of the custom section
52
+
53
+ ___
54
+
55
+ ### generic_custom_css
56
+
57
+ • **generic_custom_css**: `string`
58
+
59
+ Custom css for the custom section
60
+
61
+ ___
62
+
63
+ ### mission\_tabs\_options
64
+
65
+ • **mission\_tabs\_options**: [`AchMissionsTabsOptions`](../enums/AchMissionsTabsOptions.md)
66
+
67
+ Tabs that can be shown in custom section, e.g Overview, No Overview, All tabs
68
+
69
+ ___
70
+
71
+ ### overview\_missions\_filter
72
+
73
+ • **overview\_missions\_filter**: [`AchOverviewMissionsFilter`](../enums/AchOverviewMissionsFilter.md)
74
+
75
+ Filter that allow to show missions by criteria
76
+
77
+ ___
78
+
79
+ ### overview\_missions\_count
80
+
81
+ • **overview\_missions\_count**: `number`
82
+
83
+ Quantity of missions to be shown in overview
84
+
85
+ ___
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartico/public-api",
3
- "version": "0.0.142",
3
+ "version": "0.0.143",
4
4
  "description": "Smartico public API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,30 @@
1
+ export enum AchCustomSectionType {
2
+ HTML_PAGE = 1,
3
+ MISSIONS_CATEGORY = 2,
4
+ TOURNAMENTS_CATEGORY = 3,
5
+ LEVELS = 4,
6
+ MINI_GAMES = 5,
7
+ MISSION_CUSTOM_LAYOUT = 6,
8
+ MATCH_X = 7,
9
+ }
10
+
11
+ export enum AchCustomLayoutTheme {
12
+ VALENTINES_LIGHT = 'valentines-light',
13
+ VALENTINES_DARK = 'valentines-dark',
14
+ EURO_2024 = 'euro-2024',
15
+ GENERIC = 'generic',
16
+ }
17
+
18
+ export enum AchMissionsTabsOptions {
19
+ ONLY_OVERVIEW = 1,
20
+ NO_OVERVIEW = 2,
21
+ ALL = 3,
22
+ }
23
+
24
+ export enum AchOverviewMissionsFilter {
25
+ ANY = 1,
26
+ ALL_MISSIONS = 2,
27
+ ALL_EXCEPT_COMPLETED = 3,
28
+ ALL_EXCEPT_LOCKED = 4,
29
+ ALL_EXCEPT_COMPLETED_AND_LOCKED = 5,
30
+ }
@@ -0,0 +1,5 @@
1
+ import { ProtocolMessage } from "../Base/ProtocolMessage";
2
+
3
+ export interface GetCustomSectionsRequest extends ProtocolMessage {
4
+
5
+ }
@@ -0,0 +1,7 @@
1
+ import { ProtocolResponse } from "../Base/ProtocolResponse";
2
+ import { UICustomSection } from "./UICustomSection";
3
+
4
+ export interface GetCustomSectionsResponse extends ProtocolResponse {
5
+
6
+ customSections: {[key: string]: UICustomSection};
7
+ }
@@ -0,0 +1,34 @@
1
+ import { TUICustomSection } from "../WSAPI/WSAPITypes";
2
+ import { AchCustomLayoutTheme, AchCustomSectionType, AchMissionsTabsOptions, AchOverviewMissionsFilter } from "./AchCustomSection";
3
+
4
+ export interface UICustomSection {
5
+
6
+ body?: string;
7
+ menu_img?: string;
8
+ menu_name?: string;
9
+ custom_skin_images?: string;
10
+ section_type_id?: AchCustomSectionType;
11
+ theme?: AchCustomLayoutTheme;
12
+ generic_custom_css?: string;
13
+ mission_tabs_options?: AchMissionsTabsOptions;
14
+ overview_missions_filter?: AchOverviewMissionsFilter;
15
+ overview_missions_count?: number;
16
+ }
17
+
18
+ export const UICustomSectionTransform = (items: UICustomSection[]): TUICustomSection[] => {
19
+ return items.filter(r => r.section_type_id !== undefined && r.section_type_id >= 1).map( r => {
20
+ const x: TUICustomSection = {
21
+ body: r.body,
22
+ menu_img: r.menu_img,
23
+ menu_name: r.menu_name,
24
+ section_type_id: r.section_type_id,
25
+ custom_skin_images: r.custom_skin_images,
26
+ generic_custom_css: r.generic_custom_css,
27
+ mission_tabs_options: r.mission_tabs_options,
28
+ overview_missions_count: r.overview_missions_count,
29
+ overview_missions_filter: r.overview_missions_filter,
30
+ theme: r.theme
31
+ }
32
+ return x;
33
+ })
34
+ }
@@ -0,0 +1,4 @@
1
+ export * from './AchCustomSection';
2
+ export * from './UICustomSection';
3
+ export * from './GetCustomSectionsRequest';
4
+ export * from './GetCustomSectionsResponse';
@@ -18,4 +18,5 @@ export interface AchievementPublicMeta {
18
18
  hint_text?: string;
19
19
  hide_badge_from_ui?: boolean;
20
20
  show_badge_first_task_completed?: boolean;
21
+ custom_section_type_id?: number;
21
22
  }
@@ -41,6 +41,7 @@ export interface UserAchievement {
41
41
  completed_today?: boolean;
42
42
  completed_this_week?: boolean;
43
43
  completed_this_month?: boolean;
44
+ custom_section_type_id?: number;
44
45
  }
45
46
 
46
47
 
@@ -103,7 +104,8 @@ export const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBa
103
104
  complete_date_ts: r.complete_date_ts,
104
105
  completed_today: completedToday,
105
106
  completed_this_week: completedThisWeek,
106
- completed_this_month: completedThisMonth
107
+ completed_this_month: completedThisMonth,
108
+ custom_section_type_id: r.ach_public_meta.custom_section_type_id,
107
109
  }
108
110
  return x;
109
111
  });
@@ -17,12 +17,13 @@ import { GetTournamentInfoRequest, GetTournamentInfoResponse, GetTournamentsRequ
17
17
  import { GetLeaderBoardsRequest, GetLeaderBoardsResponse, LeaderBoardDetails, LeaderBoardPeriodType } from "./Leaderboard";
18
18
  import { GetLevelMapResponse, GetLevelMapResponseTransform } from "./Level";
19
19
  import { WSAPI } from "./WSAPI/WSAPI";
20
- import { TInboxMessage, TInboxMessageBody, TLevel, TMiniGameTemplate, TMissionOrBadge, TStoreCategory, TAchCategory, TStoreItem, TTournament, TTournamentDetailed, LeaderBoardDetailsT, UserLevelExtraCountersT, TSegmentCheckResult } from "./WSAPI/WSAPITypes";
20
+ import { TInboxMessage, TInboxMessageBody, TLevel, TMiniGameTemplate, TMissionOrBadge, TStoreCategory, TAchCategory, TStoreItem, TTournament, TTournamentDetailed, LeaderBoardDetailsT, UserLevelExtraCountersT, TSegmentCheckResult, TUICustomSection } from "./WSAPI/WSAPITypes";
21
21
  import { getLeaderBoardTransform } from "./Leaderboard/LeaderBoards";
22
22
  import { GetAchievementsUserInfoResponse } from "./Core/GetAchievementsUserInfoResponse";
23
23
  import { CheckSegmentMatchResponse } from "./Core/CheckSegmentMatchResponse";
24
24
  import { CheckSegmentMatchRequest } from "./Core/CheckSegmentMatchRequest";
25
25
  import { GetJackpotsPotsRequest, GetJackpotsPotsResponse, GetJackpotsRequest, GetJackpotsResponse, JackpotDetails, JackpotPot, JackpotsOptinRequest, JackpotsOptinResponse, JackpotsOptoutRequest, JackpotsOptoutResponse } from "./Jackpots";
26
+ import { GetCustomSectionsRequest, GetCustomSectionsResponse, UICustomSectionTransform } from "./CustomSections";
26
27
 
27
28
  const PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';
28
29
  const C_SOCKET_PROD = 'wss://api{ENV_ID}.smartico.ai/websocket/services';
@@ -627,6 +628,15 @@ class SmarticoAPI {
627
628
  return GetLevelMapResponseTransform(await this.levelsGet(user_ext_id));
628
629
  }
629
630
 
631
+ public async getCustomSections(user_ext_id: string): Promise<GetCustomSectionsResponse> {
632
+ const message = this.buildMessage<GetCustomSectionsRequest, GetCustomSectionsResponse>(user_ext_id, ClassId.GET_CUSTOM_SECTIONS_REQUEST);
633
+ return await this.send<GetCustomSectionsResponse>(message, ClassId.GET_CUSTOM_SECTIONS_RESPONSE);
634
+ }
635
+
636
+ public async getCustomSectionsT(user_ext_id: string): Promise<TUICustomSection[]> {
637
+ return UICustomSectionTransform(Object.values((await this.getCustomSections(user_ext_id)).customSections));
638
+ }
639
+
630
640
  public async getTranslationsT(user_ext_id: string, lang_code: string, areas: TranslationArea[], cacheSec: number = 60): Promise<GetTranslationsResponse> {
631
641
  return await this.coreGetTranslations(user_ext_id, lang_code, areas, 30);
632
642
  }
@@ -720,7 +730,7 @@ class SmarticoAPI {
720
730
  return await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);
721
731
  }
722
732
 
723
-
733
+
724
734
  public getWSCalls(): WSAPI {
725
735
  return new WSAPI(this);
726
736
  }
@@ -3,7 +3,7 @@ import { CoreUtils } from "../Core";
3
3
  import { MiniGamePrizeTypeName, SAWDoSpinResponse, SAWSpinErrorCode, SAWSpinsCountPush } from "../MiniGames";
4
4
  import { ECacheContext, OCache } from "../OCache";
5
5
  import { SmarticoAPI } from "../SmarticoAPI";
6
- import { InboxMarkMessageAction, LeaderBoardDetailsT, TAchCategory, TBuyStoreItemResult, TGetTranslations, TInboxMessage, TInboxMessageBody, TLevel, TMiniGamePlayResult, TMiniGameTemplate, TMissionClaimRewardResult, TMissionOptInResult, TMissionOrBadge, TSegmentCheckResult, TStoreCategory, TStoreItem, TTournament, TTournamentDetailed, TTournamentRegistrationResult, TUserProfile, UserLevelExtraCountersT } from "./WSAPITypes";
6
+ import { InboxMarkMessageAction, LeaderBoardDetailsT, TAchCategory, TBuyStoreItemResult, TGetTranslations, TInboxMessage, TInboxMessageBody, TLevel, TMiniGamePlayResult, TMiniGameTemplate, TMissionClaimRewardResult, TMissionOptInResult, TMissionOrBadge, TSegmentCheckResult, TStoreCategory, TStoreItem, TTournament, TTournamentDetailed, TTournamentRegistrationResult, TUICustomSection, TUserProfile, UserLevelExtraCountersT } from "./WSAPITypes";
7
7
  import { LeaderBoardPeriodType } from "../Leaderboard";
8
8
  import { JackpotDetails, JackpotPot, JackpotWinPush, JackpotsOptinResponse, JackpotsOptoutRequest, JackpotsOptoutResponse } from "../Jackpots";
9
9
 
@@ -30,6 +30,7 @@ enum onUpdateContextKey {
30
30
  StoreHistory = 'storeHistory',
31
31
  Jackpots = 'jackpots',
32
32
  Pots = 'Pots',
33
+ CustomSections = 'customSections'
33
34
  }
34
35
 
35
36
 
@@ -200,6 +201,7 @@ export class WSAPI {
200
201
  * _smartico.vapi('EN').getStoreItems().then((result) => {
201
202
  * console.log(result);
202
203
  * });
204
+ * ```
203
205
  */
204
206
 
205
207
  public async getStoreItems(): Promise<TStoreItem[]> {
@@ -243,6 +245,7 @@ export class WSAPI {
243
245
  * _smartico.vapi('EN').getStoreCategories().then((result) => {
244
246
  * console.log(result);
245
247
  * });
248
+ * ```
246
249
  */
247
250
  public async getStoreCategories(): Promise<TStoreCategory[]> {
248
251
  return OCache.use(onUpdateContextKey.StoreCategories, ECacheContext.WSAPI, () => this.api.storeGetCategoriesT(null), CACHE_DATA_SEC);
@@ -292,6 +295,28 @@ export class WSAPI {
292
295
  return OCache.use(onUpdateContextKey.AchCategories, ECacheContext.WSAPI, () => this.api.achGetCategoriesT(null), CACHE_DATA_SEC);
293
296
  }
294
297
 
298
+ /**
299
+ * Returns list of custom sections
300
+ *
301
+ * **Example**:
302
+ * ```
303
+ * _smartico.api.getCustomSections().then((result) => {
304
+ * console.log(result);
305
+ * });
306
+ * ```
307
+ *
308
+ * **Example in the Visitor mode**:
309
+ * ```
310
+ * _smartico.vapi('EN').getCustomSections().then((result) => {
311
+ * console.log(result);
312
+ * });
313
+ * ```
314
+ *
315
+ * */
316
+ public async getCustomSections(): Promise<TUICustomSection[]> {
317
+ return OCache.use(onUpdateContextKey.CustomSections, ECacheContext.WSAPI, () => this.api.getCustomSectionsT(null), CACHE_DATA_SEC);
318
+ }
319
+
295
320
  /**
296
321
  * Returns the list of mini-games available for user
297
322
  * The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getMiniGames with a new onUpdate callback, the old one will be overwritten by the new one.
@@ -3,6 +3,7 @@ import { MiniGamePrizeTypeName, SAWBuyInTypeName, SAWGameTypeName, SAWSpinErrorC
3
3
  import { TournamentRegistrationError, TournamentRegistrationStatusName, TournamentRegistrationTypeName } from "../Tournaments";
4
4
  import { AchCategory } from "../Missions";
5
5
  import { LeaderBoardPeriodType } from "../Leaderboard";
6
+ import { AchCustomLayoutTheme, AchCustomSectionType, AchMissionsTabsOptions, AchOverviewMissionsFilter } from "../CustomSections";
6
7
 
7
8
  type TRibbon = 'sale' | 'hot' | 'new' | 'vip' | string
8
9
 
@@ -498,6 +499,9 @@ export interface TMissionOrBadge {
498
499
 
499
500
  /** Flag for mission/badge indicating that mission/badge completed this month */
500
501
  completed_this_month?: boolean;
502
+
503
+ /** ID of specific Custom Section type */
504
+ custom_section_type_id?: number;
501
505
  }
502
506
 
503
507
  export interface AchRelatedGame {
@@ -663,4 +667,27 @@ export interface UserLevelExtraCountersT {
663
667
  export interface TSegmentCheckResult {
664
668
  segment_id: number;
665
669
  is_matching: boolean;
670
+ }
671
+
672
+ export interface TUICustomSection {
673
+ /** The body of the custom section */
674
+ body?: string;
675
+ /** The image of the custom section */
676
+ menu_img?: string;
677
+ /** The name of the custom section */
678
+ menu_name?: string;
679
+ /** Custom images for custom section */
680
+ custom_skin_images?: string;
681
+ /** The particular type of custom section, can be Missions, Tournaments, Lootbox and etc */
682
+ section_type_id?: AchCustomSectionType;
683
+ /** Theme of the custom section */
684
+ theme?: AchCustomLayoutTheme;
685
+ /** Custom css for the custom section */
686
+ generic_custom_css?: string;
687
+ /** Tabs that can be shown in custom section, e.g Overview, No Overview, All tabs */
688
+ mission_tabs_options?: AchMissionsTabsOptions;
689
+ /** Filter that allow to show missions by criteria */
690
+ overview_missions_filter?: AchOverviewMissionsFilter;
691
+ /** Quantity of missions to be shown in overview */
692
+ overview_missions_count?: number;
666
693
  }