@nakedcreativity/membrs-angular-helper 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bundles/nakedcreativity-membrs-angular-helper.umd.js +42 -434
- package/bundles/nakedcreativity-membrs-angular-helper.umd.js.map +1 -1
- package/bundles/nakedcreativity-membrs-angular-helper.umd.min.js +1 -15
- package/bundles/nakedcreativity-membrs-angular-helper.umd.min.js.map +1 -1
- package/esm2015/lib/membrs.component.js +18 -0
- package/esm2015/lib/membrs.module.js +9 -95
- package/esm2015/lib/membrs.service.js +11 -99
- package/esm2015/nakedcreativity-membrs-angular-helper.js +1 -2
- package/esm2015/public-api.js +2 -2
- package/fesm2015/nakedcreativity-membrs-angular-helper.js +33 -202
- package/fesm2015/nakedcreativity-membrs-angular-helper.js.map +1 -1
- package/lib/membrs.component.d.ts +5 -0
- package/lib/membrs.module.d.ts +0 -21
- package/lib/membrs.service.d.ts +1 -15
- package/nakedcreativity-membrs-angular-helper.d.ts +0 -2
- package/nakedcreativity-membrs-angular-helper.metadata.json +1 -1
- package/package.json +8 -8
- package/public-api.d.ts +1 -1
- package/esm2015/lib/config.interface.js +0 -1
- package/esm2015/lib/config.service.js +0 -7
- package/esm2015/lib/router.config.js +0 -15
- package/esm2015/lib/token.js +0 -4
- package/esm5/lib/config.interface.js +0 -1
- package/esm5/lib/config.service.js +0 -7
- package/esm5/lib/membrs.module.js +0 -102
- package/esm5/lib/membrs.service.js +0 -116
- package/esm5/lib/router.config.js +0 -15
- package/esm5/lib/token.js +0 -4
- package/esm5/nakedcreativity-membrs-angular-helper.js +0 -6
- package/esm5/public-api.js +0 -7
- package/fesm5/nakedcreativity-membrs-angular-helper.js +0 -238
- package/fesm5/nakedcreativity-membrs-angular-helper.js.map +0 -1
- package/lib/config.interface.d.ts +0 -7
- package/lib/config.service.d.ts +0 -7
- package/lib/router.config.d.ts +0 -3
- package/lib/token.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@nakedcreativity/membrs-angular-helper/lib/config.service.ts","ng://@nakedcreativity/membrs-angular-helper/lib/membrs.service.ts","ng://@nakedcreativity/membrs-angular-helper/lib/router.config.ts","ng://@nakedcreativity/membrs-angular-helper/lib/token.ts","ng://@nakedcreativity/membrs-angular-helper/lib/membrs.module.ts"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","MembrsConfigService","InjectionToken","MembrsService","jwtService","http","config","this","_lsKey","console","log","localStorage","getItem","token","paramIndex","decorator","prototype","reissue","_this","Promise","resolve","reject","_token","reissueIn","_decoded","exp","Math","floor","Date","now","post","apiProtocol","api","subscribe","response","error","setItem","decodeToken","profile","permission","logout","get","responseType","removeItem","login","JwtHelperService","HttpClient","Inject","args","Injectable","providedIn","routerConfigFn","router","injector","transitionService","stateService","defaultErrorHandler","detail","window","location","href","go","defaultState","retrieveToken","validateResolve","deps","Transition","UIRouter","resolveFn","validateResolveFn","reissueResolve","reissueResolveFn","reissueState","name","url","views","transition","membrsService","membrsConfig","params","then","inherit","catch","STATES","MembrsModule","forRoot","moduleProviders","UIRouterModule","forChild","states","providers","push","JwtModule","tokenGetter","provide","useValue","ngModule","MembrsModule_1","NgModule","imports","CommonModule","HttpClientModule"],"mappings":"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","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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\nimport { MembrsConfig } from './config.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionTToken used to import the config object, provided from the outside\n */\nexport const MembrsConfigService = new InjectionToken<MembrsConfig>(\"MembrsConfig\");\n","import { Injectable, Inject } from '@angular/core';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport { HttpClient } from '@angular/common/http'\nimport { MembrsConfigService } from './config.service'\nimport { MembrsConfig } from './config.interface';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class MembrsService {\n\n _token: string;\n _decoded: any;\n _lsKey: string = 'membrs';\n\n constructor(private jwtService: JwtHelperService, private http: HttpClient, @Inject(MembrsConfigService) private config: MembrsConfig) {\n\n console.log('membrs constructor')\n // if the token exists in local storage, retrieve it back to the service\n if(localStorage.getItem(this._lsKey)){\n this.token = localStorage.getItem(this._lsKey)\n }\n \n }\n\n reissue(token?:string){\n\n return new Promise((resolve, reject)=>{\n\n if(!token && !this._token){\n console.log('reject, not logged in')\n reject('NOT_LOGGED_IN')\n }\n\n if(token)\n this.token = token\n\n // check stored token has not expired, or needs to be reissued soon\n var reissueIn = this._decoded.exp - Math.floor(Date.now()/1000)\n \n // token has expired\n if(reissueIn < 0){\n reject('NOT_LOGGED_IN')\n }\n \n // token expiring soon\n if(reissueIn < 300){\n \n console.log('expires less than 300')\n \n \n console.log(this.config)\n\n this.http.post(this.config.apiProtocol + this.config.api+'/token/'+this._token, {}).subscribe((response:any)=>{\n console.log('reissue response')\n console.log(response)\n if(response.token){\n this.token = response.token\n resolve(this._token)\n }else {\n console.log('error')\n console.log(response)\n reject('NOT_LOGGED_IN')\n }\n \n }, error=>{\n console.log(error)\n reject('NOT_LOGGED_IN')\n })\n\n }else {\n console.log('token ok')\n resolve(this._token)\n }\n \n })\n \n }\n\n set token(token){\n this._token = token\n localStorage.setItem(this._lsKey, token)\n this._decoded = this.jwtService.decodeToken(this._token)\n }\n\n get profile(){\n return this._decoded\n }\n\n get admin (){\n return this.profile.permission == 1\n }\n\n logout(){\n return new Promise((resolve, reject)=>{\n this.http.get(this.config.apiProtocol+this.config.api+'/token/'+this._token+'/delete', {responseType: 'text'}).subscribe((response:any)=>{\n this._token = null;\n localStorage.removeItem(this._lsKey)\n resolve(this.config.login)\n //this.router.stateService.go('dashboard')\n }, error=>{\n reject(this.config.login)\n })\n })\n \n }\n\n\n}\n","import { UIRouter } from '@uirouter/core';\nimport { MembrsConfigService } from './config.service'\nimport { MembrsConfig } from './config.interface';\nimport { Injector } from '@angular/core';\n\nexport function routerConfigFn(router: UIRouter, injector: Injector) {\n\n const transitionService = router.transitionService;\n const stateService = router.stateService\n const config:MembrsConfig = injector.get(MembrsConfigService)\n\n \tstateService.defaultErrorHandler(function(error) {\n\t\t \n\t\tconsole.log('Default error handler - Membrs Angular Helper')\n\t\tconsole.log(error)\n\t\t\t\n\t\tif(error.detail == 'NOT_LOGGED_IN')\n\t\t\twindow.location.href = config.login;\n\n\t\tif(error.detail == 'INSUFFICIENT_PERMISSIONS')\n\t\t\tstateService.go(config.defaultState)\n\n\t});\n\t\n}","export function retrieveToken() {\n return localStorage.getItem('membrs');\n}","import { NgModule, ModuleWithProviders, Injector } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MembrsService } from './membrs.service';\nimport { JwtModule } from \"@auth0/angular-jwt\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { UIRouterModule } from '@uirouter/angular'\n\nimport { Ng2StateDeclaration } from '@uirouter/angular';\nimport { Transition, UIRouter } from '@uirouter/angular'\n\nimport { routerConfigFn } from './router.config';\nimport { MembrsConfig } from './config.interface';\nimport { MembrsConfigService } from './config.service';\nimport { retrieveToken } from './token';\n\nexport const validateResolve = {\n token: 'reissue',\n deps: [ Transition, UIRouter, MembrsService, MembrsConfigService ],\n resolveFn: validateResolveFn\n}\n\nexport const reissueResolve = {\n token: 'reissue',\n deps: [ Transition, UIRouter, MembrsService, MembrsConfigService ],\n resolveFn: reissueResolveFn\n}\n\nexport const reissueState:Ng2StateDeclaration = {\n\tname: 'reissue', \n\turl: '/reissue?token',\n\tviews: { },\n\tresolve: [\n reissueResolve\n\t]\n}\n\nexport function reissueResolveFn(transition, router, membrsService, membrsConfig:MembrsConfig) {\n \n //console.log(membrsService)\n return new Promise((resolve, reject) => {\n console.log('reissue promise resolve')\n console.log(transition.params().token)\n membrsService.reissue(transition.params().token).then((response)=>{\n console.log('redirect to default state')\n router.stateService.go(membrsConfig.defaultState, {}, {inherit:false})\n reject()\n }).catch(error=>{\n console.log('error in reissue resolve')\n console.log(error)\n //window.location.href = environment.login\n reject(error)\n })\n\n\t})\n}\n\nexport function validateResolveFn(transition, router, membrsService, membrsConfig:MembrsConfig) {\n \n //console.log(membrsService)\n return new Promise((resolve, reject) => {\n console.log('validate promise resolve')\n \n membrsService.reissue().then((response)=>{\n resolve()\n }).catch(error=>{\n window.location.href = membrsConfig.login\n //reject(error)\n })\n\n})\n}\n\n\n/** The top level state(s) */\nexport const STATES = [\n reissueState\n]\n\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule\n //JwtModule\n // UIRouterModule.forChild({\n // states: STATES,\n // config: routerConfigFn,\n // }),\n // JwtModule.forRoot({})\n ]\n})\n\n\n\nexport class MembrsModule { \n static forRoot(config: MembrsConfig): ModuleWithProviders<MembrsModule> {\n\n\n const moduleProviders = UIRouterModule.forChild({\n states: STATES,\n config: routerConfigFn\n }).providers\n\n moduleProviders.push(JwtModule.forRoot({\n config: {\n tokenGetter: retrieveToken\n }\n }).providers)\n \n moduleProviders.push(MembrsService)\n moduleProviders.push({provide: MembrsConfigService,useValue: config});\n return {\n ngModule: MembrsModule, \n providers: [{provide: MembrsConfigService,useValue: config}]\n };\n \n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../projects/membrs/src/lib/membrs.service.ts","../../../projects/membrs/src/lib/membrs.component.ts","../../../projects/membrs/src/lib/membrs.module.ts"],"names":["Injectable","args","providedIn","MembrsComponent","prototype","ngOnInit","Component","selector","template","NgModule","declarations","imports","exports"],"mappings":"oXAOE,4HALDA,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,kECWZ,SAAAC,YAEAA,EAAAC,UAAAC,SAAA,sCAdDC,EAAAA,UAASL,KAAA,CAAC,CACTM,SAAU,aACVC,SAAU,+FCOZ,iCANCC,EAAAA,SAAQR,KAAA,CAAC,CACRS,aAAc,CAACP,GACfQ,QAAS,GAETC,QAAS,CAACT","sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MembrsService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-membrs',\n template: `\n <p>\n membrs works!\n </p>\n `,\n styles: [\n ]\n})\nexport class MembrsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { MembrsComponent } from './membrs.component';\n\n\n\n@NgModule({\n declarations: [MembrsComponent],\n imports: [\n ],\n exports: [MembrsComponent]\n})\nexport class MembrsModule { }\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
export class MembrsComponent {
|
|
3
|
+
constructor() { }
|
|
4
|
+
ngOnInit() {
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
MembrsComponent.decorators = [
|
|
8
|
+
{ type: Component, args: [{
|
|
9
|
+
selector: 'lib-membrs',
|
|
10
|
+
template: `
|
|
11
|
+
<p>
|
|
12
|
+
membrs works!
|
|
13
|
+
</p>
|
|
14
|
+
`
|
|
15
|
+
},] }
|
|
16
|
+
];
|
|
17
|
+
MembrsComponent.ctorParameters = () => [];
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYnJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lbWJycy9zcmMvbGliL21lbWJycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQVlsRCxNQUFNLE9BQU8sZUFBZTtJQUUxQixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7O1lBZkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUU7Ozs7R0FJVDthQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW1lbWJycycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHA+XG4gICAgICBtZW1icnMgd29ya3MhXG4gICAgPC9wPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNZW1icnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIl19
|
|
@@ -1,98 +1,12 @@
|
|
|
1
|
-
var MembrsModule_1;
|
|
2
|
-
import { __decorate } from "tslib";
|
|
3
1
|
import { NgModule } from '@angular/core';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
import { JwtModule } from "@auth0/angular-jwt";
|
|
7
|
-
import { HttpClientModule } from "@angular/common/http";
|
|
8
|
-
import { UIRouterModule } from '@uirouter/angular';
|
|
9
|
-
import { Transition, UIRouter } from '@uirouter/angular';
|
|
10
|
-
import { routerConfigFn } from './router.config';
|
|
11
|
-
import { MembrsConfigService } from './config.service';
|
|
12
|
-
import { retrieveToken } from './token';
|
|
13
|
-
export const validateResolve = {
|
|
14
|
-
token: 'reissue',
|
|
15
|
-
deps: [Transition, UIRouter, MembrsService, MembrsConfigService],
|
|
16
|
-
resolveFn: validateResolveFn
|
|
17
|
-
};
|
|
18
|
-
export const reissueResolve = {
|
|
19
|
-
token: 'reissue',
|
|
20
|
-
deps: [Transition, UIRouter, MembrsService, MembrsConfigService],
|
|
21
|
-
resolveFn: reissueResolveFn
|
|
22
|
-
};
|
|
23
|
-
export const reissueState = {
|
|
24
|
-
name: 'reissue',
|
|
25
|
-
url: '/reissue?token',
|
|
26
|
-
views: {},
|
|
27
|
-
resolve: [
|
|
28
|
-
reissueResolve
|
|
29
|
-
]
|
|
30
|
-
};
|
|
31
|
-
export function reissueResolveFn(transition, router, membrsService, membrsConfig) {
|
|
32
|
-
//console.log(membrsService)
|
|
33
|
-
return new Promise((resolve, reject) => {
|
|
34
|
-
console.log('reissue promise resolve');
|
|
35
|
-
console.log(transition.params().token);
|
|
36
|
-
membrsService.reissue(transition.params().token).then((response) => {
|
|
37
|
-
console.log('redirect to default state');
|
|
38
|
-
router.stateService.go(membrsConfig.defaultState, {}, { inherit: false });
|
|
39
|
-
reject();
|
|
40
|
-
}).catch(error => {
|
|
41
|
-
console.log('error in reissue resolve');
|
|
42
|
-
console.log(error);
|
|
43
|
-
//window.location.href = environment.login
|
|
44
|
-
reject(error);
|
|
45
|
-
});
|
|
46
|
-
});
|
|
2
|
+
import { MembrsComponent } from './membrs.component';
|
|
3
|
+
export class MembrsModule {
|
|
47
4
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}).catch(error => {
|
|
55
|
-
window.location.href = membrsConfig.login;
|
|
56
|
-
//reject(error)
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
/** The top level state(s) */
|
|
61
|
-
export const STATES = [
|
|
62
|
-
reissueState
|
|
5
|
+
MembrsModule.decorators = [
|
|
6
|
+
{ type: NgModule, args: [{
|
|
7
|
+
declarations: [MembrsComponent],
|
|
8
|
+
imports: [],
|
|
9
|
+
exports: [MembrsComponent]
|
|
10
|
+
},] }
|
|
63
11
|
];
|
|
64
|
-
|
|
65
|
-
static forRoot(config) {
|
|
66
|
-
const moduleProviders = UIRouterModule.forChild({
|
|
67
|
-
states: STATES,
|
|
68
|
-
config: routerConfigFn
|
|
69
|
-
}).providers;
|
|
70
|
-
moduleProviders.push(JwtModule.forRoot({
|
|
71
|
-
config: {
|
|
72
|
-
tokenGetter: retrieveToken
|
|
73
|
-
}
|
|
74
|
-
}).providers);
|
|
75
|
-
moduleProviders.push(MembrsService);
|
|
76
|
-
moduleProviders.push({ provide: MembrsConfigService, useValue: config });
|
|
77
|
-
return {
|
|
78
|
-
ngModule: MembrsModule_1,
|
|
79
|
-
providers: [{ provide: MembrsConfigService, useValue: config }]
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
MembrsModule = MembrsModule_1 = __decorate([
|
|
84
|
-
NgModule({
|
|
85
|
-
imports: [
|
|
86
|
-
CommonModule,
|
|
87
|
-
HttpClientModule
|
|
88
|
-
//JwtModule
|
|
89
|
-
// UIRouterModule.forChild({
|
|
90
|
-
// states: STATES,
|
|
91
|
-
// config: routerConfigFn,
|
|
92
|
-
// }),
|
|
93
|
-
// JwtModule.forRoot({})
|
|
94
|
-
]
|
|
95
|
-
})
|
|
96
|
-
], MembrsModule);
|
|
97
|
-
export { MembrsModule };
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYnJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsibGliL21lbWJycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsS0FBSyxFQUFFLFNBQVM7SUFDaEIsSUFBSSxFQUFFLENBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUU7SUFDbEUsU0FBUyxFQUFFLGlCQUFpQjtDQUMvQixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLElBQUksRUFBRSxDQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFFO0lBQ2xFLFNBQVMsRUFBRSxnQkFBZ0I7Q0FDNUIsQ0FBQTtBQUVE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LENBQUMsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBQyxDQUFDO1NBQzdELENBQUM7SUFFSixDQUFDO0NBRUYsQ0FBQTtBQXhCWSxZQUFZO0lBZnhCLFFBQVEsQ0FBQztRQUNSLE9BQU8sRUFBRTtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLDRCQUE0QjtZQUM1QixvQkFBb0I7WUFDcEIsNEJBQTRCO1lBQzVCLE1BQU07WUFDTix3QkFBd0I7U0FDekI7S0FDRixDQUFDO0dBSVcsWUFBWSxDQXdCeEI7U0F4QlksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1lbWJyc1NlcnZpY2UgfSBmcm9tICcuL21lbWJycy5zZXJ2aWNlJztcbmltcG9ydCB7IEp3dE1vZHVsZSB9IGZyb20gXCJAYXV0aDAvYW5ndWxhci1qd3RcIjtcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IFVJUm91dGVyTW9kdWxlIH0gZnJvbSAnQHVpcm91dGVyL2FuZ3VsYXInXG5cbmltcG9ydCB7IE5nMlN0YXRlRGVjbGFyYXRpb24gfSBmcm9tICdAdWlyb3V0ZXIvYW5ndWxhcic7XG5pbXBvcnQgeyBUcmFuc2l0aW9uLCBVSVJvdXRlciB9IGZyb20gJ0B1aXJvdXRlci9hbmd1bGFyJ1xuXG5pbXBvcnQgeyByb3V0ZXJDb25maWdGbiB9IGZyb20gJy4vcm91dGVyLmNvbmZpZyc7XG5pbXBvcnQgeyBNZW1icnNDb25maWcgfSBmcm9tICcuL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWVtYnJzQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmV0cmlldmVUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZXNvbHZlID0ge1xuICAgIHRva2VuOiAncmVpc3N1ZScsXG4gICAgZGVwczogWyBUcmFuc2l0aW9uLCBVSVJvdXRlciwgTWVtYnJzU2VydmljZSwgTWVtYnJzQ29uZmlnU2VydmljZSBdLFxuICAgIHJlc29sdmVGbjogdmFsaWRhdGVSZXNvbHZlRm5cbn1cblxuZXhwb3J0IGNvbnN0IHJlaXNzdWVSZXNvbHZlID0ge1xuICB0b2tlbjogJ3JlaXNzdWUnLFxuICBkZXBzOiBbIFRyYW5zaXRpb24sIFVJUm91dGVyLCBNZW1icnNTZXJ2aWNlLCBNZW1icnNDb25maWdTZXJ2aWNlIF0sXG4gIHJlc29sdmVGbjogcmVpc3N1ZVJlc29sdmVGblxufVxuXG5leHBvcnQgY29uc3QgcmVpc3N1ZVN0YXRlOk5nMlN0YXRlRGVjbGFyYXRpb24gPSB7XG5cdG5hbWU6ICdyZWlzc3VlJywgXG5cdHVybDogJy9yZWlzc3VlP3Rva2VuJyxcblx0dmlld3M6IHsgfSxcblx0cmVzb2x2ZTogW1xuICAgIHJlaXNzdWVSZXNvbHZlXG5cdF1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlaXNzdWVSZXNvbHZlRm4odHJhbnNpdGlvbiwgcm91dGVyLCBtZW1icnNTZXJ2aWNlLCBtZW1icnNDb25maWc6TWVtYnJzQ29uZmlnKSB7XG4gICAgXG4gICAgLy9jb25zb2xlLmxvZyhtZW1icnNTZXJ2aWNlKVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygncmVpc3N1ZSBwcm9taXNlIHJlc29sdmUnKVxuICAgICAgY29uc29sZS5sb2codHJhbnNpdGlvbi5wYXJhbXMoKS50b2tlbilcbiAgICAgIG1lbWJyc1NlcnZpY2UucmVpc3N1ZSh0cmFuc2l0aW9uLnBhcmFtcygpLnRva2VuKS50aGVuKChyZXNwb25zZSk9PntcbiAgICAgICAgICBjb25zb2xlLmxvZygncmVkaXJlY3QgdG8gZGVmYXVsdCBzdGF0ZScpXG4gICAgICAgICAgcm91dGVyLnN0YXRlU2VydmljZS5nbyhtZW1icnNDb25maWcuZGVmYXVsdFN0YXRlLCB7fSwge2luaGVyaXQ6ZmFsc2V9KVxuICAgICAgICAgIHJlamVjdCgpXG4gICAgICB9KS5jYXRjaChlcnJvcj0+e1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdlcnJvciBpbiByZWlzc3VlIHJlc29sdmUnKVxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgICAgICAgIC8vd2luZG93LmxvY2F0aW9uLmhyZWYgPSBlbnZpcm9ubWVudC5sb2dpblxuICAgICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH0pXG5cblx0fSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUmVzb2x2ZUZuKHRyYW5zaXRpb24sIHJvdXRlciwgbWVtYnJzU2VydmljZSwgbWVtYnJzQ29uZmlnOk1lbWJyc0NvbmZpZykge1xuICBcbiAgLy9jb25zb2xlLmxvZyhtZW1icnNTZXJ2aWNlKVxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCd2YWxpZGF0ZSBwcm9taXNlIHJlc29sdmUnKVxuICAgIFxuICAgIG1lbWJyc1NlcnZpY2UucmVpc3N1ZSgpLnRoZW4oKHJlc3BvbnNlKT0+e1xuICAgICAgICByZXNvbHZlKClcbiAgICB9KS5jYXRjaChlcnJvcj0+e1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IG1lbWJyc0NvbmZpZy5sb2dpblxuICAgICAgICAvL3JlamVjdChlcnJvcilcbiAgICB9KVxuXG59KVxufVxuXG5cbi8qKiBUaGUgdG9wIGxldmVsIHN0YXRlKHMpICovXG5leHBvcnQgY29uc3QgU1RBVEVTID0gW1xuICAgIHJlaXNzdWVTdGF0ZVxuXVxuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZVxuICAgIC8vSnd0TW9kdWxlXG4gICAgLy8gVUlSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoe1xuICAgIC8vICAgc3RhdGVzOiBTVEFURVMsXG4gICAgLy8gICBjb25maWc6IHJvdXRlckNvbmZpZ0ZuLFxuICAgIC8vIH0pLFxuICAgIC8vIEp3dE1vZHVsZS5mb3JSb290KHt9KVxuICBdXG59KVxuXG5cblxuZXhwb3J0IGNsYXNzIE1lbWJyc01vZHVsZSB7IFxuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IE1lbWJyc0NvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TWVtYnJzTW9kdWxlPiB7XG5cblxuICAgIGNvbnN0IG1vZHVsZVByb3ZpZGVycyA9IFVJUm91dGVyTW9kdWxlLmZvckNoaWxkKHtcbiAgICAgICAgc3RhdGVzOiBTVEFURVMsXG4gICAgICAgIGNvbmZpZzogcm91dGVyQ29uZmlnRm5cbiAgICAgIH0pLnByb3ZpZGVyc1xuXG4gICAgbW9kdWxlUHJvdmlkZXJzLnB1c2goSnd0TW9kdWxlLmZvclJvb3Qoe1xuICAgICAgY29uZmlnOiB7XG4gICAgICAgIHRva2VuR2V0dGVyOiByZXRyaWV2ZVRva2VuXG4gICAgICB9XG4gICAgfSkucHJvdmlkZXJzKVxuICAgICAgXG4gICAgbW9kdWxlUHJvdmlkZXJzLnB1c2goTWVtYnJzU2VydmljZSlcbiAgIG1vZHVsZVByb3ZpZGVycy5wdXNoKHtwcm92aWRlOiBNZW1icnNDb25maWdTZXJ2aWNlLHVzZVZhbHVlOiBjb25maWd9KTtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE1lbWJyc01vZHVsZSwgXG4gICAgICBwcm92aWRlcnM6IFt7cHJvdmlkZTogTWVtYnJzQ29uZmlnU2VydmljZSx1c2VWYWx1ZTogY29uZmlnfV1cbiAgICB9O1xuICAgIFxuICB9XG5cbn1cbiJdfQ==
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYnJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lbWJycy9zcmMvbGliL21lbWJycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFVckQsTUFBTSxPQUFPLFlBQVk7OztZQU54QixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUMvQixPQUFPLEVBQUUsRUFDUjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7YUFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVtYnJzQ29tcG9uZW50IH0gZnJvbSAnLi9tZW1icnMuY29tcG9uZW50JztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW01lbWJyc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgXSxcbiAgZXhwb3J0czogW01lbWJyc0NvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTWVtYnJzTW9kdWxlIHsgfVxuIl19
|
|
@@ -1,101 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Injectable, Inject } from '@angular/core';
|
|
3
|
-
import { JwtHelperService } from '@auth0/angular-jwt';
|
|
4
|
-
import { HttpClient } from '@angular/common/http';
|
|
5
|
-
import { MembrsConfigService } from './config.service';
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
6
2
|
import * as i0 from "@angular/core";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
this._lsKey = 'membrs';
|
|
16
|
-
console.log('membrs constructor');
|
|
17
|
-
// if the token exists in local storage, retrieve it back to the service
|
|
18
|
-
if (localStorage.getItem(this._lsKey)) {
|
|
19
|
-
this.token = localStorage.getItem(this._lsKey);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
reissue(token) {
|
|
23
|
-
return new Promise((resolve, reject) => {
|
|
24
|
-
if (!token && !this._token) {
|
|
25
|
-
console.log('reject, not logged in');
|
|
26
|
-
reject('NOT_LOGGED_IN');
|
|
27
|
-
}
|
|
28
|
-
if (token)
|
|
29
|
-
this.token = token;
|
|
30
|
-
// check stored token has not expired, or needs to be reissued soon
|
|
31
|
-
var reissueIn = this._decoded.exp - Math.floor(Date.now() / 1000);
|
|
32
|
-
// token has expired
|
|
33
|
-
if (reissueIn < 0) {
|
|
34
|
-
reject('NOT_LOGGED_IN');
|
|
35
|
-
}
|
|
36
|
-
// token expiring soon
|
|
37
|
-
if (reissueIn < 300) {
|
|
38
|
-
console.log('expires less than 300');
|
|
39
|
-
console.log(this.config);
|
|
40
|
-
this.http.post(this.config.apiProtocol + this.config.api + '/token/' + this._token, {}).subscribe((response) => {
|
|
41
|
-
console.log('reissue response');
|
|
42
|
-
console.log(response);
|
|
43
|
-
if (response.token) {
|
|
44
|
-
this.token = response.token;
|
|
45
|
-
resolve(this._token);
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
console.log('error');
|
|
49
|
-
console.log(response);
|
|
50
|
-
reject('NOT_LOGGED_IN');
|
|
51
|
-
}
|
|
52
|
-
}, error => {
|
|
53
|
-
console.log(error);
|
|
54
|
-
reject('NOT_LOGGED_IN');
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
console.log('token ok');
|
|
59
|
-
resolve(this._token);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
set token(token) {
|
|
64
|
-
this._token = token;
|
|
65
|
-
localStorage.setItem(this._lsKey, token);
|
|
66
|
-
this._decoded = this.jwtService.decodeToken(this._token);
|
|
67
|
-
}
|
|
68
|
-
get profile() {
|
|
69
|
-
return this._decoded;
|
|
70
|
-
}
|
|
71
|
-
get admin() {
|
|
72
|
-
return this.profile.permission == 1;
|
|
73
|
-
}
|
|
74
|
-
logout() {
|
|
75
|
-
return new Promise((resolve, reject) => {
|
|
76
|
-
this.http.get(this.config.apiProtocol + this.config.api + '/token/' + this._token + '/delete', { responseType: 'text' }).subscribe((response) => {
|
|
77
|
-
this._token = null;
|
|
78
|
-
localStorage.removeItem(this._lsKey);
|
|
79
|
-
resolve(this.config.login);
|
|
80
|
-
//this.router.stateService.go('dashboard')
|
|
81
|
-
}, error => {
|
|
82
|
-
reject(this.config.login);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
MembrsService.ctorParameters = () => [
|
|
88
|
-
{ type: JwtHelperService },
|
|
89
|
-
{ type: HttpClient },
|
|
90
|
-
{ type: undefined, decorators: [{ type: Inject, args: [MembrsConfigService,] }] }
|
|
3
|
+
export class MembrsService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
}
|
|
6
|
+
MembrsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MembrsService_Factory() { return new MembrsService(); }, token: MembrsService, providedIn: "root" });
|
|
7
|
+
MembrsService.decorators = [
|
|
8
|
+
{ type: Injectable, args: [{
|
|
9
|
+
providedIn: 'root'
|
|
10
|
+
},] }
|
|
91
11
|
];
|
|
92
|
-
MembrsService
|
|
93
|
-
|
|
94
|
-
Injectable({
|
|
95
|
-
providedIn: 'root'
|
|
96
|
-
}),
|
|
97
|
-
__param(2, Inject(MembrsConfigService)),
|
|
98
|
-
__metadata("design:paramtypes", [JwtHelperService, HttpClient, Object])
|
|
99
|
-
], MembrsService);
|
|
100
|
-
export { MembrsService };
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYnJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmFrZWRjcmVhdGl2aXR5L21lbWJycy1hbmd1bGFyLWhlbHBlci8iLCJzb3VyY2VzIjpbImxpYi9tZW1icnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBOzs7OztBQU90RCxJQUFhLGFBQWEsR0FBMUIsTUFBYSxhQUFhO0lBTXhCLFlBQW9CLFVBQTRCLEVBQVUsSUFBZ0IsRUFBdUMsTUFBb0I7UUFBakgsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQXVDLFdBQU0sR0FBTixNQUFNLENBQWM7UUFGckksV0FBTSxHQUFXLFFBQVEsQ0FBQztRQUl4QixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFDakMsd0VBQXdFO1FBQ3hFLElBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtTQUMvQztJQUVILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYTtRQUVuQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxFQUFFO1lBRXBDLElBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFDO2dCQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUE7Z0JBQ3BD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QUMsRUFBRTtnQkFDdkksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDMUIsMENBQTBDO1lBQzVDLENBQUMsRUFBRSxLQUFLLENBQUEsRUFBRTtnQkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUMzQixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBRUosQ0FBQztDQUdGLENBQUE7O1lBN0ZpQyxnQkFBZ0I7WUFBZ0IsVUFBVTs0Q0FBRyxNQUFNLFNBQUMsbUJBQW1COzs7QUFONUYsYUFBYTtJQUp6QixVQUFVLENBQUM7UUFDVixVQUFVLEVBQUUsTUFBTTtLQUNuQixDQUFDO0lBUTZFLFdBQUEsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7cUNBQXhFLGdCQUFnQixFQUFnQixVQUFVO0dBTi9ELGFBQWEsQ0FtR3pCO1NBbkdZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEp3dEhlbHBlclNlcnZpY2UgfSBmcm9tICdAYXV0aDAvYW5ndWxhci1qd3QnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgTWVtYnJzQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnXG5pbXBvcnQgeyBNZW1icnNDb25maWcgfSBmcm9tICcuL2NvbmZpZy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIE1lbWJyc1NlcnZpY2Uge1xuXG4gIF90b2tlbjogc3RyaW5nO1xuICBfZGVjb2RlZDogYW55O1xuICBfbHNLZXk6IHN0cmluZyA9ICdtZW1icnMnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgand0U2VydmljZTogSnd0SGVscGVyU2VydmljZSwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KE1lbWJyc0NvbmZpZ1NlcnZpY2UpIHByaXZhdGUgY29uZmlnOiBNZW1icnNDb25maWcpIHtcblxuICAgIGNvbnNvbGUubG9nKCdtZW1icnMgY29uc3RydWN0b3InKVxuICAgIC8vIGlmIHRoZSB0b2tlbiBleGlzdHMgaW4gbG9jYWwgc3RvcmFnZSwgcmV0cmlldmUgaXQgYmFjayB0byB0aGUgc2VydmljZVxuICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuX2xzS2V5KSl7XG4gICAgICB0aGlzLnRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5fbHNLZXkpXG4gICAgfVxuICBcbiAgfVxuXG4gIHJlaXNzdWUodG9rZW4/OnN0cmluZyl7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcblxuICAgICAgaWYoIXRva2VuICYmICF0aGlzLl90b2tlbil7XG4gICAgICAgIGNvbnNvbGUubG9nKCdyZWplY3QsIG5vdCBsb2dnZWQgaW4nKVxuICAgICAgICByZWplY3QoJ05PVF9MT0dHRURfSU4nKVxuICAgICAgfVxuXG4gICAgICBpZih0b2tlbilcbiAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuXG5cbiAgICAgIC8vIGNoZWNrIHN0b3JlZCB0b2tlbiBoYXMgbm90IGV4cGlyZWQsIG9yIG5lZWRzIHRvIGJlIHJlaXNzdWVkIHNvb25cbiAgICAgIHZhciByZWlzc3VlSW4gPSB0aGlzLl9kZWNvZGVkLmV4cCAtIE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xMDAwKVxuICAgIFxuICAgICAgLy8gdG9rZW4gaGFzIGV4cGlyZWRcbiAgICAgIGlmKHJlaXNzdWVJbiA8IDApe1xuICAgICAgICByZWplY3QoJ05PVF9MT0dHRURfSU4nKVxuICAgICAgfVxuICAgICAgXG4gICAgICAvLyB0b2tlbiBleHBpcmluZyBzb29uXG4gICAgICBpZihyZWlzc3VlSW4gPCAzMDApe1xuICAgICAgICBcbiAgICAgICAgY29uc29sZS5sb2coJ2V4cGlyZXMgbGVzcyB0aGFuIDMwMCcpXG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5jb25maWcpXG5cbiAgICAgICAgdGhpcy5odHRwLnBvc3QodGhpcy5jb25maWcuYXBpUHJvdG9jb2wgKyB0aGlzLmNvbmZpZy5hcGkrJy90b2tlbi8nK3RoaXMuX3Rva2VuLCB7fSkuc3Vic2NyaWJlKChyZXNwb25zZTphbnkpPT57XG4gICAgICAgICAgY29uc29sZS5sb2coJ3JlaXNzdWUgcmVzcG9uc2UnKVxuICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKVxuICAgICAgICAgIGlmKHJlc3BvbnNlLnRva2VuKXtcbiAgICAgICAgICAgIHRoaXMudG9rZW4gPSByZXNwb25zZS50b2tlblxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl90b2tlbilcbiAgICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnZXJyb3InKVxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpXG4gICAgICAgICAgICByZWplY3QoJ05PVF9MT0dHRURfSU4nKVxuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgfSwgZXJyb3I9PntcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICAgICAgICByZWplY3QoJ05PVF9MT0dHRURfSU4nKVxuICAgICAgICB9KVxuXG4gICAgICB9ZWxzZSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCd0b2tlbiBvaycpXG4gICAgICAgIHJlc29sdmUodGhpcy5fdG9rZW4pXG4gICAgICB9XG4gICAgICBcbiAgICB9KVxuICAgIFxuICB9XG5cbiAgc2V0IHRva2VuKHRva2VuKXtcbiAgICB0aGlzLl90b2tlbiA9IHRva2VuXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5fbHNLZXksIHRva2VuKVxuICAgIHRoaXMuX2RlY29kZWQgPSB0aGlzLmp3dFNlcnZpY2UuZGVjb2RlVG9rZW4odGhpcy5fdG9rZW4pXG4gIH1cblxuICBnZXQgcHJvZmlsZSgpe1xuICAgIHJldHVybiB0aGlzLl9kZWNvZGVkXG4gIH1cblxuICBnZXQgYWRtaW4gKCl7XG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZS5wZXJtaXNzaW9uID09IDFcbiAgfVxuXG4gIGxvZ291dCgpe1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xuICAgICAgdGhpcy5odHRwLmdldCh0aGlzLmNvbmZpZy5hcGlQcm90b2NvbCt0aGlzLmNvbmZpZy5hcGkrJy90b2tlbi8nK3RoaXMuX3Rva2VuKycvZGVsZXRlJywge3Jlc3BvbnNlVHlwZTogJ3RleHQnfSkuc3Vic2NyaWJlKChyZXNwb25zZTphbnkpPT57XG4gICAgICAgIHRoaXMuX3Rva2VuID0gbnVsbDtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5fbHNLZXkpXG4gICAgICAgIHJlc29sdmUodGhpcy5jb25maWcubG9naW4pXG4gICAgICAgIC8vdGhpcy5yb3V0ZXIuc3RhdGVTZXJ2aWNlLmdvKCdkYXNoYm9hcmQnKVxuICAgICAgfSwgZXJyb3I9PntcbiAgICAgICAgcmVqZWN0KHRoaXMuY29uZmlnLmxvZ2luKVxuICAgICAgfSlcbiAgICB9KVxuICAgIFxuICB9XG5cblxufVxuIl19
|
|
12
|
+
MembrsService.ctorParameters = () => [];
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYnJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tZW1icnMvc3JjL2xpYi9tZW1icnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sYUFBYTtJQUV4QixnQkFBZ0IsQ0FBQzs7OztZQUxsQixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1lbWJyc1NlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iXX0=
|
|
@@ -2,5 +2,4 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './public-api';
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFrZWRjcmVhdGl2aXR5LW1lbWJycy1hbmd1bGFyLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsibmFrZWRjcmVhdGl2aXR5LW1lbWJycy1hbmd1bGFyLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRzdCLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtNZW1icnNDb25maWcgYXMgybVifSBmcm9tICcuL2xpYi9jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCB7TWVtYnJzQ29uZmlnU2VydmljZSBhcyDJtWF9IGZyb20gJy4vbGliL2NvbmZpZy5zZXJ2aWNlJzsiXX0=
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFrZWRjcmVhdGl2aXR5LW1lbWJycy1hbmd1bGFyLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21lbWJycy9zcmMvbmFrZWRjcmVhdGl2aXR5LW1lbWJycy1hbmd1bGFyLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
package/esm2015/public-api.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* Public API Surface of membrs
|
|
3
3
|
*/
|
|
4
4
|
export * from './lib/membrs.service';
|
|
5
|
+
export * from './lib/membrs.component';
|
|
5
6
|
export * from './lib/membrs.module';
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGFBQWEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbWVtYnJzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVtYnJzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVtYnJzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbiciXX0=
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21lbWJycy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBtZW1icnNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW1icnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW1icnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lbWJycy5tb2R1bGUnO1xuIl19
|
|
@@ -1,211 +1,42 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { InjectionToken, Inject, ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule } from '@angular/core';
|
|
3
|
-
import { JwtHelperService, JwtModule } from '@auth0/angular-jwt';
|
|
4
|
-
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
|
5
|
-
import { JwtHelperService as JwtHelperService$1 } from '@auth0/angular-jwt/src/jwthelper.service';
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
-
import { Transition, UIRouter, UIRouterModule } from '@uirouter/angular';
|
|
1
|
+
import { ɵɵdefineInjectable, Injectable, Component, NgModule } from '@angular/core';
|
|
8
2
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* It's just an InjectionTToken used to import the config object, provided from the outside
|
|
12
|
-
*/
|
|
13
|
-
const MembrsConfigService = new InjectionToken("MembrsConfig");
|
|
14
|
-
|
|
15
|
-
let MembrsService = class MembrsService {
|
|
16
|
-
constructor(jwtService, http, config) {
|
|
17
|
-
this.jwtService = jwtService;
|
|
18
|
-
this.http = http;
|
|
19
|
-
this.config = config;
|
|
20
|
-
this._lsKey = 'membrs';
|
|
21
|
-
console.log('membrs constructor');
|
|
22
|
-
// if the token exists in local storage, retrieve it back to the service
|
|
23
|
-
if (localStorage.getItem(this._lsKey)) {
|
|
24
|
-
this.token = localStorage.getItem(this._lsKey);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
reissue(token) {
|
|
28
|
-
return new Promise((resolve, reject) => {
|
|
29
|
-
if (!token && !this._token) {
|
|
30
|
-
console.log('reject, not logged in');
|
|
31
|
-
reject('NOT_LOGGED_IN');
|
|
32
|
-
}
|
|
33
|
-
if (token)
|
|
34
|
-
this.token = token;
|
|
35
|
-
// check stored token has not expired, or needs to be reissued soon
|
|
36
|
-
var reissueIn = this._decoded.exp - Math.floor(Date.now() / 1000);
|
|
37
|
-
// token has expired
|
|
38
|
-
if (reissueIn < 0) {
|
|
39
|
-
reject('NOT_LOGGED_IN');
|
|
40
|
-
}
|
|
41
|
-
// token expiring soon
|
|
42
|
-
if (reissueIn < 300) {
|
|
43
|
-
console.log('expires less than 300');
|
|
44
|
-
console.log(this.config);
|
|
45
|
-
this.http.post(this.config.apiProtocol + this.config.api + '/token/' + this._token, {}).subscribe((response) => {
|
|
46
|
-
console.log('reissue response');
|
|
47
|
-
console.log(response);
|
|
48
|
-
if (response.token) {
|
|
49
|
-
this.token = response.token;
|
|
50
|
-
resolve(this._token);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
console.log('error');
|
|
54
|
-
console.log(response);
|
|
55
|
-
reject('NOT_LOGGED_IN');
|
|
56
|
-
}
|
|
57
|
-
}, error => {
|
|
58
|
-
console.log(error);
|
|
59
|
-
reject('NOT_LOGGED_IN');
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
console.log('token ok');
|
|
64
|
-
resolve(this._token);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
set token(token) {
|
|
69
|
-
this._token = token;
|
|
70
|
-
localStorage.setItem(this._lsKey, token);
|
|
71
|
-
this._decoded = this.jwtService.decodeToken(this._token);
|
|
72
|
-
}
|
|
73
|
-
get profile() {
|
|
74
|
-
return this._decoded;
|
|
75
|
-
}
|
|
76
|
-
get admin() {
|
|
77
|
-
return this.profile.permission == 1;
|
|
78
|
-
}
|
|
79
|
-
logout() {
|
|
80
|
-
return new Promise((resolve, reject) => {
|
|
81
|
-
this.http.get(this.config.apiProtocol + this.config.api + '/token/' + this._token + '/delete', { responseType: 'text' }).subscribe((response) => {
|
|
82
|
-
this._token = null;
|
|
83
|
-
localStorage.removeItem(this._lsKey);
|
|
84
|
-
resolve(this.config.login);
|
|
85
|
-
//this.router.stateService.go('dashboard')
|
|
86
|
-
}, error => {
|
|
87
|
-
reject(this.config.login);
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
MembrsService.ctorParameters = () => [
|
|
93
|
-
{ type: JwtHelperService },
|
|
94
|
-
{ type: HttpClient },
|
|
95
|
-
{ type: undefined, decorators: [{ type: Inject, args: [MembrsConfigService,] }] }
|
|
96
|
-
];
|
|
97
|
-
MembrsService.ɵprov = ɵɵdefineInjectable({ factory: function MembrsService_Factory() { return new MembrsService(ɵɵinject(JwtHelperService$1), ɵɵinject(HttpClient), ɵɵinject(MembrsConfigService)); }, token: MembrsService, providedIn: "root" });
|
|
98
|
-
MembrsService = __decorate([
|
|
99
|
-
Injectable({
|
|
100
|
-
providedIn: 'root'
|
|
101
|
-
}),
|
|
102
|
-
__param(2, Inject(MembrsConfigService)),
|
|
103
|
-
__metadata("design:paramtypes", [JwtHelperService, HttpClient, Object])
|
|
104
|
-
], MembrsService);
|
|
105
|
-
|
|
106
|
-
function routerConfigFn(router, injector) {
|
|
107
|
-
const transitionService = router.transitionService;
|
|
108
|
-
const stateService = router.stateService;
|
|
109
|
-
const config = injector.get(MembrsConfigService);
|
|
110
|
-
stateService.defaultErrorHandler(function (error) {
|
|
111
|
-
console.log('Default error handler - Membrs Angular Helper');
|
|
112
|
-
console.log(error);
|
|
113
|
-
if (error.detail == 'NOT_LOGGED_IN')
|
|
114
|
-
window.location.href = config.login;
|
|
115
|
-
if (error.detail == 'INSUFFICIENT_PERMISSIONS')
|
|
116
|
-
stateService.go(config.defaultState);
|
|
117
|
-
});
|
|
3
|
+
class MembrsService {
|
|
4
|
+
constructor() { }
|
|
118
5
|
}
|
|
6
|
+
MembrsService.ɵprov = ɵɵdefineInjectable({ factory: function MembrsService_Factory() { return new MembrsService(); }, token: MembrsService, providedIn: "root" });
|
|
7
|
+
MembrsService.decorators = [
|
|
8
|
+
{ type: Injectable, args: [{
|
|
9
|
+
providedIn: 'root'
|
|
10
|
+
},] }
|
|
11
|
+
];
|
|
12
|
+
MembrsService.ctorParameters = () => [];
|
|
119
13
|
|
|
120
|
-
|
|
121
|
-
|
|
14
|
+
class MembrsComponent {
|
|
15
|
+
constructor() { }
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
}
|
|
122
18
|
}
|
|
19
|
+
MembrsComponent.decorators = [
|
|
20
|
+
{ type: Component, args: [{
|
|
21
|
+
selector: 'lib-membrs',
|
|
22
|
+
template: `
|
|
23
|
+
<p>
|
|
24
|
+
membrs works!
|
|
25
|
+
</p>
|
|
26
|
+
`
|
|
27
|
+
},] }
|
|
28
|
+
];
|
|
29
|
+
MembrsComponent.ctorParameters = () => [];
|
|
123
30
|
|
|
124
|
-
|
|
125
|
-
const validateResolve = {
|
|
126
|
-
token: 'reissue',
|
|
127
|
-
deps: [Transition, UIRouter, MembrsService, MembrsConfigService],
|
|
128
|
-
resolveFn: validateResolveFn
|
|
129
|
-
};
|
|
130
|
-
const reissueResolve = {
|
|
131
|
-
token: 'reissue',
|
|
132
|
-
deps: [Transition, UIRouter, MembrsService, MembrsConfigService],
|
|
133
|
-
resolveFn: reissueResolveFn
|
|
134
|
-
};
|
|
135
|
-
const reissueState = {
|
|
136
|
-
name: 'reissue',
|
|
137
|
-
url: '/reissue?token',
|
|
138
|
-
views: {},
|
|
139
|
-
resolve: [
|
|
140
|
-
reissueResolve
|
|
141
|
-
]
|
|
142
|
-
};
|
|
143
|
-
function reissueResolveFn(transition, router, membrsService, membrsConfig) {
|
|
144
|
-
//console.log(membrsService)
|
|
145
|
-
return new Promise((resolve, reject) => {
|
|
146
|
-
console.log('reissue promise resolve');
|
|
147
|
-
console.log(transition.params().token);
|
|
148
|
-
membrsService.reissue(transition.params().token).then((response) => {
|
|
149
|
-
console.log('redirect to default state');
|
|
150
|
-
router.stateService.go(membrsConfig.defaultState, {}, { inherit: false });
|
|
151
|
-
reject();
|
|
152
|
-
}).catch(error => {
|
|
153
|
-
console.log('error in reissue resolve');
|
|
154
|
-
console.log(error);
|
|
155
|
-
//window.location.href = environment.login
|
|
156
|
-
reject(error);
|
|
157
|
-
});
|
|
158
|
-
});
|
|
31
|
+
class MembrsModule {
|
|
159
32
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
}).catch(error => {
|
|
167
|
-
window.location.href = membrsConfig.login;
|
|
168
|
-
//reject(error)
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
/** The top level state(s) */
|
|
173
|
-
const STATES = [
|
|
174
|
-
reissueState
|
|
33
|
+
MembrsModule.decorators = [
|
|
34
|
+
{ type: NgModule, args: [{
|
|
35
|
+
declarations: [MembrsComponent],
|
|
36
|
+
imports: [],
|
|
37
|
+
exports: [MembrsComponent]
|
|
38
|
+
},] }
|
|
175
39
|
];
|
|
176
|
-
let MembrsModule = MembrsModule_1 = class MembrsModule {
|
|
177
|
-
static forRoot(config) {
|
|
178
|
-
const moduleProviders = UIRouterModule.forChild({
|
|
179
|
-
states: STATES,
|
|
180
|
-
config: routerConfigFn
|
|
181
|
-
}).providers;
|
|
182
|
-
moduleProviders.push(JwtModule.forRoot({
|
|
183
|
-
config: {
|
|
184
|
-
tokenGetter: retrieveToken
|
|
185
|
-
}
|
|
186
|
-
}).providers);
|
|
187
|
-
moduleProviders.push(MembrsService);
|
|
188
|
-
moduleProviders.push({ provide: MembrsConfigService, useValue: config });
|
|
189
|
-
return {
|
|
190
|
-
ngModule: MembrsModule_1,
|
|
191
|
-
providers: [{ provide: MembrsConfigService, useValue: config }]
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
};
|
|
195
|
-
MembrsModule = MembrsModule_1 = __decorate([
|
|
196
|
-
NgModule({
|
|
197
|
-
imports: [
|
|
198
|
-
CommonModule,
|
|
199
|
-
HttpClientModule
|
|
200
|
-
//JwtModule
|
|
201
|
-
// UIRouterModule.forChild({
|
|
202
|
-
// states: STATES,
|
|
203
|
-
// config: routerConfigFn,
|
|
204
|
-
// }),
|
|
205
|
-
// JwtModule.forRoot({})
|
|
206
|
-
]
|
|
207
|
-
})
|
|
208
|
-
], MembrsModule);
|
|
209
40
|
|
|
210
41
|
/*
|
|
211
42
|
* Public API Surface of membrs
|
|
@@ -215,5 +46,5 @@ MembrsModule = MembrsModule_1 = __decorate([
|
|
|
215
46
|
* Generated bundle index. Do not edit.
|
|
216
47
|
*/
|
|
217
48
|
|
|
218
|
-
export { MembrsModule, MembrsService
|
|
49
|
+
export { MembrsComponent, MembrsModule, MembrsService };
|
|
219
50
|
//# sourceMappingURL=nakedcreativity-membrs-angular-helper.js.map
|