poker-html-client
Version:
HTML client for online poker
1,106 lines • 826 kB
JavaScript
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