{"version":3,"file":"LiveCasinoApi.js","names":["defineDs","ApiRequest","LoginCache","PageHelper","Storage","baseURL","DS","Config","LIVECASINO_APIURL","getTableInfo","url","localCacheTTL","origin","window","location","hostname","unwrapSuccess","response","getTablePersonalized","pathParameter","args","method","customerId","data","getTableRanked","getDealerInfo","getGameSession","requestUrl","gameId","assertionId","tableId","seat","saveLastPlayedGameToStorage","getGameFallbackLobbySession","getHealthCheck","performHealthCheck","isNormalMode","strategy","getUserObj","customerInfo","then","health","connectedToWebsocketApi","ENV","href","getRootUrl","console","warn","errors","length","catch","ignoredErr","storageKey","getLastPlayedGameFromStorage","get","game","set"],"sources":["DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/LiveCasinoApi.js"],"sourcesContent":["defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/LiveCasinoApi',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Helpers/PageHelper',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage'\r\n ],\r\n function (ApiRequest, LoginCache, PageHelper, Storage) {\r\n\r\n // Variables:\r\n var baseURL = DS.Config.LIVECASINO_APIURL;\r\n\r\n var getTableInfo = function () {\r\n\r\n return ApiRequest({\r\n url: baseURL + '/state',\r\n localCacheTTL: 10,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getTablePersonalized = function (pathParameter, args) {\r\n return ApiRequest({\r\n method: 'post',\r\n url: baseURL + '/lastplayed/' + pathParameter.customerId,\r\n localCacheTTL: 60 * 15,\r\n data: args,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getTableRanked = function () {\r\n return ApiRequest({\r\n url: baseURL + '/table/usage/ranked?top=300',\r\n localCacheTTL: 60 * 15,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getDealerInfo = function () {\r\n return ApiRequest({\r\n url: baseURL + '/activedealers',\r\n localCacheTTL: 10,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getGameSession = function (pathParameter, args) {\r\n var requestUrl = '/dli/scapi/danskespil/livecasino/table/' + pathParameter.gameId + '/' + pathParameter.assertionId + '/' + pathParameter.tableId + '/' + pathParameter.seat;\r\n return ApiRequest({\r\n url: requestUrl,\r\n localCacheTTL: 10,\r\n data: args,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n saveLastPlayedGameToStorage(pathParameter.tableId);\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getGameFallbackLobbySession = function (pathParameter, args) {\r\n var requestUrl = '/dli/scapi/danskespil/livecasino/game/' + pathParameter.gameId + '/' + pathParameter.assertionId;\r\n return ApiRequest({\r\n url: requestUrl,\r\n localCacheTTL: 10,\r\n data: args,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getHealthCheck = function () {\r\n\r\n var requestUrl = baseURL + '/health';\r\n return ApiRequest({\r\n url: requestUrl,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var performHealthCheck = function () {\r\n if (PageHelper.isNormalMode()) {\r\n var strategy = LoginCache.getUserObj().customerInfo ? '/lobby' : '/lobby/fallback';\r\n\r\n getHealthCheck().then(function (health) {\r\n if (health.connectedToWebsocketApi === false) {\r\n if (DS.Config.ENV !== 'dev') {\r\n window.location.href = PageHelper.getRootUrl() + strategy;\r\n } else {\r\n console.warn('Websocket not connected', health.errors.length > 0 ? health.errors[health.errors.length - 1] : '');\r\n }\r\n }\r\n }).catch(function (ignoredErr) {\r\n if (DS.Config.ENV !== 'dev') {\r\n window.location.href = PageHelper.getRootUrl() + strategy;\r\n } else {\r\n console.warn('Error in healthcheck');\r\n }\r\n });\r\n }\r\n };\r\n\r\n var storageKey = 'livecasino-last-played-game';\r\n\r\n // get an array of any stored game links\r\n function getLastPlayedGameFromStorage() {\r\n return Storage.get(storageKey);\r\n }\r\n\r\n // save array of game links to storage\r\n function saveLastPlayedGameToStorage(game) {\r\n Storage.set(storageKey, game);\r\n }\r\n\r\n // Public functions:\r\n return {\r\n getTableInfo: getTableInfo,\r\n getTablePersonalized: getTablePersonalized,\r\n getTableRanked: getTableRanked,\r\n getDealerInfo: getDealerInfo,\r\n getGameSession: getGameSession,\r\n getGameFallbackLobbySession: getGameFallbackLobbySession,\r\n performHealthCheck: performHealthCheck,\r\n getLastPlayedGameFromStorage: getLastPlayedGameFromStorage\r\n };\r\n\r\n });\r\n"],"mappings":"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","ignoreList":[]}