UNPKG

poker-html-client

Version:
1,106 lines 826 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [0, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); define("api/helper", ["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function getRequestInit() { if (authToken) { return { credentials: "include", headers: { "Content-Type": "application/json", "X-AuthToken": authToken, }, }; } return { headers: { "Content-Type": "application/json", }, }; } exports.getRequestInit = getRequestInit; function getPostRequestInit(data) { var requestInit = getRequestInit(); requestInit.method = "POST"; if (data !== undefined) { requestInit.body = JSON.stringify(data); } return requestInit; } exports.getPostRequestInit = getPostRequestInit; function getPutRequestInit(data) { var requestInit = getRequestInit(); requestInit.method = "PUT"; if (data !== undefined) { requestInit.body = JSON.stringify(data); } return requestInit; } exports.getPutRequestInit = getPutRequestInit; function getDeleteRequestInit(data) { var requestInit = getRequestInit(); requestInit.method = "DELETE"; if (data !== undefined) { requestInit.body = JSON.stringify(data); } return requestInit; } exports.getDeleteRequestInit = getDeleteRequestInit; }); define("api/account", ["require", "exports", "api/helper"], function (require, exports, helper_1) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Account = (function () { function Account(host) { this.host = host; } Account.prototype.logout = function () { return __awaiter(this, void 0, void 0, function () { var data, response, jsonData; return __generator(this, function (_a) { switch (_a.label) { case 0: data = {}; return [4 /*yield*/, fetch(this.host + "/api/account/my/logout", helper_1.getPostRequestInit())]; case 1: response = _a.sent(); return [4 /*yield*/, response.json()]; case 2: jsonData = _a.sent(); return [2 /*return*/, jsonData]; } }); }); }; Account.prototype.authenticate = function (login, password, rememberMe) { return __awaiter(this, void 0, void 0, function () { var data, init, response, jsonData; return __generator(this, function (_a) { switch (_a.label) { case 0: data = { Login: login, Password: password, RememberMe: rememberMe }; init = helper_1.getPostRequestInit(data); init.credentials = "include"; return [4 /*yield*/, fetch(this.host + "/api/account/my/login", init)]; case 1: response = _a.sent(); authToken = response.headers.get("X-Auth-Token"); console.log("Aquired auth token", authToken); return [4 /*yield*/, response.json()]; case 2: jsonData = _a.sent(); return [2 /*return*/, jsonData]; } }); }); }; Account.prototype.changePassword = function (oldPassword, newPassword) { return __awaiter(this, void 0, void 0, function () { var data, response, jsonData; return __generator(this, function (_a) { switch (_a.label) { case 0: data = { OldPassword: oldPassword, NewPassword: newPassword }; return [4 /*yield*/, fetch(this.host + "/api/account/my/password", helper_1.getPostRequestInit(data))]; case 1: response = _a.sent(); return [4 /*yield*/, response.json()]; case 2: jsonData = _a.sent(); return [2 /*return*/, jsonData]; } }); }); }; Account.prototype.getAccount = function () { return __awaiter(this, void 0, void 0, function () { var response, jsonData; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, fetch(this.host + "/api/account/my", helper_1.getRequestInit())]; case 1: response = _a.sent(); return [4 /*yield*/, response.json()]; case 2: jsonData = _a.sent(); return [2 /*return*/, jsonData]; } }); }); }; Account.prototype.registerGuest = function () { throw new Error("Not implmented."); }; return Account; }()); exports.Account = Account; }); define("appconfig", ["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var GameHandHistory = (function () { function GameHandHistory() { /** * Show game history with cards. */ this.showPictureHistory = true; /** * Show game history as text. */ this.showTextHistory = true; } return GameHandHistory; }()); var GameActionBlock = (function () { function GameActionBlock() { /** * Wherether action panel is present on the application */ this.hasSecondaryPanel = true; } return GameActionBlock; }()); var AppConfig = (function () { function AppConfig() { this.auth = { automaticLogin: true, automaticTableSelection: true, }; this.game = { handHistory: new GameHandHistory(), actionBlock: new GameActionBlock(), seatMode: document.body.classList.contains("poker-feature-single-seat"), tablePreviewMode: document.body.classList.contains("poker-feature-table-preview"), autoFoldAsFoldOnRaise: true, useSignalR: false, noTableMoneyLimit: true, }; this.tournament = { enabled: false, openTableAutomatically: true, }; this.joinTable = { allowUsePersonalAccount: false, allowTickets: true, }; } return AppConfig; }()); exports.appConfig = new AppConfig(); }); define("settings", ["require", "exports", "knockout"], function (require, exports, ko) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Settings = (function () { function Settings() { this.authToken = ko.observable(); this.lastPage = ko.observable(); this.lastTime = ko.observable(0); this.isGuest = ko.observable(false); this.cardsVariant = ko.observable(); this.login = ko.observable(); this.password = ko.observable(); this.autoSwitchTables = ko.observable(false); this.autoHideCards = ko.observable(true); this.soundEnabled = ko.observable(true); this.lastBannerId = ko.observable(); } Settings.prototype.loadSettings = function () { this.login(this.getItemString("auth.login")); this.password(this.getItemString("auth.password")); this.isGuest(this.getItemBoolean("auth.isGuest", false)); this.autoSwitchTables(this.getItemBoolean("table.autoSwitchTables")); this.autoHideCards(this.getItemBoolean("table.autoHideCards", true)); this.soundEnabled(this.getItemBoolean("table.soundEnabled", true)); this.lastBannerId(this.getItemNumber("banner.lastBannerId", 0)); this.lastTime(this.getItemNumber("reload.lastTime", 0)); this.lastPage(this.getItemString("reload.lastPage", "main")); this.authToken(this.getItemString("reload.authToken", null)); this.cardsVariant(this.getItemString("cardsVariant", "down")); }; Settings.prototype.saveSettings = function () { this.setItemString("auth.login", this.login()); this.setItemString("auth.password", this.password()); this.setItemBoolean("auth.isGuest", this.isGuest(), false); this.setItemBoolean("table.autoSwitchTables", this.autoSwitchTables()); this.setItemBoolean("table.autoHideCards", this.autoHideCards(), true); this.setItemBoolean("table.soundEnabled", this.soundEnabled(), true); this.setItemNumber("banner.lastBannerId", this.lastBannerId(), 0); this.setItemString("reload.lastPage", this.lastPage(), "main"); this.setItemString("reload.authToken", this.authToken(), null); this.setItemNumber("reload.lastTime", this.lastTime(), 0); this.setItemString("cardsVariant", this.cardsVariant()); }; Settings.prototype.getItemBoolean = function (name, defaultValue) { if (defaultValue === void 0) { defaultValue = false; } var item = localStorage.getItem(name); if (item === null) { return defaultValue; } return item.toLowerCase() === "true"; }; Settings.prototype.setItemBoolean = function (name, value, defaultValue) { if (defaultValue === void 0) { defaultValue = false; } if (value === defaultValue) { localStorage.removeItem(name); } else { localStorage.setItem(name, value ? "true" : "false"); } }; Settings.prototype.getItemString = function (name, defaultValue) { if (defaultValue === void 0) { defaultValue = null; } return localStorage.getItem(name) || defaultValue; }; Settings.prototype.setItemString = function (name, value, defaultValue) { if (defaultValue === void 0) { defaultValue = null; } if (value === defaultValue) { localStorage.removeItem(name); } else { localStorage.setItem(name, value); } }; Settings.prototype.getItemNumber = function (name, defaultValue) { if (defaultValue === void 0) { defaultValue = null; } return Number(localStorage.getItem(name)) || defaultValue; }; Settings.prototype.setItemNumber = function (name, value, defaultValue) { if (defaultValue === void 0) { defaultValue = null; } if (value === defaultValue) { localStorage.removeItem(name); } else { localStorage.setItem(name, value === null ? null : value.toString()); } }; return Settings; }()); exports.settings = new Settings(); }); define("authmanager", ["require", "exports", "knockout", "api/account", "appconfig", "settings"], function (require, exports, ko, account_1, appconfig_1, settings_1) { "use strict"; var AuthManager = (function () { function AuthManager() { this.authenticated = ko.observable(false); this.login = ko.observable(); this.loginId = ko.observable(); } /** * Authenticate user with given password and return status of operation. * @param login Login which use for authentication. * @param password Password which user for login. * @param rememberMe Value indicating whether remember user in manager. */ AuthManager.prototype.authenticate = function (login, password, rememberMe) { if (rememberMe === void 0) { rememberMe = false; } return __awaiter(this, void 0, void 0, function () { var accountApi, data, e_1; return __generator(this, function (_a) { switch (_a.label) { case 0: accountApi = new account_1.Account(host); if (rememberMe) { settings_1.settings.login(login); settings_1.settings.password(password); settings_1.settings.saveSettings(); } _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); return [4 /*yield*/, accountApi.authenticate(login, password, false)]; case 2: data = _a.sent(); if (data.Status === "Ok") { this.authenticated(true); this.login(data.Login); this.loginId(data.Id); settings_1.settings.isGuest(data.IsGuest); settings_1.settings.saveSettings(); if (appconfig_1.appConfig.game.seatMode) { // tslint:disable-next-line:no-string-literal appInsights.context["device"].model = "Individual Console: " + login; } } else { // Report authentication or authorization errors this.authenticated(false); this.login(null); this.loginId(null); } return [2 /*return*/, data.Status]; case 3: e_1 = _a.sent(); return [2 /*return*/, ""]; case 4: return [2 /*return*/]; } }); }); }; AuthManager.prototype.logout = function () { settings_1.settings.login(null); settings_1.settings.password(null); settings_1.settings.saveSettings(); authToken = null; this.authenticated(false); this.login(null); }; /** * Initiate login as guest request to server. */ AuthManager.prototype.loginAsGuest = function () { return __awaiter(this, void 0, void 0, function () { var accountApi, value, e_2; return __generator(this, function (_a) { switch (_a.label) { case 0: accountApi = new account_1.Account(host); _a.label = 1; case 1: _a.trys.push([1, 7, , 8]); return [4 /*yield*/, accountApi.registerGuest()]; case 2: value = _a.sent(); if (!!value) return [3 /*break*/, 3]; return [2 /*return*/, ""]; case 3: settings_1.settings.login(value.Login); settings_1.settings.password(value.Password); settings_1.settings.saveSettings(); app.processing(false); if (!(value.Status === "Ok")) return [3 /*break*/, 5]; return [4 /*yield*/, this.authenticate(value.Login, value.Password, true)]; case 4: return [2 /*return*/, _a.sent()]; case 5: return [2 /*return*/, value.Status]; case 6: return [3 /*break*/, 8]; case 7: e_2 = _a.sent(); return [2 /*return*/, ""]; case 8: return [2 /*return*/]; } }); }); }; return AuthManager; }()); var authManager = new AuthManager(); return authManager; }); define("commandmanager", ["require", "exports"], function (require, exports) { "use strict"; var CommandManager = (function () { function CommandManager() { this.commands = []; } CommandManager.prototype.registerCommand = function (commandName, handler) { this.commands[commandName] = handler; }; CommandManager.prototype.executeCommand = function (commandName, parameters) { if (parameters === void 0) { parameters = []; } var handler = this.commands[commandName]; if (handler == null) { // tslint:disable-next-line:no-console console.log("Command call " + commandName + " not executed, since no handler registered"); return null; } return handler(parameters); }; return CommandManager; }()); var commandManager = new CommandManager(); return commandManager; }); define("debugsettings", ["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var DebugSettings = (function () { function DebugSettings() { this.initialization = { stopOnLaunch: false, stopOnResume: false, metadata: false, imagePreloading: false, }; this.ios = { hasMultitasking: false, }; this.actionBlock = { traceBlocksVisbility: false, }; this.game = { singleSidePots: true, }; this.tableView = { trace: true, traceTables: [], reportApiError: false, traceGameEvents: false, betLevelChangeDelay: 4000, addonPeriodStartedDelay: 4000, }; this.lobby = { trace: false, useTournamentNameForTournamentCaption: true, }; this.home = { traceNews: false, traceBanners: false, }; this.device = { events: true, orientation: false, statusbar: false, }; this.connection = { signalR: true, slowInternet: false, dataEvents: false, windowReloadForRetry: true, }; this.application = { reloadManager: true, deactivateOnPause: false, goToLobbyAfterPause: false, reloadTablesDataOnResume: false, debugTimeouts: true, useUtcDates: false, debugTabbar: false, }; this.ui = { tracePages: false, tracePopups: false, }; } return DebugSettings; }()); exports.debugSettings = new DebugSettings(); }); define("languagemanager", ["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var LanguageManager = (function () { function LanguageManager() { this.currentLang = "ru_RU"; } LanguageManager.prototype.setLang = function (lang) { this.currentLang = lang; }; LanguageManager.prototype.getProvider = function () { return messages; }; LanguageManager.prototype.setProvider = function (provider) { messages = provider; }; LanguageManager.prototype.getMessage = function (message, parameters) { if (parameters === void 0) { parameters = null; } if (message == null) { return ""; } var parts = message.split("."); var currentProvider = this.getProvider(); for (var i = 0; i < parts.length; i++) { var propertyName = parts[i]; currentProvider = currentProvider[propertyName]; if (currentProvider == null) { break; } } if (currentProvider == null) { return this.bind(message, parameters); } return this.bind(currentProvider, parameters); }; LanguageManager.prototype.bind = function (template, parameters) { if (parameters == null) { return template; } var result = template; for (var propName in parameters) { if (parameters.hasOwnProperty(propName)) { var value = parameters[propName]; if (value === null || value === undefined) { value = ""; } else { value = value.toString(); } result = result.replace("#" + propName + "#", value); // Bind using old syntax. result = result.replace("#" + propName, value); } } return result; }; return LanguageManager; }()); exports.LanguageManager = LanguageManager; exports.l = new LanguageManager(); function _(message, parameters) { if (parameters === void 0) { parameters = null; } return exports.l.getMessage(message, parameters); } exports._ = _; }); var beforeSendHandler = function (xhr) { xhr.withCredentials = true; if (authToken != null) { xhr.setRequestHeader("X-Auth-Token", authToken); } }; var TournamentStatus; (function (TournamentStatus) { TournamentStatus[TournamentStatus["Pending"] = 0] = "Pending"; TournamentStatus[TournamentStatus["RegistrationStarted"] = 1] = "RegistrationStarted"; TournamentStatus[TournamentStatus["RegistrationCancelled"] = 2] = "RegistrationCancelled"; TournamentStatus[TournamentStatus["SettingUp"] = 3] = "SettingUp"; TournamentStatus[TournamentStatus["WaitingTournamentStart"] = 4] = "WaitingTournamentStart"; TournamentStatus[TournamentStatus["Started"] = 5] = "Started"; TournamentStatus[TournamentStatus["Completed"] = 6] = "Completed"; TournamentStatus[TournamentStatus["Cancelled"] = 7] = "Cancelled"; TournamentStatus[TournamentStatus["LateRegistration"] = 8] = "LateRegistration"; })(TournamentStatus || (TournamentStatus = {})); var OnlinePoker; (function (OnlinePoker) { var Commanding; (function (Commanding) { // tslint:disable-next-line:no-namespace var API; (function (API) { var MoneyType; (function (MoneyType) { MoneyType[MoneyType["Tenge"] = 1] = "Tenge"; MoneyType[MoneyType["GameChips"] = 2] = "GameChips"; })(MoneyType = API.MoneyType || (API.MoneyType = {})); API.logging = false; API.version = 1; var WebApiProxy = (function () { function WebApiProxy(host, baseName) { this.host = host; this.baseName = baseName; this.timeout = 5000; this.baseUrl = host + '/' + baseName + '/'; // tslint:disable-next-line:no-string-literal this.server = window["host"]; } WebApiProxy.prototype.Call = function (methodName, parameters, successCallback) { var self = this; var parametersString = "null"; if (parameters != null) { parametersString = JSON.stringify(parameters); } this.Log(this.baseName, "Method " + methodName + " called. Parameters: " + parametersString); var url = this.baseUrl + methodName; return $.ajax({ type: 'POST', url: url, data: JSON.stringify(parameters), success: function (data, textStatus, jqXHR) { var dataString = data != null ? JSON.stringify(data) : "NULL"; textStatus = textStatus != null ? textStatus : "NULL"; var logMessage = "Method " + methodName + " finished. Status: " + textStatus + ". Results: " + dataString; self.Log(self.baseName, logMessage); if (successCallback != null) { successCallback(data, textStatus, jqXHR); } }, timeout: this.timeout, crossDomain: true, async: true, contentType: 'application/json', beforeSend: beforeSendHandler, dataType: 'json', }); }; WebApiProxy.prototype.CallAsync = function (methodName, parameters) { return __awaiter(this, void 0, void 0, function () { var _this = this; return __generator(this, function (_a) { return [2 /*return*/, new Promise(function (resolve, reject) { _this.Call(methodName, parameters, null).then(resolve, reject); })]; }); }); }; WebApiProxy.prototype.Log = function (api, msg) { if (API.logging === false) { return; } if (typeof (window.console) === "undefined") { return; } var m = "[" + new Date().toTimeString() + "] OnlinePoker API(" + this.baseName + "): " + msg; if (window.console.debug) { window.console.debug(m); } else if (window.console.log) { window.console.log(m); } }; return WebApiProxy; }()); API.WebApiProxy = WebApiProxy; })(API = Commanding.API || (Commanding.API = {})); })(Commanding = OnlinePoker.Commanding || (OnlinePoker.Commanding = {})); })(OnlinePoker || (OnlinePoker = {})); define("api/information", ["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Information = (function () { /** * Access to Information API endpoint. * @param host Host where Information endpoint located */ function Information(host) { this.host = host; } Information.prototype.getWellKnownBetStructure = function () { return __awaiter(this, void 0, void 0, function () { var data, response, jsonData; return __generator(this, function (_a) { switch (_a.label) { case 0: data = {}; return [4 /*yield*/, fetch(this.host + "/api/information/bet-structure")]; case 1: response = _a.sent(); return [4 /*yield*/, response.json()]; case 2: jsonData = _a.sent(); return [2 /*return*/, jsonData]; } }); }); }; Information.prototype.getWellKnownPrizeStructure = function () { return __awaiter(this, void 0, void 0, function () { var data, response, jsonData; return __generator(this, function (_a) { switch (_a.label) { case 0: data = {}; return [4 /*yield*/, fetch(this.host + "/api/information/prize-structure")]; case 1: response = _a.sent(); return [4 /*yield*/, response.json()]; case 2: jsonData = _a.sent(); return [2 /*return*/, jsonData]; } }); }); }; Information.prototype.getOnlinePlayers = function () { return __awaiter(this, void 0, void 0, function () { var data, response, jsonData; return __generator(this, function (_a) { switch (_a.label) { case 0: data = {}; return [4 /*yield*/, fetch(this.host + "/api/information/players/online")]; case 1: response = _a.sent(); return [4 /*yield*/, response.json()]; case 2: jsonData = _a.sent(); return [2 /*return*/, jsonData]; } }); }); }; /** * Request server date. */ Information.prototype.getDate = function () { return __awaiter(this, void 0, void 0, function () { var data, response, jsonData; return __generator(this, function (_a) { switch (_a.label) { case 0: data = {}; return [4 /*yield*/, fetch(this.host + "/api/information/date")]; case 1: response = _a.sent(); return [4 /*yield*/, response.json()]; case 2: jsonData = _a.sent(); return [2 /*return*/, jsonData]; } }); }); }; /** * Perform version check. */ Information.prototype.getVersion = function () { return __awaiter(this, void 0, void 0, function () { var data, response, jsonData; return __generator(this, function (_a) { switch (_a.label) { case 0: data = {}; return [4 /*yield*/, fetch(this.host + "/api/information/version")]; case 1: response = _a.sent(); return [4 /*yield*/, response.json()]; case 2: jsonData = _a.sent(); return [2 /*return*/, jsonData]; } }); }); }; return Information; }()); exports.Information = Information; }); define("services/accountManager", ["require", "exports", "api/account"], function (require, exports, account_2) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var AccountManager = (function () { function AccountManager() { } AccountManager.prototype.getAccount = function () { return __awaiter(this, void 0, void 0, function () { var api; return __generator(this, function (_a) { api = new account_2.Account(host); return [2 /*return*/, api.getAccount()]; }); }); }; AccountManager.prototype.changePasword = function (oldPasword, newPassword) { return __awaiter(this, void 0, void 0, function () { var api; return __generator(this, function (_a) { api = new account_2.Account(host); return [2 /*return*/, api.changePassword(oldPasword, newPassword)]; }); }); }; return AccountManager; }()); exports.AccountManager = AccountManager; }); define("services/accountservice", ["require", "exports", "authmanager", "services/accountManager"], function (require, exports, authManager, accountManager_1) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var AccountService = (function () { function AccountService() { } AccountService.prototype.getAccount = function () { return __awaiter(this, void 0, void 0, function () { var realMoneySupported, gameMoneySupported, api, apiResult, data, accountsData, transactionInfo; return __generator(this, function (_a) { switch (_a.label) { case 0: realMoneySupported = true; gameMoneySupported = false; api = new accountManager_1.AccountManager(); return [4 /*yield*/, api.getAccount()]; case 1: apiResult = _a.sent(); data = apiResult.Data; accountsData = []; if (realMoneySupported) { accountsData.push({ available: data.RealMoney, currencyName: "currency.realmoney", ingame: data.RealMoneyReserve == null ? 0 : data.RealMoneyReserve, total: Number(data.RealMoney) + Number(data.RealMoneyReserve == null ? 0 : data.RealMoneyReserve), }); } if (gameMoneySupported) { accountsData.push({ available: data.GameMoney, currencyName: "currency.gamemoney", ingame: data.GameMoneyReserve == null ? 0 : data.GameMoneyReserve, total: Number(data.GameMoney) + Number(data.GameMoneyReserve == null ? 0 : data.GameMoneyReserve), }); } transactionInfo = { amount: data.LastIncomeAmount, date: data.LastIncomeDate, id: data.LastRequestNumber, }; return [2 /*return*/, { accounts: accountsData, lastTransaction: transactionInfo, login: authManager.login(), }]; } }); }); }; return AccountService; }()); exports.AccountService = AccountService; }); define("api/tableReload", ["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var get = { headers: { "Content-Type": "application/json", }, }; var put = { method: "PUT", headers: { "Content-Type": "application/json", }, }; var del = { method: "DELETE", headers: { "Content-Type": "application/json", }, }; var TableReload = (function () { function TableReload(host) { this.host = host; } TableReload.prototype.getTableReload = function (tableId) { return __awaiter(this, void 0, void 0, function () { var response, jsonData; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, fetch(this.host + ("/server/api/reload/" + tableId), get)]; case 1: response = _a.sent(); return [4 /*yield*/, response.json()]; case 2: jsonData = _a.sent(); return [2 /*return*/, jsonData]; } }); }); }; TableReload.prototype.confirmEmergencyReload = function (tableId) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, fetch(this.host + ("/server/api/reload/" + tableId + "/table/emergency"), del)]; case 1: _a.sent(); return [2 /*return*/]; } }); }); }; TableReload.prototype.confirmTableReload = function (tableId) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, fetch(this.host + ("/server/api/reload/" + tableId + "/table"), put)]; case 1: _a.sent(); return [2 /*return*/]; } }); }); }; TableReload.prototype.confirmSeatReload = function (tableId, seatId) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, fetch(this.host + ("/server/api/reload/" + tableId + "/seats/" + seatId), put)]; case 1: _a.sent(); return [2 /*return*/]; } }); }); }; return TableReload; }()); exports.TableReload = TableReload; }); define("services/appreloadservice", ["require", "exports", "api/tableReload", "appconfig", "authmanager"], function (require, exports, tableReload_1, appconfig_2, authManager) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var AppReloadService = (function () { function AppReloadService() { } AppReloadService.prototype.getReload = function (tableId) { return __awaiter(this, void 0, void 0, function () { var api; return __generator(this, function (_a) { switch (_a.label) { case 0: api = this.getApi(); return [4 /*yield*/, api.getTableReload(tableId)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; AppReloadService.prototype.startMonitoring = function (tableId) { var _this = this; setInterval(function () { return _this.checkTableReload(tableId); }, 5000); }; AppReloadService.prototype.checkTableReload = function (tableId) { return __awaiter(this, void 0, void 0, function () { var reloadData, api, seatId, propertyName, api, api; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.getReload(tableId)]; case 1: reloadData = _a.sent(); if (reloadData.emergencyReload) { console.log("Emergency reload requested."); api = this.getApi(); // await api.confirmEmergencyReload(tableId); window.location.replace("http://google.com/"); return [2 /*return*/]; } if (!reloadData.reloadRequired) return [3 /*break*/, 5]; console.log("Normal reload requested."); if (!appconfig_2.appConfig.game.seatMode) return [3 /*break*/, 3]; seatId = parseInt(authManager.login().replace("Игрок", ""), 10); propertyName = "seat" + seatId + "Reloaded"; if (!(reloadData[propertyName] === false)) return [3 /*break*/, 3]; console.log("Reloading seat " + seatId + "."); api = this.getApi(); return [4 /*yield*/, api.confirmSeatReload(tableId, seatId)]; case 2: _a.sent(); location.reload(); _a.label = 3; case 3: if (!(appconfig_2.appConfig.game.tablePreviewMode && !reloadData.tableReloaded)) return [3 /*break*/, 5]; console.log("Reloading table."); api = this.getApi(); return [4 /*yield*/, api.confirmTableReload(tableId)]; case 4: _a.sent(); location.reload(); _a.label = 5; case 5: return [2 /*return*/]; } }); }); }; AppReloadService.prototype.getApi = function () { return new tableReload_1.TableReload(host); }; return AppReloadService; }()); exports.AppReloadService = AppReloadService; }); define("services/cancelError", ["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var CancelError = (function (_super) { __extends(CancelError, _super); function CancelError(message) { var _this = _super.call(this, message) || this; _this.name = "CancelError"; return _this; } CancelError.prototype.toString = function () { return "Cancel" + (this.message ? ": " + this.message : ""); }; return CancelError; }(Error)); exports.CancelError = CancelError; }); define("services/cancelToken", ["require", "exports", "services/cancelError"], function (require, exports, cancelError_1) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var CancelToken = (function () { function CancelToken(executor) { var _this = this; this._promise = new Promise(function (resolve) { executor(function (reason) { if (_this._cancelReason) { // Cancellation has already been requested return; } _this._cancelReason = new cancelError_1.CancelError(reason); resolve(_this._cancelReason); }); }); } /** * Returns an object that contains a new `CancelToken` and a function that, when called, * cancels the `CancelToken`. */ CancelToken.source = function () { var cancel; var token = new CancelToken(function executor(c) { cancel = c; }); return { cancel: cancel, token: token, }; }; Object.defineProperty(CancelToken.prototype, "requested", { get: function () { return Boolean(this._cancelReason); }, enumerable: true, configurable: true }); Object.defineProperty(CancelToken.prototype, "promise", { get: function () { return this._promise; }, enumerable: true, configurable: true }); /** * Throws a `Cancel` if cancellation has been requested. */ CancelToken.prototype.throwIfRequested = function () { if (this._cancelReason) { throw this._cancelReason; } }; return CancelToken; }()); exports.Cancel