fansunited-sdk-esm 1.26.2 → 1.28.0

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 (39) hide show
  1. package/Core/Exception/ErrorStatuses.d.ts +2 -1
  2. package/Core/Global/Helper.d.ts +0 -1
  3. package/Core/Global/Messages/Messages.d.ts +3 -1
  4. package/Core/Https/ActivityHttps.d.ts +4 -3
  5. package/Core/Https/LoyaltyHttps.d.ts +5 -1
  6. package/Core/Https/PredictorHttps.d.ts +2 -2
  7. package/Core/Namespaces/Activity/Activity.d.ts +4 -3
  8. package/Core/Namespaces/Activity/Enums/ActionsEnum.d.ts +13 -1
  9. package/Core/Namespaces/Activity/Enums/UserActionsEnum.d.ts +7 -0
  10. package/Core/Namespaces/Activity/Facade/ActivityFacade.d.ts +4 -3
  11. package/Core/Namespaces/Activity/Models/ActivityResponseBody.d.ts +2 -0
  12. package/Core/Namespaces/Activity/Models/Filters/ActivityFilters.d.ts +5 -0
  13. package/Core/Namespaces/Activity/Models/Filters/OwnActivityFilters.d.ts +7 -0
  14. package/Core/Namespaces/Activity/Models/Filters/UserActivityFilters.d.ts +7 -0
  15. package/Core/Namespaces/Football/Facades/FootballFacade.d.ts +6 -3
  16. package/Core/Namespaces/Football/Football.d.ts +2 -1
  17. package/Core/Namespaces/Football/Models/Match/MatchBasicModel.d.ts +1 -0
  18. package/Core/Namespaces/Football/Models/Match/MatchFullModel.d.ts +1 -0
  19. package/Core/Namespaces/Football/Models/Player/PlayerBasicModel.d.ts +1 -0
  20. package/Core/Namespaces/Football/Models/Player/PlayerFullModel.d.ts +1 -0
  21. package/Core/Namespaces/Football/Models/Team/TeamBasicModel.d.ts +1 -0
  22. package/Core/Namespaces/Football/Models/Team/TeamFullModel.d.ts +1 -0
  23. package/Core/Namespaces/Loyalty/Facade/LoyaltyFacade.d.ts +5 -2
  24. package/Core/Namespaces/Loyalty/Loyalty.d.ts +5 -2
  25. package/Core/Namespaces/Loyalty/Models/EntitiesFollows/EntitiesFollows.d.ts +12 -0
  26. package/Core/Namespaces/Loyalty/Models/Filters/EntitiesFollowsFilters.d.ts +5 -0
  27. package/Core/Namespaces/Loyalty/Models/Template/TemplateByIdModel.d.ts +5 -0
  28. package/Core/Namespaces/Loyalty/Models/Template/TemplateRemapper.d.ts +2 -0
  29. package/Core/Namespaces/Loyalty/Service/LoyaltyService.d.ts +9 -1
  30. package/Core/Namespaces/MatchQuiz/Facade/MatchQuizFacade.d.ts +2 -2
  31. package/Core/Namespaces/MatchQuiz/MatchQuiz.d.ts +2 -2
  32. package/Core/Namespaces/TopX/Facade/TopXFacade.d.ts +2 -2
  33. package/Core/Namespaces/TopX/Models/Games/GameByIdModel.d.ts +6 -0
  34. package/Core/Namespaces/TopX/Models/Games/GamesRemapper.d.ts +2 -0
  35. package/Core/Namespaces/TopX/TopX.d.ts +2 -2
  36. package/index.js +4 -31
  37. package/index.js.map +3 -3
  38. package/package.json +1 -1
  39. package/Core/Namespaces/Activity/Models/ActivityFilters.d.ts +0 -8
@@ -6,5 +6,6 @@ export declare enum ErrorStatuses {
6
6
  INVALID_TYPE = "INVALID_TYPE",
7
7
  EXCEEDED_LENGTH = "EXCEEDED_LENGTH",
8
8
  INVALID_TOKEN = "invalid_token",
9
- UNAUTHORIZED = "unauthorized"
9
+ UNAUTHORIZED = "unauthorized",
10
+ INVALID_FILTERS = "invalid_filters"
10
11
  }
@@ -2,7 +2,6 @@ export declare const requestChunkBuild: (ids: string[]) => any;
2
2
  export declare const limitIds: (ids: string[], limit: number) => any;
3
3
  export declare const setBaseUrl: (environment: string, namespace: string) => string;
4
4
  export declare const transformIdsToBeUnique: (ids: string[]) => string[];
5
- export declare const remapKeysToCamelCase: (obj: any) => any;
6
5
  export declare const isDisabledCache: (disableCache: boolean) => boolean;
7
6
  export declare const initDisableCache: () => string;
8
7
  export declare const sortArrayInAscOrder: (array: string[]) => string[];
@@ -7,7 +7,9 @@ export declare enum ErrorMessages {
7
7
  QUERY_PARAM_FILTERS_LIMIT_EXCEEDED = "Maximum limit for filtering games is 50 or less.",
8
8
  INVALID_PREDICTION_FIELD = "Prediction field is invalid. For more information please visit our documentation",
9
9
  INVALID_TOKEN = "Invalid JWT token is provided",
10
- EXPIRED_TOKEN = "The provided JWT token is expired"
10
+ EXPIRED_TOKEN = "The provided JWT token is expired",
11
+ ENTITIES_NEEDED = "At least one of footballCompetitions, footballTeams or footballPlayers properties should be provided for filters.",
12
+ ENTITIES_FOLLOWS_FILTERS_EXCEEDED = "Maximum length per entity should be 10 or less."
11
13
  }
