armisa-models
Version:
models of armisa!
68 lines (67 loc) • 3.84 kB
JavaScript
"use strict";
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _LoginByToken_instances, _LoginByToken_urls, _LoginByToken_apiAxios, _LoginByToken_elementsOfForm_get;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LoginByToken = void 0;
const TokenInfo_1 = require("../../Models/StorageManager/TokenInfo");
class LoginByToken {
static createNew(authFactory) {
if (authFactory.mainStateManager.tokenInfo.tokenFromLocalStorage) {
return new LoginByToken(authFactory);
}
return null;
}
constructor(authFactory) {
this.authFactory = authFactory;
_LoginByToken_instances.add(this);
_LoginByToken_urls.set(this, (0, TokenInfo_1.useUrls)('BaseCode', 'auth'));
_LoginByToken_apiAxios.set(this, (0, TokenInfo_1.useAxios)(__classPrivateFieldGet(this, _LoginByToken_urls, "f")));
this.login = () => {
__classPrivateFieldGet(this, _LoginByToken_instances, "a", _LoginByToken_elementsOfForm_get).showWaitingFormSpinner();
this.loginAxios().then(response => {
if (response.isSuccess) {
__classPrivateFieldGet(this, _LoginByToken_instances, "a", _LoginByToken_elementsOfForm_get).closeWaitingFormSpinner();
}
else {
__classPrivateFieldGet(this, _LoginByToken_instances, "a", _LoginByToken_elementsOfForm_get).closeWaitingFormSpinner();
__classPrivateFieldGet(this, _LoginByToken_instances, "a", _LoginByToken_elementsOfForm_get).showInvalidArgumentMessageBox(response.message);
}
}).catch(error => {
__classPrivateFieldGet(this, _LoginByToken_instances, "a", _LoginByToken_elementsOfForm_get).closeWaitingFormSpinner();
__classPrivateFieldGet(this, _LoginByToken_instances, "a", _LoginByToken_elementsOfForm_get).showErrorMessageBox(error);
});
};
this.loginAxios = () => {
return new Promise((resolve, reject) => {
__classPrivateFieldGet(this, _LoginByToken_apiAxios, "f").get(__classPrivateFieldGet(this, _LoginByToken_urls, "f").tokenValidation).then((res) => {
if (res.status === 200) {
this.authFactory.logedIn(res.data, true, this.routerPath);
resolve(res.data);
}
else {
reject(`requeset to ${this.controllerPath}/${this.actionPath} reject by status : ${res.status} ${res.statusText}`);
}
}).catch((error) => {
reject(`exception error on login user error : ${error}`);
});
});
};
}
get controllerPath() {
return __classPrivateFieldGet(this, _LoginByToken_urls, "f").controller;
}
get actionPath() {
return __classPrivateFieldGet(this, _LoginByToken_urls, "f").tokenValidation;
}
get routerPath() {
return '/login';
}
}
exports.LoginByToken = LoginByToken;
_LoginByToken_urls = new WeakMap(), _LoginByToken_apiAxios = new WeakMap(), _LoginByToken_instances = new WeakSet(), _LoginByToken_elementsOfForm_get = function _LoginByToken_elementsOfForm_get() {
return this.authFactory.elementsOfForm;
};