UNPKG

@sneko/ionic-appauth

Version:

Intergration for OpenId/AppAuth-JS into Ionic V3/4/5

115 lines (114 loc) 4.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConsoleLogObserver = exports.SessionObserver = exports.ActionHistoryObserver = exports.TokenObserver = exports.AuthObserver = exports.BaseAuthObserver = void 0; var tslib_1 = require("tslib"); var auth_action_1 = require("./auth-action"); var guid_typescript_1 = require("guid-typescript"); var auth_session_1 = require("./auth-session"); var BaseAuthObserver = /** @class */ (function () { function BaseAuthObserver() { this.id = guid_typescript_1.Guid.create(); } return BaseAuthObserver; }()); exports.BaseAuthObserver = BaseAuthObserver; var AuthObserver = /** @class */ (function (_super) { tslib_1.__extends(AuthObserver, _super); function AuthObserver(func) { var _this = _super.call(this) || this; _this.func = func; return _this; } AuthObserver.prototype.update = function (action) { this.func(action); }; AuthObserver.Create = function (func) { return new AuthObserver(func); }; return AuthObserver; }(BaseAuthObserver)); exports.AuthObserver = AuthObserver; var TokenObserver = /** @class */ (function (_super) { tslib_1.__extends(TokenObserver, _super); function TokenObserver() { return _super !== null && _super.apply(this, arguments) || this; } TokenObserver.prototype.update = function (action) { this.token = action.tokenResponse; }; return TokenObserver; }(BaseAuthObserver)); exports.TokenObserver = TokenObserver; var ActionHistoryObserver = /** @class */ (function (_super) { tslib_1.__extends(ActionHistoryObserver, _super); function ActionHistoryObserver() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.history = []; return _this; } ActionHistoryObserver.prototype.update = function (action) { this.lastAction = action; this.history.push(action); }; ActionHistoryObserver.prototype.clear = function () { this.history = []; this.lastAction = undefined; }; return ActionHistoryObserver; }(BaseAuthObserver)); exports.ActionHistoryObserver = ActionHistoryObserver; var SessionObserver = /** @class */ (function (_super) { tslib_1.__extends(SessionObserver, _super); function SessionObserver() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.session = new auth_session_1.DefaultAuthSession(); return _this; } SessionObserver.prototype.update = function (action) { switch (action.action) { case auth_action_1.AuthActions.SignInFailed: case auth_action_1.AuthActions.RefreshFailed: case auth_action_1.AuthActions.LoadTokenFromStorageFailed: this.session.error = action.error; this.session.token = undefined; this.session.user = undefined; this.session.isAuthenticated = false; break; case auth_action_1.AuthActions.SignInSuccess: case auth_action_1.AuthActions.RefreshSuccess: case auth_action_1.AuthActions.LoadTokenFromStorageSuccess: this.session.error = undefined; this.session.token = action.tokenResponse; this.session.isAuthenticated = true; break; case auth_action_1.AuthActions.LoadUserInfoSuccess: this.session.error = undefined; this.session.user = action.user; break; case auth_action_1.AuthActions.LoadUserInfoFailed: this.session.error = action.error; this.session.user = undefined; break; case auth_action_1.AuthActions.SignOutSuccess: case auth_action_1.AuthActions.Default: this.session = new auth_session_1.DefaultAuthSession(); break; case auth_action_1.AuthActions.SignOutFailed: this.session.error = action.error; break; } }; return SessionObserver; }(BaseAuthObserver)); exports.SessionObserver = SessionObserver; var ConsoleLogObserver = /** @class */ (function (_super) { tslib_1.__extends(ConsoleLogObserver, _super); function ConsoleLogObserver() { return _super !== null && _super.apply(this, arguments) || this; } ConsoleLogObserver.prototype.update = function (action) { console.log(action); }; return ConsoleLogObserver; }(BaseAuthObserver)); exports.ConsoleLogObserver = ConsoleLogObserver;