12
14
  export declare const WarningMessages: {
13
15
  UNEXPECTED_STATUS_PROP: string;
@@ -1,16 +1,17 @@
1
1
  import SDKConfiguraitonModel from "../Configurator/Models/SDKConfiguraitonModel";
2
- import ActivityFilters from "../Namespaces/Activity/Models/ActivityFilters";
3
2
  import ActivityResponseBody from "../Namespaces/Activity/Models/ActivityResponseBody";
4
3
  import PaginationActivities from "../Namespaces/Activity/Models/PaginationActivities";
5
4
  import CreateActivityRequestBody from "../Namespaces/Activity/Models/RequestBody/CreateActivityRequestBody";
6
5
  import ProfileStatsModel from "../Namespaces/Profile/Models/Stats/ProfileStatsModel";
7
6
  import Https from "./Https";
7
+ import OwnActivityFilters from "../Namespaces/Activity/Models/Filters/OwnActivityFilters";
8
+ import UserActivityFilters from "../Namespaces/Activity/Models/Filters/UserActivityFilters";
8
9
  export default class ActivityHttps extends Https {
9
10
  private activityRemapper;
10
11
  constructor(config: SDKConfiguraitonModel);
11
12
  createActivity: (requestBody: CreateActivityRequestBody) => Promise<ActivityResponseBody>;
12
13
  deleteActivity: (activityId: string) => Promise<boolean>;
13
- getOwnActivities: (filters: ActivityFilters, disableCache: boolean) => Promise<PaginationActivities>;
14
- getActivitiesForUser: (userId: string, filters: ActivityFilters, disableCache: boolean) => Promise<PaginationActivities>;
14
+ getOwnActivities: (filters: OwnActivityFilters, disableCache: boolean) => Promise<PaginationActivities>;
15
+ getActivitiesForUser: (userId: string, filters: UserActivityFilters, disableCache: boolean) => Promise<PaginationActivities>;
15
16
  getStats: (userId?: string, disableCache?: boolean) => Promise<ProfileStatsModel>;
16
17
  }
@@ -6,6 +6,9 @@ import RankingsFilters from "../Namespaces/Loyalty/Models/Filters/RankingsFilter
6
6
  import TemplateModel from "../Namespaces/Loyalty/Models/Template/TemplateModel";
7
7
  import HighestSuccessRateModel from "../Namespaces/Loyalty/Models/HighestSuccessRate/HighestSuccessRateModel";
8
8
  import Https from "./Https";
9
+ import EntitiesFollowsFilters from "../Namespaces/Loyalty/Models/Filters/EntitiesFollowsFilters";
10
+ import EntitiesFollows from "../Namespaces/Loyalty/Models/EntitiesFollows/EntitiesFollows";
11
+ import TemplateByIdModel from "../Namespaces/Loyalty/Models/Template/TemplateByIdModel";
9
12
  export default class LoyaltyHttps extends Https {
10
13
  private templateRemapper;
11
14
  private leaderboardRemapper;
@@ -13,9 +16,10 @@ export default class LoyaltyHttps extends Https {
13
16
  private highestSuccessRateRemapper;
14
17
  constructor(config: SDKConfiguraitonModel);
15
18
  getTemplates: (disableCache: boolean, isPaginated: boolean) => Promise<PaginationModel | TemplateModel[]>;
16
- getTemplateById: (templateId: string, disableCache: boolean) => Promise<TemplateModel>;
19
+ getTemplateById: (templateId: string, disableCache: boolean) => Promise<TemplateByIdModel>;
17
20
  getLeaderboard: (templateId: string, disableCache: boolean, filters: LoyaltyFilters) => Promise<PaginationModel>;
18
21
  getLeaderboardForGame: (gameId: string, disableCache: boolean, filters: LoyaltyFilters) => Promise<PaginationModel>;
19
22
  getUserRankings: (userId: string, filters: RankingsFilters, disableCache: boolean) => Promise<FootballPaginationModel>;
20
23
  getHighestSuccessRate: (market: string, disableCache: boolean) => Promise<HighestSuccessRateModel[]>;
24
+ getEntitiesFollows: (filters: EntitiesFollowsFilters, disableCache: boolean) => Promise<EntitiesFollows>;
21
25
  }
@@ -6,11 +6,11 @@ import PredictionsFilters from "../Namespaces/Predictor/Models/Predictions/Predi
6
6
  import GamesFilters from "../Namespaces/TopX/Models/Games/GamesFilters";
7
7
  import IdMappingService from "../IdMapping/IdMappingService";
8
8
  import TopXPredictionRequestModel from "../Namespaces/TopX/Models/Prediction/TopXPredictionRequestModel";
9
- import GamesListModel from "../Namespaces/TopX/Models/Games/GamesListModel";
10
9
  import PaginationModel from "../Global/Models/Pagination/PaginationModel";
11
10
  import MainFiltersBQ from "../Global/Models/Filters/MainFiltersBQ";
12
11
  import Https from "./Https";
13
12
  import ContestWinners from "../Namespaces/TopX/Models/Games/Winners/ContestWinners";
13
+ import GameByIdModel from "../Namespaces/TopX/Models/Games/GameByIdModel";
14
14
  export default class PredictorHttps extends Https {
15
15
  private predictionRemapper;
16
16
  private matchSummaryRemapper;
@@ -25,7 +25,7 @@ export default class PredictorHttps extends Https {
25
25
  getUserPredictions: (userId: string, disableCache: boolean, filters?: PredictionsFilters) => Promise<PaginationModel>;
26
26
  getUserPredictionsNoRemap: (userId: string, filters?: PredictionsFilters) => Promise<any>;
27
27
  getGames: (filters: GamesFilters, disableCache?: boolean) => Promise<PaginationModel>;
28
- getGameById: (gameId: string, disableCache: boolean) => Promise<GamesListModel>;
28
+ getGameById: (gameId: string, disableCache: boolean) => Promise<GameByIdModel>;
29
29
  getGamePredictions: (gameId: string, disableCache: boolean, filters?: PredictionsFilters) => Promise<PaginationModel>;
30
30
  getUserGameEditions: (filters: GamesFilters, disableCache: boolean) => Promise<PaginationModel>;
31
31
  getGameResults: (gameId: string, disableCache: boolean, filters?: MainFiltersBQ) => Promise<PaginationModel>;
@@ -1,11 +1,12 @@
1
1
  import SDKConfigurationModel from "../../Configurator/Models/SDKConfiguraitonModel";
2
2
  import { ActionsEnum } from "./Enums/ActionsEnum";
3
- import ActivityFilters from "./Models/ActivityFilters";
4
3
  import ActivityResponseBody from "./Models/ActivityResponseBody";
5
4
  import PaginationActivities from "./Models/PaginationActivities";
6
5
  import CampaignModel from "./Models/RequestBody/Context/CampaignModel";
7
6
  import ContentModel from "./Models/RequestBody/Context/ContentModel";
8
7
  import TagsModel from "./Models/RequestBody/Context/TagsModel";
8
+ import UserActivityFilters from "./Models/Filters/UserActivityFilters";
9
+ import OwnActivityFilters from "./Models/Filters/OwnActivityFilters";
9
10
  export default class Activity {
10
11
  private activityFacade;
11
12
  constructor(config: SDKConfigurationModel);
@@ -19,6 +20,6 @@ export default class Activity {
19
20
  addComment: (tags: TagsModel[], content?: ContentModel, campaign?: CampaignModel) => Promise<ActivityResponseBody>;
20
21
  addClickAd: (tags: TagsModel[], content?: ContentModel, campaign?: CampaignModel) => Promise<ActivityResponseBody>;
21
22
  addConversion: (tags: TagsModel[], content?: ContentModel, campaign?: CampaignModel) => Promise<ActivityResponseBody>;
22
- getOwn: (filters?: ActivityFilters, disableCache?: boolean) => Promise<PaginationActivities>;
23
- getForUser: (userId: string, filters?: ActivityFilters, disableCache?: boolean) => Promise<PaginationActivities>;
23
+ getOwn: (filters?: OwnActivityFilters, disableCache?: boolean) => Promise<PaginationActivities>;
24
+ getForUser: (userId: string, filters?: UserActivityFilters, disableCache?: boolean) => Promise<PaginationActivities>;
24
25
  }
@@ -6,5 +6,17 @@ export declare enum ActionsEnum {
6
6
  SHARE = "share",
7
7
  COMMENT = "comment",
8
8
  CLICK_AD = "click_ad",
9
- CONVERSION = "conversion"
9
+ CONVERSION = "conversion",
10
+ PREDICTION_MADE = "prediction_made",
11
+ CONVERT = "convert",
12
+ MANAGE_INTERESTS = "manage_interests",
13
+ GAME_PARTICIPATION = "game_participation",
14
+ ARTICLE_CONSUMED = "article_consumed",
15
+ VIDEO_CONSUMED = "video_consumed",
16
+ SHORT_VIDEO_CONSUMED = "short_video_consumed",
17
+ LONG_VIDEO_CONSUMED = "long_video_consumed",
18
+ AUDIO_CONSUMED = "audio_consumed",
19
+ GALLERY_CONSUMED = "gallery_consumed",
20
+ IMAGE_CONSUMED = "image_consumed",
21
+ POLL_PARTICIPATION = "poll_participation"
10
22
  }
@@ -0,0 +1,7 @@
1
+ export declare enum UserActionsEnum {
2
+ LIKE = "like",
3
+ DISLIKE = "dislike",
4
+ SHARE = "share",
5
+ COMMENT = "comment",
6
+ PREDICTION_MADE = "prediction_made"
7
+ }
@@ -1,11 +1,12 @@
1
1
  import SDKConfigurationModel from "../../../Configurator/Models/SDKConfiguraitonModel";
2
2
  import { ActionsEnum } from "../Enums/ActionsEnum";
3
- import ActivityFilters from "../Models/ActivityFilters";
4
3
  import ActivityResponseBody from "../Models/ActivityResponseBody";
5
4
  import PaginationActivities from "../Models/PaginationActivities";
6
5
  import CampaignModel from "../Models/RequestBody/Context/CampaignModel";
7
6
  import ContentModel from "../Models/RequestBody/Context/ContentModel";
8
7
  import TagsModel from "../Models/RequestBody/Context/TagsModel";
8
+ import OwnActivityFilters from "../Models/Filters/OwnActivityFilters";
9
+ import UserActivityFilters from "../Models/Filters/UserActivityFilters";
9
10
  export default class ActivityFacade {
10
11
  private idSchema;
11
12
  private activityHttps;
@@ -21,6 +22,6 @@ export default class ActivityFacade {
21
22
  addComment: (tags: TagsModel[], content?: ContentModel, campaign?: CampaignModel) => Promise<ActivityResponseBody>;
22
23
  addClickAd: (tags: TagsModel[], content?: ContentModel, campaign?: CampaignModel) => Promise<ActivityResponseBody>;
23
24
  addConversion: (tags: TagsModel[], content?: ContentModel, campaign?: CampaignModel) => Promise<ActivityResponseBody>;
24
- getOwn: (filters?: ActivityFilters, disableCache?: boolean) => Promise<PaginationActivities>;
25
- getForUser: (userId: string, filters?: ActivityFilters, disableCache?: boolean) => Promise<PaginationActivities>;
25
+ getOwn: (filters?: OwnActivityFilters, disableCache?: boolean) => Promise<PaginationActivities>;
26
+ getForUser: (userId: string, filters?: UserActivityFilters, disableCache?: boolean) => Promise<PaginationActivities>;
26
27
  }
@@ -2,6 +2,8 @@ import ContextModel from "./RequestBody/Context/ContextModel";
2
2
  export default class ActivityResponseBody {
3
3
  id: string;
4
4
  profileId: string;
5
+ property: string;
6
+ value: string;
5
7
  action: string;
6
8
  context: ContextModel;
7
9
  points: number;
@@ -0,0 +1,5 @@
1
+ export default class ActivityFilters {
2
+ page?: number;
3
+ limit?: number;
4
+ constructor(filters: any);
5
+ }
@@ -0,0 +1,7 @@
1
+ import { ActionsEnum } from "../../Enums/ActionsEnum";
2
+ import ActivityFilters from "./ActivityFilters";
3
+ export default class OwnActivityFilters extends ActivityFilters {
4
+ action?: ActionsEnum;
5
+ constructor(filters: any);
6
+ constructFilterUrl?(): string;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { UserActionsEnum } from "../../Enums/UserActionsEnum";
2
+ import ActivityFilters from "./ActivityFilters";
3
+ export default class UserActivityFilters extends ActivityFilters {
4
+ action?: UserActionsEnum;
5
+ constructor(filters: any);
6
+ constructFilterUrl?(): string;
7
+ }
@@ -1,12 +1,15 @@
1
1
  import LocalStorage from "../../../Global/LocalStorage";
2
2
  import FootballHttps from "../../../Https/FootballHttps";
3
3
  import IdMappingService from "../../../IdMapping/IdMappingService";
4
+ import CompetitionsFacade from "./CompetitionsFacade";
5
+ import TeamsFacade from "./TeamsFacade";
4
6
  import TeamBasicModel from "../Models/Team/TeamBasicModel";
5
7
  import TeamFullModel from "../Models/Team/TeamFullModel";
6
8
  import CompetitionBasicModel from "../Models/Competition/CompetitionBasicModel";
7
9
  import CompetitionFullModel from "../Models/Competition/CompetitionFullModel";
8
10
  import FootballCountryModel from "../Models/Country/FootballCountryModel";
9
11
  import MatchFullModel from "../Models/Match/MatchFullModel";
12
+ import PlayerFacade from "./PlayerFacade";
10
13
  import TopPlayerModel from "../Models/Player/TopPlayerModel";
11
14
  import PlayerFullModel from "../Models/Player/PlayerFullModel";
12
15
  import SearchModel from "../Models/Search/SearchModel";
@@ -20,9 +23,9 @@ import SDKConfigurationModel from "../../../Configurator/Models/SDKConfiguraiton
20
23
  import PlayerBasicModel from "../Models/Player/PlayerBasicModel";
21
24
  export default class FootballFacade {
22
25
  private countriesFacade;
23
- private competitionsFacade;
24
- private teamsFacade;
25
- private playerFacade;
26
+ competitionsFacade: CompetitionsFacade;
27
+ teamsFacade: TeamsFacade;
28
+ playerFacade: PlayerFacade;
26
29
  private matchFacade;
27
30
  private searchFacade;
28
31
  constructor(config: SDKConfigurationModel, localStorage: LocalStorage, https: FootballHttps, idMapping: IdMappingService);
@@ -1,4 +1,5 @@
1
1
  import SDKConfigurationModel from "../../Configurator/Models/SDKConfiguraitonModel";
2
+ import FootballFacade from "./Facades/FootballFacade";
2
3
  import FootballCountryModel from "../Football/Models/Country/FootballCountryModel";
3
4
  import CompetitionBasicModel from "./Models/Competition/CompetitionBasicModel";
4
5
  import CompetitionFullModel from "./Models/Competition/CompetitionFullModel";
@@ -18,7 +19,7 @@ export default class Football {
18
19
  private https;
19
20
  private idMapping;
20
21
  private localStorage;
21
- private footballFacade;
22
+ footballFacade: FootballFacade;
22
23
  constructor(config: SDKConfigurationModel);
23
24
  getCountries: (disableCache?: boolean) => Promise<FootballCountryModel[]>;
24
25
  getCompetitions: (filters?: CompetitionFilters, disableCache?: boolean) => Promise<CompetitionBasicModel[]>;
@@ -8,6 +8,7 @@ export default class MatchBasicModel {
8
8
  availableMarkets: string[];
9
9
  homeTeam: TeamBasicModel;
10
10
  awayTeam: TeamBasicModel;
11
+ isDeleted: boolean;
11
12
  lineupsConfirmed: boolean;
12
13
  startedAt: string;
13
14
  minute: string;
@@ -11,6 +11,7 @@ export default class MatchFullModel {
11
11
  finishedAt: string;
12
12
  updatedAt: string;
13
13
  availableMarkets: string[];
14
+ isDeleted: boolean;
14
15
  homeTeam: TeamBasicModel;
15
16
  awayTeam: TeamBasicModel;
16
17
  lineupsConfirmed: boolean;
@@ -9,5 +9,6 @@ export default class PlayerBasicModel {
9
9
  name: string;
10
10
  position: string;
11
11
  assets: {};
12
+ isDeleted: boolean;
12
13
  teams: TeamBasicModel[];
13
14
  }
@@ -10,6 +10,7 @@ export default class PlayerFullModel {
10
10
  name: string;
11
11
  position: string;
12
12
  assets: {};
13
+ isDeleted: boolean;
13
14
  competitions: CompetitionBasicModel[];
14
15
  teams: TeamBasicModel[];
15
16
  }
@@ -9,4 +9,5 @@ export default class TeamBasicModel {
9
9
  national: boolean;
10
10
  fullName: string;
11
11
  shortName: string;
12
+ isDeleted: boolean;
12
13
  }
@@ -13,6 +13,7 @@ export default class TeamFullModel {
13
13
  national: boolean;
14
14
  fullName: string;
15
15
  shortName: string;
16
+ isDeleted: boolean;
16
17
  colors: TeamColors;
17
18
  squad: PlayerSquadModel[];
18
19
  }
@@ -4,7 +4,6 @@ import ClientHttps from "../../../Https/ClientHttps";
4
4
  import LoyaltyHttps from "../../../Https/LoyaltyHttps";
5
5
  import LoyaltyFilters from "../Models/Filters/LoyaltyFilters";
6
6
  import ClientBadges from "../Models/Badges/ClientBadges";
7
- import TemplateModel from "../Models/Template/TemplateModel";
8
7
  import { FeaturesConfigModels } from "../../../Global/Types/GlobalTypes";
9
8
  import RankingsFilters from "../Models/Filters/RankingsFilters";
10
9
  import FootballPaginationModel from "../../Football/Models/Pagination/FootballPaginationModel";
@@ -12,6 +11,9 @@ import ProfileHttps from "../../../Https/ProfileHttps";
12
11
  import LocalStorage from "../../../Global/LocalStorage";
13
12
  import HighestSuccessRateModel from "../Models/HighestSuccessRate/HighestSuccessRateModel";
14
13
  import ContestWinners from "../../TopX/Models/Games/Winners/ContestWinners";
14
+ import EntitiesFollowsFilters from "../Models/Filters/EntitiesFollowsFilters";
15
+ import EntitiesFollows from "../Models/EntitiesFollows/EntitiesFollows";
16
+ import TemplateByIdModel from "../Models/Template/TemplateByIdModel";
15
17
  export default class LoyaltyFacade {
16
18
  private config;
17
19
  private clientHttps;
@@ -28,12 +30,13 @@ export default class LoyaltyFacade {
28
30
  getConfig: () => Promise<FeaturesConfigModels>;
29
31
  getClientBadges: () => Promise<ClientBadges>;
30
32
  getTemplates: (disableCache?: boolean) => Promise<PaginationModel>;
31
- getTemplateById: (templateId: string, disableCache?: boolean) => Promise<TemplateModel>;
33
+ getTemplateById: (templateId: string, disableCache?: boolean) => Promise<TemplateByIdModel>;
32
34
  getLeaderboard: (templateId: string, filters?: LoyaltyFilters, disableCache?: boolean) => Promise<PaginationModel>;
33
35
  getLeaderboardForGame: (gameId: string, filters: LoyaltyFilters, disableCache?: boolean) => Promise<PaginationModel>;
34
36
  getOwnRankings: (filters?: RankingsFilters, disableCache?: boolean) => Promise<FootballPaginationModel>;
35
37
  getUserRankings: (userId: string, filters?: RankingsFilters, disableCache?: boolean) => Promise<FootballPaginationModel>;
36
38
  getHighestSuccessRate: (market: string, disableCache: boolean) => Promise<HighestSuccessRateModel[]>;
37
39
  getTemplateWinners: (templateId: string) => Promise<ContestWinners>;
40
+ getEntitiesFollows: (filters: EntitiesFollowsFilters, disableCache: boolean) => Promise<EntitiesFollows>;
38
41
  private getModelsForUserRankings;
39
42
  }
@@ -2,11 +2,13 @@ import SDKConfigurationModel from "../../Configurator/Models/SDKConfiguraitonMod
2
2
  import PaginationModel from "../../Global/Models/Pagination/PaginationModel";
3
3
  import LoyaltyFilters from "./Models/Filters/LoyaltyFilters";
4
4
  import ClientBadges from "./Models/Badges/ClientBadges";
5
- import TemplateModel from "./Models/Template/TemplateModel";
6
5
  import { FeaturesConfigModels } from "../../Global/Types/GlobalTypes";
7
6
  import RankingsFilters from "./Models/Filters/RankingsFilters";
8
7
  import HighestSuccessRateModel from "./Models/HighestSuccessRate/HighestSuccessRateModel";
9
8
  import ContestWinners from "../TopX/Models/Games/Winners/ContestWinners";
9
+ import EntitiesFollowsFilters from "./Models/Filters/EntitiesFollowsFilters";
10
+ import EntitiesFollows from "./Models/EntitiesFollows/EntitiesFollows";
11
+ import TemplateByIdModel from "./Models/Template/TemplateByIdModel";
10
12
  export default class Loyalty {
11
13
  private clientHttps;
12
14
  private profileHttps;
@@ -17,11 +19,12 @@ export default class Loyalty {
17
19
  getConfig: () => Promise<FeaturesConfigModels>;
18
20
  getClientBadges: () => Promise<ClientBadges>;
19
21
  getTemplates: (disableCache?: boolean) => Promise<PaginationModel>;
20
- getTemplateById: (templateId: string, disableCache?: boolean) => Promise<TemplateModel>;
22
+ getTemplateById: (templateId: string, disableCache?: boolean) => Promise<TemplateByIdModel>;
21
23
  getLeaderboard: (templateId: string, filters?: LoyaltyFilters, disableCache?: boolean) => Promise<PaginationModel>;
22
24
  getLeaderboardForGame: (gameId: string, filters?: LoyaltyFilters, disableCache?: boolean) => Promise<PaginationModel>;
23
25
  getOwnRankings: (filters?: RankingsFilters, disableCache?: boolean) => Promise<import("../Football/Models/Pagination/FootballPaginationModel").default>;
24
26
  getUserRankings: (userId: string, filters?: RankingsFilters, disableCache?: boolean) => Promise<import("../Football/Models/Pagination/FootballPaginationModel").default>;
25
27
  getHighestSuccessRate: (market?: string, disableCache?: boolean) => Promise<HighestSuccessRateModel[]>;
26
28
  getTemplateWinners: (templateId: string) => Promise<ContestWinners>;
29
+ getEntitiesFollows: (filters: EntitiesFollowsFilters, disableCache?: boolean) => Promise<EntitiesFollows>;
27
30
  }
@@ -0,0 +1,12 @@
1
+ import CompetitionBasicModel from "../../../Football/Models/Competition/CompetitionBasicModel";
2
+ import PlayerBasicModel from "../../../Football/Models/Player/PlayerBasicModel";
3
+ import TeamBasicModel from "../../../Football/Models/Team/TeamBasicModel";
4
+ export interface EntitiesFollowsBreakdown {
5
+ id: string;
6
+ model: CompetitionBasicModel | TeamBasicModel | PlayerBasicModel;
7
+ count: number;
8
+ }
9
+ export default class EntitiesFollows {
10
+ count: number;
11
+ breakdown: EntitiesFollowsBreakdown[];
12
+ }
@@ -0,0 +1,5 @@
1
+ export default class EntitiesFollowsFilters {
2
+ footballCompetitions?: string[];
3
+ footballTeams?: string[];
4
+ footballPlayers?: string[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import TemplateModel from "./TemplateModel";
2
+ export default class TemplateByIdModel extends TemplateModel {
3
+ labels: Record<string, string>;
4
+ customFields: Record<string, string>;
5
+ }
@@ -1,6 +1,8 @@
1
+ import TemplateByIdModel from "./TemplateByIdModel";
1
2
  import TemplateModel from "./TemplateModel";
2
3
  export default class TemplateRemapper {
3
4
  remapResponse: (response: any[]) => TemplateModel[];
5
+ remapResponseId: (response: any) => TemplateByIdModel;
4
6
  remapMeta: (meta: any) => any;
5
7
  private remapRelated;
6
8
  }
@@ -4,16 +4,21 @@ import GamesListModel from "../../TopX/Models/Games/GamesListModel";
4
4
  import ContestWinners from "../../TopX/Models/Games/Winners/ContestWinners";
5
5
  import BadgesModel from "../Models/Badges/BadgesModel";
6
6
  import ClientBadges from "../Models/Badges/ClientBadges";
7
+ import EntitiesFollows from "../Models/EntitiesFollows/EntitiesFollows";
8
+ import EntitiesFollowsFilters from "../Models/Filters/EntitiesFollowsFilters";
7
9
  import HighestSuccessRateModel from "../Models/HighestSuccessRate/HighestSuccessRateModel";
8
10
  import LeaderboardModel from "../Models/Leaderboard/LeaderboardModel";
9
11
  import RankingsModel from "../Models/Rankings/RankingsModel";
12
+ import TemplateByIdModel from "../Models/Template/TemplateByIdModel";
10
13
  import TemplateModel from "../Models/Template/TemplateModel";
11
14
  import { FiltersType } from "../Types/LoyaltyTypes";
12
15
  export default class LoyaltyService {
13
16
  private idMappingService;
14
17
  private profileNamespace;
18
+ private footballNamespace;
19
+ private errorHandlingMode;
15
20
  constructor(config: SDKConfigurationModel);
16
- remapTemplatesIds: (templates: TemplateModel[]) => Promise<TemplateModel[]>;
21
+ remapTemplatesIds: (templates: TemplateModel[]) => Promise<TemplateModel[] | TemplateByIdModel[]>;
17
22
  addProfileModelToLeaderboad: (leaderboard: any[]) => Promise<LeaderboardModel[]>;
18
23
  buildClientBadges: (badges: BadgesModel) => ClientBadges;
19
24
  initFilters: (filters: any, type: FiltersType) => any;
@@ -21,5 +26,8 @@ export default class LoyaltyService {
21
26
  extractRankingsIdsMap: (rankings: RankingsModel[]) => string[][];
22
27
  setModelsForUserRankings: (topXGames: GamesListModel[], matchQuizGames: GamesListModel[], templates: TemplateModel[], userRankings: FootballPaginationModel) => FootballPaginationModel;
23
28
  completeContestWinners: (contestWinners: ContestWinners) => Promise<ContestWinners>;
29
+ validateEntitiesFollowsFilters: (filters: EntitiesFollowsFilters) => void;
30
+ remapEntitiesFollowsFilters: (filters: EntitiesFollowsFilters) => Promise<any>;
31
+ addModelsToEntitiesFollows: (entitiesFollows: EntitiesFollows) => Promise<EntitiesFollows>;
24
32
  private extractEnabledBadgesId;
25
33
  }
@@ -6,10 +6,10 @@ import PredictionsFilters from "../../Predictor/Models/Predictions/PredictionsFi
6
6
  import { FeaturesConfigModels } from "../../../Global/Types/GlobalTypes";
7
7
  import GameModel from "../../TopX/Models/Games/GameModel";
8
8
  import GamesFilters from "../../TopX/Models/Games/GamesFilters";
9
- import GamesListModel from "../../TopX/Models/Games/GamesListModel";
10
9
  import GameMarketsResults from "../Models/GameMarketsResults/GameMarketsResults";
11
10
  import MainFiltersBQ from "../../../Global/Models/Filters/MainFiltersBQ";
12
11
  import ContestWinners from "../../TopX/Models/Games/Winners/ContestWinners";
12
+ import GameByIdModel from "../../TopX/Models/Games/GameByIdModel";
13
13
  export default class MatchQuizFacade {
14
14
  private predictorHttps;
15
15
  private predictorService;
@@ -22,7 +22,7 @@ export default class MatchQuizFacade {
22
22
  play: (matchQuizPrediction: PredictionRequestModel) => Promise<PredictionResponseModel>;
23
23
  delete: (gameId: string) => Promise<boolean>;
24
24
  getGames: (filters?: GamesFilters, disableCache?: boolean) => Promise<PaginationModel>;
25
- getGameById: (gameId: string, disableCache?: boolean) => Promise<GamesListModel>;
25
+ getGameById: (gameId: string, disableCache?: boolean) => Promise<GameByIdModel>;
26
26
  getGamePredictions: (gameId: string, filters?: PredictionsFilters, disableCache?: boolean) => Promise<PaginationModel>;
27
27
  getGameResults: (gameId: string, filters?: MainFiltersBQ, disableCache?: boolean) => Promise<PaginationModel>;
28
28
  getCurrentGameResults: (disableCache?: boolean) => Promise<GameModel>;
@@ -6,10 +6,10 @@ import PredictionsFilters from "../Predictor/Models/Predictions/PredictionsFilte
6
6
  import { FeaturesConfigModels } from "../../Global/Types/GlobalTypes";
7
7
  import GameModel from "../TopX/Models/Games/GameModel";
8
8
  import GamesFilters from "../TopX/Models/Games/GamesFilters";
9
- import GamesListModel from "../TopX/Models/Games/GamesListModel";
10
9
  import GameMarketsResults from "./Models/GameMarketsResults/GameMarketsResults";
11
10
  import MainFiltersBQ from "../../Global/Models/Filters/MainFiltersBQ";
12
11
  import ContestWinners from "../TopX/Models/Games/Winners/ContestWinners";
12
+ import GameByIdModel from "../TopX/Models/Games/GameByIdModel";
13
13
  export default class MatchQuiz {
14
14
  private matchQuizFacade;
15
15
  constructor(config: SDKConfigurationModel);
@@ -17,7 +17,7 @@ export default class MatchQuiz {
17
17
  play: (matchQuizPrediction: PredictionRequestModel) => Promise<PredictionResponseModel>;
18
18
  delete: (gameId: string) => Promise<boolean>;
19
19
  getGames: (filters?: GamesFilters, disableCache?: boolean) => Promise<PaginationModel>;
20
- getGameById: (gameId: string, disableCache?: boolean) => Promise<GamesListModel>;
20
+ getGameById: (gameId: string, disableCache?: boolean) => Promise<GameByIdModel>;
21
21
  getGamePredictions: (gameId: string, filters?: PredictionsFilters, disableCache?: boolean) => Promise<PaginationModel>;
22
22
  getGameResults: (gameId: string, filters?: MainFiltersBQ, disableCache?: boolean) => Promise<PaginationModel>;
23
23
  getCurrentGameResults: (disableCache?: boolean) => Promise<GameModel>;
@@ -4,7 +4,6 @@ import IdMappingService from "../../../IdMapping/IdMappingService";
4
4
  import PredictionResponseModel from "../../Predictor/Models/Predictions/PredictionResponseModel";
5
5
  import PredictorService from "../../Predictor/Service/PredictorService";
6
6
  import GamesFilters from "../Models/Games/GamesFilters";
7
- import GamesListModel from "../Models/Games/GamesListModel";
8
7
  import PaginationModel from "../../../Global/Models/Pagination/PaginationModel";
9
8
  import TopXPredictionRequestModel from "../Models/Prediction/TopXPredictionRequestModel";
10
9
  import PredictionsFilters from "../../Predictor/Models/Predictions/PredictionsFilters";
@@ -13,6 +12,7 @@ import GameMarketsResults from "../../MatchQuiz/Models/GameMarketsResults/GameMa
13
12
  import PredictorValidator from "../../Predictor/Validator/PredictorValidator";
14
13
  import MainFiltersBQ from "../../../Global/Models/Filters/MainFiltersBQ";
15
14
  import ContestWinners from "../Models/Games/Winners/ContestWinners";
15
+ import GameByIdModel from "../Models/Games/GameByIdModel";
16
16
  export default class TopXFacade {
17
17
  readonly idMapping: IdMappingService;
18
18
  readonly predictorHttps: PredictorHttps;
@@ -23,7 +23,7 @@ export default class TopXFacade {
23
23
  constructor(config: SDKConfigurationModel, idMapping: IdMappingService);
24
24
  getConfig: () => Promise<FeaturesConfigModels>;
25
25
  getGames: (filters?: GamesFilters, disableCache?: boolean) => Promise<PaginationModel>;
26
- getGameById: (gameId: string, disableCache?: boolean) => Promise<GamesListModel>;
26
+ getGameById: (gameId: string, disableCache?: boolean) => Promise<GameByIdModel>;
27
27
  getGamePredictions: (gameId: string, filters?: PredictionsFilters, disableCache?: boolean) => Promise<PaginationModel>;
28
28
  getGameResults: (gameId: string, filters?: MainFiltersBQ, disableCache?: boolean) => Promise<PaginationModel>;
29
29
  getCurrentGameResults: (disableCache?: boolean) => Promise<any>;
@@ -0,0 +1,6 @@
1
+ import GamesListModel from "./GamesListModel";
2
+ export default class GameByIdModel extends GamesListModel {
3
+ adContent: string;
4
+ labels: Record<string, string>;
5
+ customFields: Record<string, string>;
6
+ }
@@ -5,9 +5,11 @@ import GamesTopXListModel from "./GamesTopXListModel";
5
5
  import PaginationModel from "../../../../Global/Models/Pagination/PaginationModel";
6
6
  import GameMarketsResults from "../../../MatchQuiz/Models/GameMarketsResults/GameMarketsResults";
7
7
  import ContestWinners from "./Winners/ContestWinners";
8
+ import GameByIdModel from "./GameByIdModel";
8
9
  export default class GamesRemapper {
9
10
  remapPaginatedGames: (paginatedGames: any) => PaginationModel;
10
11
  remapGamesListResponse: (gamesList: any) => GamesListModel;
12
+ remapGameByIdResponse: (gameById: any) => GameByIdModel;
11
13
  private remapFixturesResponse;
12
14
  remapPaginatedUserTopXEditions: (userGameEditions: any) => PaginationModel;
13
15
  remapUserTopXEditionsResponse: (gamesList: any) => GamesTopXListModel;
@@ -2,20 +2,20 @@ import SDKConfigurationModel from "../../Configurator/Models/SDKConfiguraitonMod
2
2
  import PredictionResponseModel from "../Predictor/Models/Predictions/PredictionResponseModel";
3
3
  import GameModel from "./Models/Games/GameModel";
4
4
  import GamesFilters from "./Models/Games/GamesFilters";
5
- import GamesListModel from "./Models/Games/GamesListModel";
6
5
  import PaginationModel from "../../Global/Models/Pagination/PaginationModel";
7
6
  import TopXPredictionRequestModel from "./Models/Prediction/TopXPredictionRequestModel";
8
7
  import PredictionsFilters from "../Predictor/Models/Predictions/PredictionsFilters";
9
8
  import GameMarketsResults from "../MatchQuiz/Models/GameMarketsResults/GameMarketsResults";
10
9
  import MainFiltersBQ from "../../Global/Models/Filters/MainFiltersBQ";
11
10
  import ContestWinners from "./Models/Games/Winners/ContestWinners";
11
+ import GameByIdModel from "./Models/Games/GameByIdModel";
12
12
  export default class TopX {
13
13
  private topXFacade;
14
14
  private idMapping;
15
15
  constructor(config: SDKConfigurationModel);
16
16
  getConfig: () => Promise<import("../../Global/Types/GlobalTypes").FeaturesConfigModels>;
17
17
  getGames: (filters?: GamesFilters, disableCache?: boolean) => Promise<PaginationModel>;
18
- getGameById: (gameId: string, disableCache?: boolean) => Promise<GamesListModel>;
18
+ getGameById: (gameId: string, disableCache?: boolean) => Promise<GameByIdModel>;
19
19
  getGamePredictions: (gameId: string, filters?: PredictionsFilters, disableCache?: boolean) => Promise<PaginationModel>;
20
20
  getGameResults: (gameId: string, filters?: MainFiltersBQ, disableCache?: boolean) => Promise<PaginationModel>;
21
21
  getCurrentGameResults: (disableCache?: boolean) => Promise<GameModel>;