UNPKG

78.5 kBSource Map (JSON)View Raw
1{"version":3,"file":"soushians-authentication.umd.js","sources":["../node_modules/tslib/tslib.es6.js","ng://@soushians/authentication/lib/models/user.model.ts","ng://@soushians/authentication/lib/actions/signin.actions.ts","ng://@soushians/authentication/lib/authentication.config.ts","ng://@soushians/authentication/lib/services/authentication-configuration.service.ts","ng://@soushians/authentication/lib/actions/authentication.actions.ts","ng://@soushians/authentication/lib/actions/captcha.actions.ts","ng://@soushians/authentication/lib/services/signin.service.ts","ng://@soushians/authentication/lib/smart-components/signin-container/signin-container.component.ts","ng://@soushians/authentication/lib/smart-components/authentication-container/authentication-container.component.ts","ng://@soushians/authentication/lib/smart-components/signup-container/signup-container.component.ts","ng://@soushians/authentication/lib/authentication-routing.module.ts","ng://@soushians/authentication/lib/dump-components/signin/signin.component.ts","ng://@soushians/authentication/lib/interceptors/with-credential.interceptor.ts","ng://@soushians/authentication/lib/interceptors/unauthorized.interceptor.ts","ng://@soushians/authentication/lib/reducers/user.reducer.ts","ng://@soushians/authentication/lib/reducers/index.ts","ng://@soushians/authentication/lib/effects/signin.effects.ts","ng://@soushians/authentication/lib/effects/authentication.effects.ts","ng://@soushians/authentication/lib/dump-components/signup/signup.component.ts","ng://@soushians/authentication/lib/routing-guards/signin.guard.ts","ng://@soushians/authentication/lib/authentication.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","export class UserModel {\r\n\t_id: string;\r\n\t// FirstName: string;\r\n\t// LastName: string;\r\n\tUsername: string;\r\n\t// MobileNumber: string;\r\n\t// Sex: string;\r\n\t// Birthdate: string;\r\n\tEmail: string;\r\n\t// IdentificationNo: string;\r\n\t// IdentifierType: string;\r\n\t// RegisterDate: string;\r\n\t// UserType: string;\r\n\tRoles: string[] = [];\r\n\r\n\tconstructor(params?: any) {\r\n\t\tparams &&\r\n\t\t\tObject.keys(params).forEach(key => {\r\n\t\t\t\tif (key in params) (this as any)[key] = params[key];\r\n\t\t\t});\r\n\t}\r\n}\r\n","import { Action } from \"@ngrx/store\";\r\n\r\nimport { Signin_ApiModel } from \"../models\";\r\n\r\nexport enum SignInActionTypes {\r\n\tWHO_AM_I = \"[AUTHENTICATION] who am i\",\r\n\tSIGNUP = \"[AUTHENTICATION][SIGNUP] start\",\r\n\tSIGNUP_SUCCEED = \"[AUTHENTICATION][SIGNUP] Success\",\r\n\tSIGNUP_FAILURE = \"[AUTHENTICATION][SIGNUP] Failure\",\r\n\tSIGNIN = \"[AUTHENTICATION] Signin\",\r\n\tDO_SIGNOUT = \"[AUTHENTICATION] Do Signout\",\r\n\tSIGNOUT = \"[AUTHENTICATION] Signout\",\r\n\tSIGNIN_SUCCEED = \"[AUTHENTICATION][Signin] Success\",\r\n\tSIGNIN_FAILURE = \"[AUTHENTICATION][Signin] Failure\",\r\n\tSIGNIN_REDIRECT = \"[AUTHENTICATION][Signin] Redirect\",\r\n\tSIGNIN_REQUIRED = \"[AUTHENTICATION][Signin] Required\"\r\n}\r\n\r\nexport class WhoAmIAction implements Action {\r\n\treadonly type = SignInActionTypes.WHO_AM_I;\r\n}\r\n\r\n/**\r\n * \tsign up\r\n */\r\nexport class Signup implements Action {\r\n\treadonly type = SignInActionTypes.SIGNUP;\r\n\tconstructor(public payload: Signin_ApiModel.Request) {}\r\n}\r\n\r\nexport class SignupSecceed implements Action {\r\n\treadonly type = SignInActionTypes.SIGNUP_SUCCEED;\r\n\tconstructor(public payload: any) {}\r\n}\r\n\r\nexport class SignupFailed implements Action {\r\n\treadonly type = SignInActionTypes.SIGNUP_FAILURE;\r\n\tconstructor(public payload: any) {}\r\n}\r\n\r\n/**\r\n * Sign in\r\n */\r\nexport class Signin implements Action {\r\n\treadonly type = SignInActionTypes.SIGNIN;\r\n\tconstructor(public payload: Signin_ApiModel.Request) {}\r\n}\r\n\r\nexport class SigninSecceed implements Action {\r\n\treadonly type = SignInActionTypes.SIGNIN_SUCCEED;\r\n\tconstructor(public payload: any) {}\r\n}\r\n\r\nexport class SigninFailed implements Action {\r\n\treadonly type = SignInActionTypes.SIGNIN_FAILURE;\r\n\tconstructor(public payload: any) {}\r\n}\r\n\r\nexport class SigninRedirect implements Action {\r\n\treadonly type = SignInActionTypes.SIGNIN_REDIRECT;\r\n}\r\n\r\nexport class DoSignoutAction implements Action {\r\n\treadonly type = SignInActionTypes.DO_SIGNOUT;\r\n}\r\n\r\nexport class SignoutAction implements Action {\r\n\treadonly type = SignInActionTypes.SIGNOUT;\r\n}\r\n\r\nexport class SigninRequiredAction implements Action {\r\n\treadonly type = SignInActionTypes.SIGNIN_REQUIRED;\r\n}\r\n\r\nexport type SigninAction =\r\n\t| WhoAmIAction\r\n\t| Signup\r\n\t| SignupSecceed\r\n\t| SignupFailed\r\n\t| Signin\r\n\t| SigninSecceed\r\n\t| SigninFailed\r\n\t| SigninRedirect\r\n\t| DoSignoutAction\r\n\t| SignoutAction\r\n\t| SigninRequiredAction;\r\n","import { InjectionToken } from \"@angular/core\";\r\nimport { Observable, of } from \"rxjs\";\r\n\r\nexport interface AuthenticationModuleConfig {\r\n\tmode?: string; // \"token-base\" | \"cookie-base\";\r\n\ttoken?: {\r\n\t\ttime: number;\r\n\t};\r\n\tserver?: string;\r\n\tendpoints?: {\r\n\t\tsignOut?: string;\r\n\t\tsignOutMethod?: string;\r\n\t\tsignIn?: string;\r\n\t\tsignUp?: string;\r\n\t\twhoAmI?: string;\r\n\t};\r\n\tforms?: {\r\n\t\tsignIn: string;\r\n\t\tsignUp: string;\r\n\t};\r\n\tenv?: {\r\n\t\tproduction: boolean;\r\n\t\tfrontend_server: string;\r\n\t\tserver: string;\r\n\t};\r\n\tafterSignoutRedirectTo?: string;\r\n\tsignupValidator?: (value: any) => Observable<boolean>;\r\n\tafterSignin?: (user: any) => void;\r\n\tresponseToUser?: (user: any) => any;\r\n}\r\n\r\nexport const MODULE_DEFAULT_CONFIG: AuthenticationModuleConfig = {\r\n\tmode: \"cookie-base\",\r\n\ttoken: {\r\n\t\ttime: 24 * 12 * 60 * 60\r\n\t},\r\n\tserver: \"frontend_server\",\r\n\tendpoints: {\r\n\t\tsignOut: \"\",\r\n\t\tsignOutMethod: \"get\",\r\n\t\tsignIn: \"\",\r\n\t\tsignUp: \"\",\r\n\t\twhoAmI: \"\"\r\n\t},\r\n\tforms: {\r\n\t\tsignIn: \"\",\r\n\t\tsignUp: \"\"\r\n\t},\r\n\tenv: {\r\n\t\tproduction: false,\r\n\t\tfrontend_server: \"auth/module/frontend_server/did/not/set\",\r\n\t\tserver: \"auth/module/server/did/not/set\"\r\n\t},\r\n\tafterSignoutRedirectTo: \"/\",\r\n\tsignupValidator: value => of(true),\r\n\tafterSignin: user => { },\r\n\tresponseToUser: user => user\r\n};\r\n\r\nexport const MODULE_CONFIG_TOKEN = new InjectionToken<AuthenticationModuleConfig>(\"ModuleConfig\");\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\nimport { getAuthenticationModuleConfig } from \"@soushians/config\";\r\n\r\nimport { MODULE_CONFIG_TOKEN, AuthenticationModuleConfig, MODULE_DEFAULT_CONFIG } from \"../authentication.config\";\r\nimport { AuthenticationState } from \"../reducers\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class AuthenticationConfigurationService {\r\n\tprivate _config: AuthenticationModuleConfig;\r\n\tget config() {\r\n\t\treturn this._config;\r\n\t}\r\n\tconfig$ = new BehaviorSubject(this._config);\r\n\r\n\tconstructor(@Inject(MODULE_CONFIG_TOKEN) configFile: any, private store: Store<AuthenticationState>) {\r\n\t\tthis._config = Object.assign({}, MODULE_DEFAULT_CONFIG, configFile);\r\n\t\tthis.config$.next(this._config);\r\n\t\tthis.store.select(getAuthenticationModuleConfig).subscribe(storeConfig => {\r\n\t\t\tif (!storeConfig) return;\r\n\t\t\tthis._config = Object.assign({}, this._config, storeConfig.Config);\r\n\t\t\tthis.config$.next(this._config);\r\n\t\t});\r\n\t}\r\n}\r\n","import { Action } from '@ngrx/store';\r\n\r\nexport const enum AuthenticationActionTypes {\r\n\tPROGRESSING_STARTED = '[AUTHENTICATION] PROGRESSING_STARTED',\r\n\tPROGRESSING_FINISHED = '[AUTHENTICATION] PROGRESSING_FINISHED',\r\n\tFAILED_HAPPENED = '[AUTHENTICATION] FAILED_HAPPENED'\r\n}\r\n\r\nexport class ProgressingStarted implements Action {\r\n\treadonly type = AuthenticationActionTypes.PROGRESSING_STARTED;\r\n}\r\nexport class ProgressingFinished implements Action {\r\n\treadonly type = AuthenticationActionTypes.PROGRESSING_FINISHED;\r\n}\r\nexport class FailedHappened implements Action {\r\n\treadonly type = AuthenticationActionTypes.FAILED_HAPPENED;\r\n\tconstructor(public payload: any) {}\r\n}\r\n\r\nexport type AuthenticationAction = ProgressingStarted | ProgressingFinished | FailedHappened;\r\n","import { Action } from '@ngrx/store';\r\n\r\nimport { TokenModel } from '../models';\r\n\r\nexport const NEW_CAPTCHA = '[captcha] new captcha';\r\nexport const TOKEN_REQUESTED = '[captcha] token_requested';\r\nexport const TOKEN_RECEIVED = '[captcha] token_received';\r\nexport const CAPTCHA_IMAGE_REQUESTED = '[captcha] captcha_image_requested';\r\nexport const CAPTCHA_IMAGE_LOADED = '[captcha] captcha_image_loaded';\r\nexport const CAPTCHA_ENTERED = '[captcha] CAPTCHA_ENTERED';\r\nexport const CLEAR_CAPTCHA = '[captcha] CLEAR_CAPTCHA';\r\n\r\nexport class NewCaptcha implements Action {\r\n readonly type = NEW_CAPTCHA;\r\n}\r\nexport class TokenRequested implements Action {\r\n readonly type = TOKEN_REQUESTED;\r\n}\r\nexport class TokenReceived implements Action {\r\n readonly type = TOKEN_RECEIVED;\r\n constructor(public payload: TokenModel) { }\r\n}\r\nexport class CaptchaImageRequested implements Action {\r\n readonly type = CAPTCHA_IMAGE_REQUESTED;\r\n}\r\nexport class CaptchaImageLoaded implements Action {\r\n readonly type = CAPTCHA_IMAGE_LOADED;\r\n}\r\nexport class CaptchaEntered implements Action {\r\n readonly type = CAPTCHA_ENTERED;\r\n constructor(public payload: string) { }\r\n}\r\nexport class ClearCaptcha implements Action {\r\n readonly type = CLEAR_CAPTCHA;\r\n}\r\nexport type CaptchaAction =\r\n | NewCaptcha\r\n | TokenRequested\r\n | TokenReceived\r\n | CaptchaImageRequested\r\n | CaptchaImageLoaded\r\n | CaptchaEntered\r\n | ClearCaptcha;","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable, throwError } from \"rxjs\";\r\nimport { MatSnackBar } from \"@angular/material\";\r\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\r\nimport { map, switchMap, take, filter, tap, catchError } from \"rxjs/operators\";\r\nimport { Store } from \"@ngrx/store\";\r\n\r\n// import { environment } from \"../../environments/environment\";\r\nimport { stringTemplate } from \"@soushians/shared\";\r\n\r\nimport { Signin_ApiModel, UserModel } from \"../models\";\r\nimport { AuthenticationConfigurationService } from \"./authentication-configuration.service\";\r\nimport { FeatureState } from \"../reducers\";\r\nimport { WhoAmIAction } from \"../actions\";\r\nimport { Cookie } from \"@soushians/shared\";\r\n\r\nconst COOKIE_NAME = \"ngs-authentication\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class SigninService {\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate store: Store<FeatureState>,\r\n\t\tprivate configurationService: AuthenticationConfigurationService,\r\n\t\tprivate snackBar: MatSnackBar\r\n\t) {\r\n\t\tsetTimeout(() => this.store.dispatch(new WhoAmIAction()), 300);\r\n\t}\r\n\r\n\tsignup(model: any): Observable<UserModel> {\r\n\t\treturn this.configurationService.config$.pipe(\r\n\t\t\tfilter(config => config.endpoints.signUp != \"\"),\r\n\t\t\ttake(1),\r\n\t\t\tswitchMap(config =>\r\n\t\t\t\tthis.http.post<Signin_ApiModel.Response>(config.env[config.server] + config.endpoints.signUp, model)\r\n\t\t\t),\r\n\t\t\tmap(response => {\r\n\t\t\t\tconst user: any = Object.assign({}, response.Result);\r\n\t\t\t\tif (user.Role) {\r\n\t\t\t\t\tuser.Roles = [ user.Role ];\r\n\t\t\t\t}\r\n\t\t\t\treturn user;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tsignin(model: any): Observable<UserModel> {\r\n\t\treturn this.configurationService.config$.pipe(\r\n\t\t\tfilter(config => config.endpoints.signIn != \"\"),\r\n\t\t\ttake(1),\r\n\t\t\tswitchMap(config => this.http.post<any>(config.env[config.server] + config.endpoints.signIn, model)),\r\n\t\t\tmap(this.configurationService.config.responseToUser),\r\n\t\t\tmap(user => {\r\n\t\t\t\tif (user.Role) {\r\n\t\t\t\t\tuser.Roles = [ user.Role ];\r\n\t\t\t\t}\r\n\t\t\t\treturn user;\r\n\t\t\t}),\r\n\t\t\ttap(user => {\r\n\t\t\t\tif (this.configurationService.config.mode == \"token-base\")\r\n\t\t\t\t\tCookie.setCookie(COOKIE_NAME, JSON.stringify(user), this.configurationService.config.token.time);\r\n\t\t\t}),\r\n\t\t\ttap(user => this.configurationService.config.afterSignin(user))\r\n\t\t);\r\n\t}\r\n\r\n\t// TODO:\r\n\tsignout(): Observable<any> {\r\n\t\tconst config = this.configurationService.config;\r\n\t\tconst tokenObject = JSON.parse(Cookie.getCookie(COOKIE_NAME));\r\n\r\n\t\tconst endpoint = stringTemplate(config.env[config.server] + config.endpoints.signOut, tokenObject);\r\n\t\tconst method = config.endpoints.signOutMethod || \"get\";\r\n\r\n\t\tif ([ \"get\", \"put\", \"post\", \"patch\", \"delete\" ].indexOf(method) === -1) {\r\n\t\t\tthrowError(`${method} is not valid http method. [ @starter/authentication/signinservice/singout ]`);\r\n\t\t}\r\n\r\n\t\treturn this.http[method](endpoint).pipe(\r\n\t\t\ttap(() => {\r\n\t\t\t\tCookie.deleteCookie(COOKIE_NAME);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\twhoAmI(): Observable<any> {\r\n\t\tdebugger;\r\n\t\tlet user = { Token: \"--\" };\r\n\t\tif (this.configurationService.config.mode == \"token-base\") {\r\n\t\t\ttry {\r\n\t\t\t\tuser = JSON.parse(Cookie.getCookie(COOKIE_NAME));\r\n\t\t\t} catch (error) {}\r\n\t\t}\r\n\t\treturn this.configurationService.config$.pipe(\r\n\t\t\tfilter(config => config.endpoints.whoAmI != \"\"),\r\n\t\t\ttake(1),\r\n\t\t\tswitchMap(config =>\r\n\t\t\t\tthis.http.get(stringTemplate(config.env[config.server] + config.endpoints.whoAmI, { user }))\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, OnInit, OnDestroy, Output, EventEmitter } from \"@angular/core\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { Store } from \"@ngrx/store\";\r\n\r\nimport { Signin } from \"../../actions\";\r\nimport { AuthenticationConfigurationService } from \"../../services/authentication-configuration.service\";\r\nimport { FeatureState } from \"../../reducers\";\r\n\r\n@Component({\r\n\ttemplate: `\r\n <auth-signin \r\n [formId]='(formId$ | async)'\r\n (signedin)=\"signIn($event)\"\r\n ></auth-signin>\r\n `\r\n})\r\nexport class SigninContainerComponent {\r\n\tformId$: Observable<string>;\r\n\t@Output() signedIn$ = new EventEmitter<boolean>();\r\n\tconstructor(private configurationService: AuthenticationConfigurationService, private store: Store<FeatureState>) {\r\n\t\tthis.formId$ = this.configurationService.config$.map(config => config.forms.signIn);\r\n\t}\r\n\r\n\tsignIn(formValue: any) {\r\n\t\tthis.store.dispatch(new Signin(formValue));\r\n\t\tthis.signedIn$.emit(true);\r\n\t}\r\n}\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n\ttemplate: `\r\n <router-outlet></router-outlet>\r\n `\r\n})\r\nexport class AuthenticationContainerComponent {}\r\n","import { Component, OnInit, OnDestroy, Output, EventEmitter } from \"@angular/core\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { Store } from \"@ngrx/store\";\r\n\r\nimport { Signup } from \"../../actions\";\r\nimport { CaptchaModel } from \"../../models\";\r\nimport { AuthenticationConfigurationService } from \"../../services/authentication-configuration.service\";\r\nimport { FeatureState } from \"../../reducers\";\r\nimport { MatSnackBar } from \"@angular/material\";\r\nimport { take, switchMap, filter, tap } from \"rxjs/operators\";\r\n\r\n@Component({\r\n\ttemplate: `\r\n <auth-signup \r\n [formId]='(formId$ | async)'\r\n (signedup)=\"signup($event)\"\r\n ></auth-signup>\r\n `\r\n})\r\nexport class SignupContainerComponent {\r\n\tformId$: Observable<string>;\r\n\t@Output() signedUp$ = new EventEmitter<boolean>();\r\n\tconstructor(\r\n\t\tprivate configurationService: AuthenticationConfigurationService,\r\n\t\tprivate store: Store<FeatureState>,\r\n\t\tprivate snackBar: MatSnackBar\r\n\t) {\r\n\t\tthis.formId$ = this.configurationService.config$.map(config => config.forms.signUp);\r\n\t}\r\n\r\n\tsignup(formValue: any) {\r\n\t\tthis.configurationService.config$\r\n\t\t\t.pipe(take(1), switchMap(config => config.signupValidator(formValue)))\r\n\t\t\t.subscribe(validation => {\r\n\t\t\t\tif (validation) {\r\n\t\t\t\t\tthis.store.dispatch(new Signup(formValue));\r\n\t\t\t\t\tthis.signedUp$.emit(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snackBar.open(\"رمز عبور یکسان نیست\", null, {\r\n\t\t\t\t\t\tduration: 2222\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n}\r\n","import { ModuleWithProviders } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { SigninGuard } from \"./routing-guards\";\r\nimport { AuthenticationContainerComponent } from \"./smart-components/authentication-container/authentication-container.component\";\r\nimport { SigninContainerComponent } from \"./smart-components/signin-container/signin-container.component\";\r\nimport { SignupContainerComponent } from \"./smart-components/signup-container/signup-container.component\";\r\n\r\nconst routes: Routes = [\r\n\t{\r\n\t\tpath: \"auth\",\r\n\t\tcomponent: AuthenticationContainerComponent,\r\n\t\tchildren: [\r\n\t\t\t{\r\n\t\t\t\tpath: \"signin\",\r\n\t\t\t\t// canActivate: [ SigninGuard ],\r\n\t\t\t\tcomponent: SigninContainerComponent\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"signup\",\r\n\t\t\t\t// canActivate: [ SigninGuard ],\r\n\t\t\t\tcomponent: SignupContainerComponent\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n];\r\n\r\nexport const AuthenticationRoutingModule: ModuleWithProviders = RouterModule.forChild(routes);\r\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs/Rx\";\r\n\r\n@Component({\r\n\tselector: \"auth-signin\",\r\n\ttemplateUrl: \"./signin.component.html\",\r\n\tstyleUrls: [ \"./signin.component.scss\" ]\r\n})\r\nexport class SigninComponent {\r\n\t@Output() signedin = new EventEmitter();\r\n\r\n\t@Input() formId: string;\r\n\r\n\tsignin(formGroup: FormGroup) {\r\n\t\tif (!formGroup.valid) return;\r\n\t\tthis.signedin.emit(formGroup.value);\r\n\t}\r\n\r\n\tconstructor() {}\r\n}\r\n","import \"rxjs/add/operator/do\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpInterceptor } from \"@angular/common/http\";\r\nimport { HttpRequest } from \"@angular/common/http\";\r\nimport { HttpHandler } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { HttpEvent } from \"@angular/common/http\";\r\nimport { HttpResponse } from \"@angular/common/http\";\r\nimport { AuthenticationConfigurationService } from \"../services/authentication-configuration.service\";\r\n// import { environment } from \"../../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class WithCredentialInterceptor implements HttpInterceptor {\r\n\tconstructor(private configurationService: AuthenticationConfigurationService) {}\r\n\tintercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n\t\t// if (!this.configurationService.config.env.production)\r\n\t\t(request as any).withCredentials = true;\r\n\t\treturn next.handle(request);\r\n\t}\r\n}\r\n","import { HttpInterceptor } from \"@angular/common/http\";\r\nimport { HttpRequest } from \"@angular/common/http\";\r\nimport { HttpHandler } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { HttpEvent } from \"@angular/common/http\";\r\nimport { HttpResponse } from \"@angular/common/http\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\nimport { Store } from \"@ngrx/store\";\r\nimport { SignoutAction } from \"../actions\";\r\nimport * as fromAuth from \"../reducers\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { of, throwError } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class UnauthorizedInterceptor implements HttpInterceptor {\r\n\tconstructor(\r\n\t\tprivate router: Router,\r\n\t\tprivate store: Store<fromAuth.FeatureState> // private signinService: SigninService\r\n\t) {}\r\n\tintercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n\t\treturn next\r\n\t\t\t.handle(request)\r\n\t\t\t.map((event: HttpEvent<any>) => {\r\n\t\t\t\tif (event instanceof HttpResponse) return event;\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t\tif (!(err instanceof HttpErrorResponse)) return throwError(err);\r\n\t\t\t\tif (err.status != 401) return throwError(err);\r\n\t\t\t\tif (err.url.includes(\"logout\")) return throwError(err);\r\n\t\t\t\tif (err.url.includes(\"user/account/profile\")) return throwError(err);\r\n\r\n\t\t\t\tthis.store.dispatch(new SignoutAction());\r\n\r\n\t\t\t\treturn throwError(\"Unauthorized\");\r\n\t\t\t});\r\n\t}\r\n}\r\n","import { SigninAction, SignInActionTypes } from \"../actions/signin.actions\";\r\nimport { UserModel } from \"../models/user.model\";\r\n\r\nexport interface State {\r\n\tloggedIn: boolean;\r\n\tuser: UserModel;\r\n}\r\n\r\nexport const initialState: State = {\r\n\tloggedIn: false,\r\n\tuser: new UserModel({ Id: 1 })\r\n};\r\n\r\nexport function UserReducer(state = initialState, action: SigninAction): State {\r\n\tswitch (action.type) {\r\n\t\tcase SignInActionTypes.SIGNIN_SUCCEED: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloggedIn: true,\r\n\t\t\t\tuser: action.payload\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase SignInActionTypes.SIGNOUT: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloggedIn: false,\r\n\t\t\t\tuser: new UserModel()\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tdefault: {\r\n\t\t\treturn state;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//#region selectors\r\nexport const getLoggedIn = (state: State) => state.loggedIn;\r\nexport const getUser = (state: State) => state.user;\r\n//#endregion\r\n","import { createSelector, createFeatureSelector, MemoizedSelector } from \"@ngrx/store\";\r\n\r\nimport * as userReducer from \"./user.reducer\";\r\n// import * as captchaReducer from \"./captcha.reducer\";\r\n\r\nimport { UserModel } from \"../models/user.model\";\r\n\r\nexport interface AuthenticationState {\r\n\tuserStatus: userReducer.State;\r\n\t// captcha: captchaReducer.State;\r\n}\r\n\r\nexport interface FeatureState {\r\n\t\"authentication\": AuthenticationState;\r\n}\r\n\r\nexport const AuthenticationReducers = {\r\n\tuserStatus: userReducer.UserReducer\r\n\t// captcha: captchaReducer.CaptchaReducer\r\n};\r\n\r\n//#region selectors\r\n\r\nexport const selectAuthenticationState = createFeatureSelector<AuthenticationState>(\"authentication\");\r\n\r\nexport const selectAuthState = createSelector(\r\n\tselectAuthenticationState,\r\n\t(state: AuthenticationState) => state.userStatus\r\n);\r\n\r\nexport const getLoggedIn = createSelector(selectAuthState, userReducer.getLoggedIn);\r\nexport const getUser = createSelector(selectAuthState, userReducer.getUser);\r\n\r\n// export const selectCaptchaState = createSelector(selectAuthenticationState, (state: AuthenticationState) => {\r\n// \treturn state.captcha;\r\n// });\r\n\r\n// export const getCaptcha = createSelector(selectCaptchaState, captchaReducer.getCaptcha);\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { Action } from \"@ngrx/store\";\r\nimport { Actions, Effect, ofType } from \"@ngrx/effects\";\r\nimport { RouterAction } from \"@ngrx/router-store\";\r\nimport { switchMap, map, catchError, tap, pluck } from \"rxjs/operators\";\r\nimport { of } from \"rxjs\";\r\n\r\nimport {\r\n\tSignoutAction,\r\n\tSignInActionTypes,\r\n\tSigninSecceed,\r\n\tSigninFailed,\r\n\tSigninRedirect,\r\n\tSignin,\r\n\tSignupSecceed,\r\n\tSignupFailed\r\n} from \"../actions/signin.actions\";\r\nimport { SigninService } from \"../services/signin.service\";\r\nimport { NewCaptcha } from \"../actions\";\r\nimport { SigninContainerComponent } from \"../smart-components/signin-container\";\r\nimport { MatBottomSheet } from \"@angular/material\";\r\nimport { AuthenticationConfigurationService } from \"../services/authentication-configuration.service\";\r\n\r\n@Injectable()\r\nexport class SigninEffects {\r\n\tconstructor(\r\n\t\tprivate actions$: Actions,\r\n\t\tprivate router: Router,\r\n\t\tpublic signinService: SigninService,\r\n\t\tpublic configurationService: AuthenticationConfigurationService,\r\n\t\tprivate bottomSheet: MatBottomSheet\r\n\t) {}\r\n\r\n\t@Effect()\r\n\twhoAmI$ = this.actions$.pipe(\r\n\t\tofType(SignInActionTypes.WHO_AM_I),\r\n\t\tswitchMap(() =>\r\n\t\t\tthis.signinService\r\n\t\t\t\t.whoAmI()\r\n\t\t\t\t.pipe(map(user => new SigninSecceed(user)), catchError(error => of(new SigninFailed(error))))\r\n\t\t)\r\n\t);\r\n\r\n\t@Effect()\r\n\tSignin$ = this.actions$.pipe(\r\n\t\tofType(SignInActionTypes.SIGNIN),\r\n\t\tpluck(\"payload\"),\r\n\t\tswitchMap(payload =>\r\n\t\t\tthis.signinService\r\n\t\t\t\t.signin(payload)\r\n\t\t\t\t.pipe(map(user => new SigninSecceed(user)), catchError(error => of(new SigninFailed(error))))\r\n\t\t)\r\n\t);\r\n\r\n\t@Effect()\r\n\tsignup$ = this.actions$.pipe(\r\n\t\tofType(SignInActionTypes.SIGNUP),\r\n\t\tpluck(\"payload\"),\r\n\t\tswitchMap(payload =>\r\n\t\t\tthis.signinService\r\n\t\t\t\t.signup(payload)\r\n\t\t\t\t.pipe(map(user => new SignupSecceed(user)), catchError(error => of(new SignupFailed(error))))\r\n\t\t)\r\n\t);\r\n\r\n\t@Effect({ dispatch: false })\r\n\tsignupSucceed$ = this.actions$.pipe(\r\n\t\tofType(SignInActionTypes.SIGNUP_SUCCEED),\r\n\t\ttap(() => {\r\n\t\t\tdebugger;\r\n\t\t\tthis.router.navigate([ \"auth/signin\" ]);\r\n\t\t})\r\n\t);\r\n\r\n\t@Effect({ dispatch: false })\r\n\tSignInRequired$ = this.actions$.pipe(\r\n\t\tofType(SignInActionTypes.SIGNIN_REQUIRED),\r\n\t\ttap((data: any) => {\r\n\t\t\tconst signinBottomSheetRef = this.bottomSheet.open(SigninContainerComponent, {\r\n\t\t\t\tpanelClass: \"clear-mat-card-box\"\r\n\t\t\t});\r\n\t\t\tsigninBottomSheetRef.instance.signedIn$.subscribe(() => {\r\n\t\t\t\tsigninBottomSheetRef.dismiss();\r\n\t\t\t});\r\n\t\t\treturn signinBottomSheetRef;\r\n\t\t})\r\n\t);\r\n\r\n\t@Effect({ dispatch: false })\r\n\tSigninSucceed$ = this.actions$.pipe(\r\n\t\tofType(SignInActionTypes.SIGNIN_SUCCEED),\r\n\t\ttap((data: any) => {\r\n\t\t\tif (location.pathname.indexOf(\"signin\") > -1) this.router.navigate([ \"/\" ]);\r\n\t\t})\r\n\t);\r\n\r\n\t@Effect()\r\n\tAfterSigninFiled$ = this.actions$.pipe(ofType(SignInActionTypes.SIGNIN_FAILURE), map(() => new NewCaptcha()));\r\n\r\n\t@Effect()\r\n\tDoSignout$ = this.actions$.pipe(\r\n\t\tofType(SignInActionTypes.DO_SIGNOUT),\r\n\t\tswitchMap(data =>\r\n\t\t\tthis.signinService.signout().pipe(\r\n\t\t\t\tmap(() => new SignoutAction()),\r\n\t\t\t\tcatchError(err => {\r\n\t\t\t\t\t// TODO: dispatch valid action\r\n\t\t\t\t\tdebugger;\r\n\t\t\t\t\treturn of(err);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t)\r\n\t);\r\n\r\n\t// TODO\r\n\t// @Effect() Signout$ = this.actions$.ofType(SignInActionTypes.DO_SIGNOUT).pipe(map(() => new SignoutAction()));\r\n\r\n\t@Effect({ dispatch: false })\r\n\tredirectToLoginPage$ = this.actions$.pipe(\r\n\t\tofType(SignInActionTypes.SIGNIN_REDIRECT),\r\n\t\ttap(authed => this.router.navigate([ \"auth/signin\" ]))\r\n\t);\r\n\r\n\t@Effect({ dispatch: false })\r\n\tredirectAfterSignout$ = this.actions$.pipe(\r\n\t\tofType(SignInActionTypes.SIGNOUT),\r\n\t\ttap(authed => this.router.navigate([ this.configurationService.config$.getValue().afterSignoutRedirectTo ]))\r\n\t);\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, Effect, ofType } from \"@ngrx/effects\";\r\n\r\nimport { SignInActionTypes, FailedHappened, ProgressingStarted, ProgressingFinished } from \"../actions\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class AuthenticationEffects {\r\n\tconstructor(private actions$: Actions<any>) {}\r\n\r\n\t@Effect()\r\n\tdispachProgressingStarted$ = this.actions$.pipe(\r\n\t\tofType(SignInActionTypes.SIGNIN),\r\n\t\tmap(() => new ProgressingStarted())\r\n\t);\r\n\r\n\t@Effect()\r\n\tdispachProgressingFinished$ = this.actions$.pipe(\r\n\t\tofType(SignInActionTypes.SIGNIN_FAILURE, SignInActionTypes.SIGNIN_SUCCEED),\r\n\t\tmap(() => new ProgressingFinished())\r\n\t);\r\n}\r\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs/Rx\";\r\n\r\n@Component({\r\n\tselector: \"auth-signup\",\r\n\ttemplateUrl: \"./signup.component.html\",\r\n\tstyleUrls: [ \"./signup.component.scss\" ]\r\n})\r\nexport class SignupComponent {\r\n\t@Output() signedup = new EventEmitter();\r\n\r\n\t@Input() formId: string;\r\n\r\n\tsignup(formGroup: FormGroup) {\r\n\t\tif (!formGroup.valid) return;\r\n\t\tthis.signedup.emit(formGroup.value);\r\n\t}\r\n\r\n\tconstructor() {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CanActivate, RouterStateSnapshot, ActivatedRouteSnapshot } from \"@angular/router\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Observable } from \"rxjs/Observable\";\r\n\r\nimport { FeatureState, getLoggedIn } from \"../reducers\";\r\n\r\n@Injectable()\r\nexport class SigninGuard implements CanActivate {\r\n\tconstructor(private store: Store<FeatureState>) {}\r\n\r\n\tcanActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\r\n\t\treturn this.store.select(getLoggedIn).take(1).map(authed => !authed);\r\n\t}\r\n}\r\n","// import { name, version } from \"../../package.json\";\r\n\r\nimport { NgModule, ModuleWithProviders, InjectionToken, Injectable, Inject } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\nimport { FlexLayoutModule } from \"@angular/flex-layout\";\r\nimport {\r\n\tMatIconModule,\r\n\tMatButtonModule,\r\n\tMatCardModule,\r\n\tMatSnackBarModule,\r\n\tMatSidenavModule,\r\n\tMatExpansionModule,\r\n\tMatSelectModule,\r\n\tMatFormFieldModule,\r\n\tMatListModule,\r\n\tMatMenuModule,\r\n\tMatRadioModule,\r\n\tMatInputModule,\r\n\tMatToolbarModule,\r\n\tMatDatepickerModule,\r\n\tMatProgressBarModule,\r\n\tMatBottomSheetModule\r\n} from \"@angular/material\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\n\r\nimport { NgsFormModule } from \"@soushians/form\";\r\n\r\nimport { AuthenticationModuleConfig, MODULE_CONFIG_TOKEN } from \"./authentication.config\";\r\nimport { AuthenticationRoutingModule } from \"./authentication-routing.module\";\r\nimport { SigninContainerComponent } from \"./smart-components/signin-container/signin-container.component\";\r\nimport { SigninComponent } from \"./dump-components/signin/signin.component\";\r\nimport { AuthenticationContainerComponent } from \"./smart-components/authentication-container/authentication-container.component\";\r\n\r\nimport { WithCredentialInterceptor } from \"./interceptors/with-credential.interceptor\";\r\nimport { UnauthorizedInterceptor } from \"./interceptors/unauthorized.interceptor\";\r\n\r\nimport { AuthenticationReducers } from \"./reducers/index\";\r\n\r\nimport { SigninEffects } from \"./effects/signin.effects\";\r\nimport { AuthenticationEffects } from \"./effects/authentication.effects\";\r\nimport { SigninService } from \"./services/signin.service\";\r\nimport { SignupContainerComponent } from \"./smart-components/signup-container/signup-container.component\";\r\nimport { SignupComponent } from \"./dump-components/signup/signup.component\";\r\nimport { SigninGuard } from \"./routing-guards/signin.guard\";\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tRouterModule,\r\n\t\tFormsModule,\r\n\t\tHttpClientModule,\r\n\t\tFlexLayoutModule,\r\n\t\tMatIconModule,\r\n\t\tMatButtonModule,\r\n\t\tMatCardModule,\r\n\t\tMatSnackBarModule,\r\n\t\tMatSidenavModule,\r\n\t\tMatExpansionModule,\r\n\t\tMatSelectModule,\r\n\t\tMatBottomSheetModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatListModule,\r\n\t\tMatMenuModule,\r\n\t\tMatRadioModule,\r\n\t\tMatInputModule,\r\n\t\tMatToolbarModule,\r\n\t\tMatDatepickerModule,\r\n\t\tMatProgressBarModule,\r\n\t\tBrowserAnimationsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFormsModule,\r\n\t\tNgsFormModule\r\n\t],\r\n\tdeclarations: [\r\n\t\tSigninContainerComponent,\r\n\t\tSigninComponent,\r\n\t\tAuthenticationContainerComponent,\r\n\t\tSignupContainerComponent,\r\n\t\tSignupComponent\r\n\t],\r\n\tentryComponents: [SigninContainerComponent],\r\n\tproviders: [SigninGuard],\r\n\texports: []\r\n})\r\nexport class NgsAuthenticationModule {\r\n\tstatic forRoot(config: AuthenticationModuleConfig = <AuthenticationModuleConfig>{}): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: RootNgsAuthenticationModule,\r\n\t\t\tproviders: [\r\n\t\t\t\t{ provide: MODULE_CONFIG_TOKEN, useValue: config },\r\n\t\t\t\t{\r\n\t\t\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\t\t\tuseClass: UnauthorizedInterceptor,\r\n\t\t\t\t\tmulti: true\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\t\t\tuseClass: WithCredentialInterceptor,\r\n\t\t\t\t\tmulti: true\r\n\t\t\t\t},\r\n\t\t\t\tSigninService\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n}\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tStoreModule.forFeature(\"authentication\", AuthenticationReducers),\r\n\t\tEffectsModule.forFeature([SigninEffects, AuthenticationEffects]),\r\n\t\tAuthenticationRoutingModule,\r\n\t\tNgsAuthenticationModule\r\n\t]\r\n})\r\nexport class RootNgsAuthenticationModule {\r\n\tconstructor() {\r\n\t\t(<any>window).___starter = (<any>window).___starter || {};\r\n\t\t(<any>window).___starter.authentication = \"8.0.10\";\r\n\t}\r\n}\r\n"],"names":["of","InjectionToken","BehaviorSubject","getAuthenticationModuleConfig","Injectable","Inject","Store","filter","take","switchMap","map","tap","Cookie","stringTemplate","throwError","HttpClient","MatSnackBar","EventEmitter","Component","Output","RouterModule","Input","HttpResponse","HttpErrorResponse","Router","userReducer.UserReducer","createFeatureSelector","createSelector","getLoggedIn","userReducer.getLoggedIn","getUser","userReducer.getUser","ofType","catchError","pluck","Actions","MatBottomSheet","tslib_1.__decorate","Effect","HTTP_INTERCEPTORS","NgModule","CommonModule","FormsModule","HttpClientModule","FlexLayoutModule","MatIconModule","MatButtonModule","MatCardModule","MatSnackBarModule","MatSidenavModule","MatExpansionModule","MatSelectModule","MatBottomSheetModule","MatFormFieldModule","MatListModule","MatMenuModule","MatRadioModule","MatInputModule","MatToolbarModule","MatDatepickerModule","MatProgressBarModule","BrowserAnimationsModule","ReactiveFormsModule","NgsFormModule","StoreModule","EffectsModule"],"mappings":"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"}
\No newline at end of file