@sneko/ionic-appauth
Version:
Intergration for OpenId/AppAuth-JS into Ionic V3/4/5
115 lines (114 loc) • 4.65 kB
JavaScript
;
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;