@nakedcreativity/membrs-angular-helper 0.0.6 → 0.0.9

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.
@@ -333,9 +333,9 @@
333
333
  function routerConfigFn(router, injector) {
334
334
  var transitionService = router.transitionService;
335
335
  var stateService = router.stateService;
336
- // const config = Injector.call(MembrsConfigService)
337
- // console.log('config in router config fn')
338
- // console.log(config)
336
+ var config = injector.get(MembrsConfigService);
337
+ console.log('config in router config fn');
338
+ console.log(config);
339
339
  // transitionService.onStart({}, (transition)=>{
340
340
  // console.log('start transition')
341
341
  // console.log(transition.params())
@@ -347,12 +347,16 @@
347
347
  console.log('default error handler');
348
348
  // if(error.detail == 'NOT_LOGGED_IN')
349
349
  // window.location.href = config.login;
350
- // //console.log(MembrsSettings)
350
+ console.log(config);
351
351
  // if(error.detail == 'INSUFFICIENT_PERMISSIONS')
352
352
  // stateService.go(config.defaultState)
353
353
  });
354
354
  }
355
355
 
356
+ function retrieveToken() {
357
+ return localStorage.getItem('membrs');
358
+ }
359
+
356
360
  var validateResolve = {
357
361
  token: 'reissue',
358
362
  deps: [angular.Transition, angular.UIRouter, MembrsService, MembrsConfigService],
@@ -411,6 +415,12 @@
411
415
  states: STATES,
412
416
  config: routerConfigFn
413
417
  }).providers;
418
+ moduleProviders.push(angularJwt.JwtModule.forRoot({
419
+ config: {
420
+ tokenGetter: retrieveToken,
421
+ whitelistedDomains: []
422
+ }
423
+ }).providers);
414
424
  moduleProviders.push(MembrsService);
415
425
  moduleProviders.push({ provide: MembrsConfigService, useValue: config });
416
426
  return {
@@ -433,7 +443,8 @@
433
443
  core.NgModule({
434
444
  imports: [
435
445
  common.CommonModule,
436
- http.HttpClientModule
446
+ http.HttpClientModule,
447
+ angularJwt.JwtModule
437
448
  // UIRouterModule.forChild({
438
449
  // states: STATES,
439
450
  // config: routerConfigFn,
@@ -445,13 +456,6 @@
445
456
  return MembrsModule;
446
457
  }());
447
458
 
448
- /*
449
- * Public API Surface of membrs
450
- */
451
- function retrieveToken() {
452
- return localStorage.getItem('membrs');
453
- }
454
-
455
459
  exports.MembrsModule = MembrsModule;
456
460
  exports.MembrsService = MembrsService;
457
461
  exports.STATES = STATES;
@@ -1 +1 @@
1
- {"version":3,"file":"nakedcreativity-membrs-angular-helper.umd.js","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/membrs.module.ts","ng://@nakedcreativity/membrs-angular-helper/public-api.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 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\n\n// const config = Injector.call(MembrsConfigService)\n\n// console.log('config in router config fn')\n// console.log(config)\n\n// transitionService.onStart({}, (transition)=>{\n// \tconsole.log('start transition')\n// \t console.log(transition.params())\n// \t console.log(transition.paramsChanged())\n// })\n\n \tstateService.defaultErrorHandler(function(error) {\n\t\t \n\t\t// console.log('error')\n\t\t// console.log(error)\n\t\tconsole.log('default error handler')\n \t \t// if(error.detail == 'NOT_LOGGED_IN')\n\t\t// \twindow.location.href = config.login;\n\t\t// \t//console.log(MembrsSettings)\n\n\t\t// if(error.detail == 'INSUFFICIENT_PERMISSIONS')\n\t\t// \tstateService.go(config.defaultState)\n\n\t});\n\t\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';\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 dashboard state')\n router.stateService.go(membrsConfig.defaultState, {}, {inherit:false})\n resolve()\n }).catch(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 // 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(MembrsService)\n moduleProviders.push({provide: MembrsConfigService,useValue: config});\n return {\n ngModule: MembrsModule, \n providers: moduleProviders\n };\n\n\n return {\n ngModule: MembrsModule,\n providers: [\n MembrsService,\n {\n provide: MembrsConfigService,\n useValue: config\n },\n ]\n }\n }\n\n}\n","/*\n * Public API Surface of membrs\n */\n\nexport * from './lib/membrs.service';\nexport * from './lib/membrs.module';\n\nexport function retrieveToken() {\n return localStorage.getItem('membrs');\n}"],"names":["InjectionToken","JwtHelperService","HttpClient","Inject","Injectable","Transition","UIRouter","UIRouterModule","NgModule","CommonModule","HttpClientModule"],"mappings":"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"}
1
+ {"version":3,"file":"nakedcreativity-membrs-angular-helper.umd.js","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"],"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\n\n const config = injector.get(MembrsConfigService)\n console.log('config in router config fn')\n console.log(config)\n\n// transitionService.onStart({}, (transition)=>{\n// \tconsole.log('start transition')\n// \t console.log(transition.params())\n// \t console.log(transition.paramsChanged())\n// })\n\n \tstateService.defaultErrorHandler(function(error) {\n\t\t \n\t\t// console.log('error')\n\t\t// console.log(error)\n\t\tconsole.log('default error handler')\n \t \t// if(error.detail == 'NOT_LOGGED_IN')\n\t\t// \twindow.location.href = config.login;\n\t\tconsole.log(config)\n\n\t\t// if(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 dashboard state')\n router.stateService.go(membrsConfig.defaultState, {}, {inherit:false})\n resolve()\n }).catch(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 whitelistedDomains: []\n }\n }).providers)\n \n moduleProviders.push(MembrsService)\n moduleProviders.push({provide: MembrsConfigService,useValue: config});\n return {\n ngModule: MembrsModule, \n providers: moduleProviders\n };\n\n\n return {\n ngModule: MembrsModule,\n providers: [\n MembrsService,\n {\n provide: MembrsConfigService,\n useValue: config\n },\n ]\n }\n }\n\n}\n"],"names":["InjectionToken","JwtHelperService","HttpClient","Inject","Injectable","Transition","UIRouter","UIRouterModule","JwtModule","NgModule","CommonModule","HttpClientModule"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@auth0/angular-jwt"),require("@angular/common/http"),require("@angular/common"),require("@uirouter/angular")):"function"==typeof define&&define.amd?define("@nakedcreativity/membrs-angular-helper",["exports","@angular/core","@auth0/angular-jwt","@angular/common/http","@angular/common","@uirouter/angular"],t):t(((e=e||self).nakedcreativity=e.nakedcreativity||{},e.nakedcreativity["membrs-angular-helper"]={}),e.ng.core,e.angularJwt,e.ng.common.http,e.ng.common,e.angular)}(this,(function(e,t,o,n,r,i){"use strict";
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@angular/core"),require("@auth0/angular-jwt"),require("@angular/common/http"),require("@angular/common"),require("@uirouter/angular")):"function"==typeof define&&define.amd?define("@nakedcreativity/membrs-angular-helper",["exports","@angular/core","@auth0/angular-jwt","@angular/common/http","@angular/common","@uirouter/angular"],o):o(((e=e||self).nakedcreativity=e.nakedcreativity||{},e.nakedcreativity["membrs-angular-helper"]={}),e.ng.core,e.angularJwt,e.ng.common.http,e.ng.common,e.angular)}(this,(function(e,o,t,n,r,i){"use strict";
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
@@ -12,5 +12,5 @@
12
12
 
13
13
  See the Apache Version 2.0 License for specific language governing permissions
14
14
  and limitations under the License.
15
- ***************************************************************************** */function c(e,t,o,n){var r,i=arguments.length,c=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,o,n);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(c=(i<3?r(c):i>3?r(t,o,c):r(t,o))||c);return i>3&&c&&Object.defineProperty(t,o,c),c}function s(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var l=new t.InjectionToken("MembrsConfig"),a=function(){function e(e,t,o){this.jwtService=e,this.http=t,this.config=o,this._lsKey="membrs",console.log("membrs constructor"),localStorage.getItem(this._lsKey)&&(this.token=localStorage.getItem(this._lsKey))}var r,i;return e.prototype.reissue=function(e){var t=this;return new Promise((function(o,n){e||t._token||(console.log("reject, not logged in"),n("NOT_LOGGED_IN")),e&&(t.token=e);var r=t._decoded.exp-Math.floor(Date.now()/1e3);r<0&&n("NOT_LOGGED_IN"),r<300?(console.log("expires less than 300"),console.log(t.config),t.http.post(t.config.apiProtocol+t.config.api+"/token/"+t._token,{}).subscribe((function(e){console.log("reissue response"),console.log(e),e.token?(t.token=e.token,o(t._token)):(console.log("error"),console.log(e),n("NOT_LOGGED_IN"))}),(function(e){console.log(e),n("NOT_LOGGED_IN")}))):(console.log("token ok"),o(t._token))}))},Object.defineProperty(e.prototype,"token",{set:function(e){this._token=e,localStorage.setItem(this._lsKey,e),this._decoded=this.jwtService.decodeToken(this._token)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"profile",{get:function(){return this._decoded},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"admin",{get:function(){return 1==this.profile.permission},enumerable:!0,configurable:!0}),e.prototype.logout=function(){var e=this;return new Promise((function(t,o){e.http.get(e.config.apiProtocol+e.config.api+"/token/"+e._token+"/delete",{responseType:"text"}).subscribe((function(o){e._token=null,localStorage.removeItem(e._lsKey),t(e.config.login)}),(function(t){o(e.config.login)}))}))},e.ctorParameters=function(){return[{type:o.JwtHelperService},{type:n.HttpClient},{type:void 0,decorators:[{type:t.Inject,args:[l]}]}]},e.ɵprov=t["ɵɵdefineInjectable"]({factory:function(){return new e(t["ɵɵinject"](o.JwtHelperService),t["ɵɵinject"](n.HttpClient),t["ɵɵinject"](l))},token:e,providedIn:"root"}),e=c([t.Injectable({providedIn:"root"}),(r=2,i=t.Inject(l),function(e,t){i(e,t,r)}),s("design:paramtypes",[o.JwtHelperService,n.HttpClient,Object])],e)}();function u(e,t){e.transitionService;e.stateService.defaultErrorHandler((function(e){console.log("default error handler")}))}var f={token:"reissue",deps:[i.Transition,i.UIRouter,a,l],resolveFn:m},p={token:"reissue",deps:[i.Transition,i.UIRouter,a,l],resolveFn:d},g={name:"reissue",url:"/reissue?token",views:{},resolve:[p]};function d(e,t,o,n){return new Promise((function(r,i){console.log("reissue promise resolve"),console.log(e.params().token),o.reissue(e.params().token).then((function(e){console.log("redirect to dashboard state"),t.stateService.go(n.defaultState,{},{inherit:!1}),r()})).catch((function(e){i(e)}))}))}function m(e,t,o,n){return new Promise((function(e,t){console.log("validate promise resolve"),o.reissue().then((function(t){e()})).catch((function(e){window.location.href=n.login}))}))}var v=[g],h=function(){function e(){}var o;return o=e,e.forRoot=function(e){var t=i.UIRouterModule.forChild({states:v,config:u}).providers;return t.push(a),t.push({provide:l,useValue:e}),{ngModule:o,providers:t}},e=o=c([t.NgModule({imports:[r.CommonModule,n.HttpClientModule]})],e)}();e.MembrsModule=h,e.MembrsService=a,e.STATES=v,e.reissueResolve=p,e.reissueResolveFn=d,e.reissueState=g,e.retrieveToken=function(){return localStorage.getItem("membrs")},e.validateResolve=f,e.validateResolveFn=m,e.ɵa=l,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */function c(e,o,t,n){var r,i=arguments.length,c=i<3?o:null===n?n=Object.getOwnPropertyDescriptor(o,t):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,o,t,n);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(c=(i<3?r(c):i>3?r(o,t,c):r(o,t))||c);return i>3&&c&&Object.defineProperty(o,t,c),c}function s(e,o){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,o)}var l=new o.InjectionToken("MembrsConfig"),a=function(){function e(e,o,t){this.jwtService=e,this.http=o,this.config=t,this._lsKey="membrs",console.log("membrs constructor"),localStorage.getItem(this._lsKey)&&(this.token=localStorage.getItem(this._lsKey))}var r,i;return e.prototype.reissue=function(e){var o=this;return new Promise((function(t,n){e||o._token||(console.log("reject, not logged in"),n("NOT_LOGGED_IN")),e&&(o.token=e);var r=o._decoded.exp-Math.floor(Date.now()/1e3);r<0&&n("NOT_LOGGED_IN"),r<300?(console.log("expires less than 300"),console.log(o.config),o.http.post(o.config.apiProtocol+o.config.api+"/token/"+o._token,{}).subscribe((function(e){console.log("reissue response"),console.log(e),e.token?(o.token=e.token,t(o._token)):(console.log("error"),console.log(e),n("NOT_LOGGED_IN"))}),(function(e){console.log(e),n("NOT_LOGGED_IN")}))):(console.log("token ok"),t(o._token))}))},Object.defineProperty(e.prototype,"token",{set:function(e){this._token=e,localStorage.setItem(this._lsKey,e),this._decoded=this.jwtService.decodeToken(this._token)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"profile",{get:function(){return this._decoded},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"admin",{get:function(){return 1==this.profile.permission},enumerable:!0,configurable:!0}),e.prototype.logout=function(){var e=this;return new Promise((function(o,t){e.http.get(e.config.apiProtocol+e.config.api+"/token/"+e._token+"/delete",{responseType:"text"}).subscribe((function(t){e._token=null,localStorage.removeItem(e._lsKey),o(e.config.login)}),(function(o){t(e.config.login)}))}))},e.ctorParameters=function(){return[{type:t.JwtHelperService},{type:n.HttpClient},{type:void 0,decorators:[{type:o.Inject,args:[l]}]}]},e.ɵprov=o["ɵɵdefineInjectable"]({factory:function(){return new e(o["ɵɵinject"](t.JwtHelperService),o["ɵɵinject"](n.HttpClient),o["ɵɵinject"](l))},token:e,providedIn:"root"}),e=c([o.Injectable({providedIn:"root"}),(r=2,i=o.Inject(l),function(e,o){i(e,o,r)}),s("design:paramtypes",[t.JwtHelperService,n.HttpClient,Object])],e)}();function u(e,o){e.transitionService;var t=e.stateService,n=o.get(l);console.log("config in router config fn"),console.log(n),t.defaultErrorHandler((function(e){console.log("default error handler"),console.log(n)}))}function f(){return localStorage.getItem("membrs")}var p={token:"reissue",deps:[i.Transition,i.UIRouter,a,l],resolveFn:v},g={token:"reissue",deps:[i.Transition,i.UIRouter,a,l],resolveFn:m},d={name:"reissue",url:"/reissue?token",views:{},resolve:[g]};function m(e,o,t,n){return new Promise((function(r,i){console.log("reissue promise resolve"),console.log(e.params().token),t.reissue(e.params().token).then((function(e){console.log("redirect to dashboard state"),o.stateService.go(n.defaultState,{},{inherit:!1}),r()})).catch((function(e){i(e)}))}))}function v(e,o,t,n){return new Promise((function(e,o){console.log("validate promise resolve"),t.reissue().then((function(o){e()})).catch((function(e){window.location.href=n.login}))}))}var h=[d],y=function(){function e(){}var s;return s=e,e.forRoot=function(e){var o=i.UIRouterModule.forChild({states:h,config:u}).providers;return o.push(t.JwtModule.forRoot({config:{tokenGetter:f,whitelistedDomains:[]}}).providers),o.push(a),o.push({provide:l,useValue:e}),{ngModule:s,providers:o}},e=s=c([o.NgModule({imports:[r.CommonModule,n.HttpClientModule,t.JwtModule]})],e)}();e.MembrsModule=y,e.MembrsService=a,e.STATES=h,e.reissueResolve=g,e.reissueResolveFn=m,e.reissueState=d,e.retrieveToken=f,e.validateResolve=p,e.validateResolveFn=v,e.ɵa=l,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=nakedcreativity-membrs-angular-helper.umd.min.js.map
@@ -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/membrs.module.ts","ng://@nakedcreativity/membrs-angular-helper/public-api.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","validateResolve","deps","Transition","UIRouter","resolveFn","validateResolveFn","reissueResolve","reissueResolveFn","reissueState","name","url","views","transition","membrsService","membrsConfig","params","then","go","defaultState","inherit","catch","window","location","href","STATES","MembrsModule","forRoot","moduleProviders","UIRouterModule","forChild","states","providers","push","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\n\n// const config = Injector.call(MembrsConfigService)\n\n// console.log('config in router config fn')\n// console.log(config)\n\n// transitionService.onStart({}, (transition)=>{\n// \tconsole.log('start transition')\n// \t console.log(transition.params())\n// \t console.log(transition.paramsChanged())\n// })\n\n \tstateService.defaultErrorHandler(function(error) {\n\t\t \n\t\t// console.log('error')\n\t\t// console.log(error)\n\t\tconsole.log('default error handler')\n \t \t// if(error.detail == 'NOT_LOGGED_IN')\n\t\t// \twindow.location.href = config.login;\n\t\t// \t//console.log(MembrsSettings)\n\n\t\t// if(error.detail == 'INSUFFICIENT_PERMISSIONS')\n\t\t// \tstateService.go(config.defaultState)\n\n\t});\n\t\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';\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 dashboard state')\n router.stateService.go(membrsConfig.defaultState, {}, {inherit:false})\n resolve()\n }).catch(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 // 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(MembrsService)\n moduleProviders.push({provide: MembrsConfigService,useValue: config});\n return {\n ngModule: MembrsModule, \n providers: moduleProviders\n };\n\n\n return {\n ngModule: MembrsModule,\n providers: [\n MembrsService,\n {\n provide: MembrsConfigService,\n useValue: config\n },\n ]\n }\n }\n\n}\n","/*\n * Public API Surface of membrs\n */\n\nexport * from './lib/membrs.service';\nexport * from './lib/membrs.module';\n\nexport function retrieveToken() {\n return localStorage.getItem('membrs');\n}"]}
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","retrieveToken","validateResolve","deps","Transition","UIRouter","resolveFn","validateResolveFn","reissueResolve","reissueResolveFn","reissueState","name","url","views","transition","membrsService","membrsConfig","params","then","go","defaultState","inherit","catch","window","location","href","STATES","MembrsModule","forRoot","moduleProviders","UIRouterModule","forChild","states","providers","push","JwtModule","tokenGetter","whitelistedDomains","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\n\n const config = injector.get(MembrsConfigService)\n console.log('config in router config fn')\n console.log(config)\n\n// transitionService.onStart({}, (transition)=>{\n// \tconsole.log('start transition')\n// \t console.log(transition.params())\n// \t console.log(transition.paramsChanged())\n// })\n\n \tstateService.defaultErrorHandler(function(error) {\n\t\t \n\t\t// console.log('error')\n\t\t// console.log(error)\n\t\tconsole.log('default error handler')\n \t \t// if(error.detail == 'NOT_LOGGED_IN')\n\t\t// \twindow.location.href = config.login;\n\t\tconsole.log(config)\n\n\t\t// if(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 dashboard state')\n router.stateService.go(membrsConfig.defaultState, {}, {inherit:false})\n resolve()\n }).catch(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 whitelistedDomains: []\n }\n }).providers)\n \n moduleProviders.push(MembrsService)\n moduleProviders.push({provide: MembrsConfigService,useValue: config});\n return {\n ngModule: MembrsModule, \n providers: moduleProviders\n };\n\n\n return {\n ngModule: MembrsModule,\n providers: [\n MembrsService,\n {\n provide: MembrsConfigService,\n useValue: config\n },\n ]\n }\n }\n\n}\n"]}
@@ -3,11 +3,13 @@ import { __decorate } from "tslib";
3
3
  import { NgModule } from '@angular/core';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { MembrsService } from './membrs.service';
6
+ import { JwtModule } from "@auth0/angular-jwt";
6
7
  import { HttpClientModule } from "@angular/common/http";
7
8
  import { UIRouterModule } from '@uirouter/angular';
8
9
  import { Transition, UIRouter } from '@uirouter/angular';
9
10
  import { routerConfigFn } from './router.config';
10
11
  import { MembrsConfigService } from './config.service';
12
+ import { retrieveToken } from './token';
11
13
  export const validateResolve = {
12
14
  token: 'reissue',
13
15
  deps: [Transition, UIRouter, MembrsService, MembrsConfigService],
@@ -63,6 +65,12 @@ let MembrsModule = MembrsModule_1 = class MembrsModule {
63
65
  states: STATES,
64
66
  config: routerConfigFn
65
67
  }).providers;
68
+ moduleProviders.push(JwtModule.forRoot({
69
+ config: {
70
+ tokenGetter: retrieveToken,
71
+ whitelistedDomains: []
72
+ }
73
+ }).providers);
66
74
  moduleProviders.push(MembrsService);
67
75
  moduleProviders.push({ provide: MembrsConfigService, useValue: config });
68
76
  return {
@@ -85,7 +93,8 @@ MembrsModule = MembrsModule_1 = __decorate([
85
93
  NgModule({
86
94
  imports: [
87
95
  CommonModule,
88
- HttpClientModule
96
+ HttpClientModule,
97
+ JwtModule
89
98
  // UIRouterModule.forChild({
90
99
  // states: STATES,
91
100
  // config: routerConfigFn,
@@ -95,4 +104,4 @@ MembrsModule = MembrsModule_1 = __decorate([
95
104
  })
96
105
  ], MembrsModule);
97
106
  export { MembrsModule };
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYnJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsibGliL21lbWJycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUdsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsS0FBSyxFQUFFLFNBQVM7SUFDaEIsSUFBSSxFQUFFLENBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUU7SUFDbEUsU0FBUyxFQUFFLGlCQUFpQjtDQUMvQixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLElBQUksRUFBRSxDQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFFO0lBQ2xFLFNBQVMsRUFBRSxnQkFBZ0I7Q0FDNUIsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBdUI7SUFDL0MsSUFBSSxFQUFFLFNBQVM7SUFDZixHQUFHLEVBQUUsZ0JBQWdCO0lBQ3JCLEtBQUssRUFB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d0JBQXdCO1NBQ3pCO0tBQ0YsQ0FBQztHQUlXLFlBQVksQ0E2QnhCO1NBN0JZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycywgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNZW1icnNTZXJ2aWNlIH0gZnJvbSAnLi9tZW1icnMuc2VydmljZSc7XG5pbXBvcnQgeyBKd3RNb2R1bGUgfSBmcm9tIFwiQGF1dGgwL2FuZ3VsYXItand0XCI7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBVSVJvdXRlck1vZHVsZSB9IGZyb20gJ0B1aXJvdXRlci9hbmd1bGFyJ1xuXG5pbXBvcnQgeyBOZzJTdGF0ZURlY2xhcmF0aW9uIH0gZnJvbSAnQHVpcm91dGVyL2FuZ3VsYXInO1xuaW1wb3J0IHsgVHJhbnNpdGlvbiwgVUlSb3V0ZXIgfSBmcm9tICdAdWlyb3V0ZXIvYW5ndWxhcidcblxuaW1wb3J0IHsgcm91dGVyQ29uZmlnRm4gfSBmcm9tICcuL3JvdXRlci5jb25maWcnO1xuaW1wb3J0IHsgTWVtYnJzQ29uZmlnIH0gZnJvbSAnLi9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1lbWJyc0NvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZy5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVzb2x2ZSA9IHtcbiAgICB0b2tlbjogJ3JlaXNzdWUnLFxuICAgIGRlcHM6IFsgVHJhbnNpdGlvbiwgVUlSb3V0ZXIsIE1lbWJyc1NlcnZpY2UsIE1lbWJyc0NvbmZpZ1NlcnZpY2UgXSxcbiAgICByZXNvbHZlRm46IHZhbGlkYXRlUmVzb2x2ZUZuXG59XG5cbmV4cG9ydCBjb25zdCByZWlzc3VlUmVzb2x2ZSA9IHtcbiAgdG9rZW46ICdyZWlzc3VlJyxcbiAgZGVwczogWyBUcmFuc2l0aW9uLCBVSVJvdXRlciwgTWVtYnJzU2VydmljZSwgTWVtYnJzQ29uZmlnU2VydmljZSBdLFxuICByZXNvbHZlRm46IHJlaXNzdWVSZXNvbHZlRm5cbn1cblxuZXhwb3J0IGNvbnN0IHJlaXNzdWVTdGF0ZTpOZzJTdGF0ZURlY2xhcmF0aW9uID0ge1xuXHRuYW1lOiAncmVpc3N1ZScsIFxuXHR1cmw6ICcvcmVpc3N1ZT90b2tlbicsXG5cdHZpZXdzOiB7IH0sXG5cdHJlc29sdmU6IFtcbiAgICByZWlzc3VlUmVzb2x2ZVxuXHRdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWlzc3VlUmVzb2x2ZUZuKHRyYW5zaXRpb24sIHJvdXRlciwgbWVtYnJzU2VydmljZSwgbWVtYnJzQ29uZmlnOk1lbWJyc0NvbmZpZykge1xuICAgIFxuICAgIC8vY29uc29sZS5sb2cobWVtYnJzU2VydmljZSlcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ3JlaXNzdWUgcHJvbWlzZSByZXNvbHZlJylcbiAgICAgIGNvbnNvbGUubG9nKHRyYW5zaXRpb24ucGFyYW1zKCkudG9rZW4pXG4gICAgICBtZW1icnNTZXJ2aWNlLnJlaXNzdWUodHJhbnNpdGlvbi5wYXJhbXMoKS50b2tlbikudGhlbigocmVzcG9uc2UpPT57XG4gICAgICAgICAgY29uc29sZS5sb2coJ3JlZGlyZWN0IHRvIGRhc2hib2FyZCBzdGF0ZScpXG4gICAgICAgICAgcm91dGVyLnN0YXRlU2VydmljZS5nbyhtZW1icnNDb25maWcuZGVmYXVsdFN0YXRlLCB7fSwge2luaGVyaXQ6ZmFsc2V9KVxuICAgICAgICAgIHJlc29sdmUoKVxuICAgICAgfSkuY2F0Y2goZXJyb3I9PntcbiAgICAgICAgICAvL3dpbmRvdy5sb2NhdGlvbi5ocmVmID0gZW52aXJvbm1lbnQubG9naW5cbiAgICAgICAgICByZWplY3QoZXJyb3IpXG4gICAgICB9KVxuXG5cdH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVJlc29sdmVGbih0cmFuc2l0aW9uLCByb3V0ZXIsIG1lbWJyc1NlcnZpY2UsIG1lbWJyc0NvbmZpZzpNZW1icnNDb25maWcpIHtcbiAgXG4gIC8vY29uc29sZS5sb2cobWVtYnJzU2VydmljZSlcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zb2xlLmxvZygndmFsaWRhdGUgcHJvbWlzZSByZXNvbHZlJylcbiAgICBcbiAgICBtZW1icnNTZXJ2aWNlLnJlaXNzdWUoKS50aGVuKChyZXNwb25zZSk9PntcbiAgICAgICAgcmVzb2x2ZSgpXG4gICAgfSkuY2F0Y2goZXJyb3I9PntcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBtZW1icnNDb25maWcubG9naW5cbiAgICAgICAgLy9yZWplY3QoZXJyb3IpXG4gICAgfSlcblxufSlcbn1cblxuXG4vKiogVGhlIHRvcCBsZXZlbCBzdGF0ZShzKSAqL1xuZXhwb3J0IGNvbnN0IFNUQVRFUyA9IFtcbiAgICByZWlzc3VlU3RhdGVcbl1cblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGVcbiAgICAvLyBVSVJvdXRlck1vZHVsZS5mb3JDaGlsZCh7XG4gICAgLy8gICBzdGF0ZXM6IFNUQVRFUyxcbiAgICAvLyAgIGNvbmZpZzogcm91dGVyQ29uZmlnRm4sXG4gICAgLy8gfSksXG4gICAgLy8gSnd0TW9kdWxlLmZvclJvb3Qoe30pXG4gIF1cbn0pXG5cblxuXG5leHBvcnQgY2xhc3MgTWVtYnJzTW9kdWxlIHsgXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogTWVtYnJzQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxNZW1icnNNb2R1bGU+IHtcblxuXG4gICAgY29uc3QgbW9kdWxlUHJvdmlkZXJzID0gVUlSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgICBzdGF0ZXM6IFNUQVRFUyxcbiAgICAgICAgY29uZmlnOiByb3V0ZXJDb25maWdGblxuICAgICAgfSkucHJvdmlkZXJzXG4gICAgICBcbiAgICBtb2R1bGVQcm92aWRlcnMucHVzaChNZW1icnNTZXJ2aWNlKVxuICAgIG1vZHVsZVByb3ZpZGVycy5wdXNoKHtwcm92aWRlOiBNZW1icnNDb25maWdTZXJ2aWNlLHVzZVZhbHVlOiBjb25maWd9KTtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE1lbWJyc01vZHVsZSwgXG4gICAgICBwcm92aWRlcnM6IG1vZHVsZVByb3ZpZGVyc1xuICAgIH07XG5cblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTWVtYnJzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1lbWJyc1NlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBNZW1icnNDb25maWdTZXJ2aWNlLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICB9XG4gIH1cblxufVxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYnJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsibGliL21lbWJycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsS0FBSyxFQUFFLFNBQVM7SUFDaEIsSUFBSSxFQUFFLENBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUU7SUFDbEUsU0FBUyxFQUFFLGlCQUFpQjtDQUMvQixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLElBQUksRUFBRSxDQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFFO0lBQ2xFLFNBQVMsRUFBRSxnQkFBZ0I7Q0FDNUIsQ0FBQTtBQUVE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QUU7Z0JBQ1QsYUFBYTtnQkFDYjtvQkFDRSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixRQUFRLEVBQUUsTUFBTTtpQkFDakI7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDO0NBRUYsQ0FBQTtBQXBDWSxZQUFZO0lBZnhCLFFBQVEsQ0FBQztRQUNSLE9BQU8sRUFBRTtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsU0FBUztZQUNULDRCQUE0QjtZQUM1QixvQkFBb0I7WUFDcEIsNEJBQTRCO1lBQzVCLE1BQU07WUFDTix3QkFBd0I7U0FDekI7S0FDRixDQUFDO0dBSVcsWUFBWSxDQW9DeEI7U0FwQ1ksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1lbWJyc1NlcnZpY2UgfSBmcm9tICcuL21lbWJycy5zZXJ2aWNlJztcbmltcG9ydCB7IEp3dE1vZHVsZSB9IGZyb20gXCJAYXV0aDAvYW5ndWxhci1qd3RcIjtcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IFVJUm91dGVyTW9kdWxlIH0gZnJvbSAnQHVpcm91dGVyL2FuZ3VsYXInXG5cbmltcG9ydCB7IE5nMlN0YXRlRGVjbGFyYXRpb24gfSBmcm9tICdAdWlyb3V0ZXIvYW5ndWxhcic7XG5pbXBvcnQgeyBUcmFuc2l0aW9uLCBVSVJvdXRlciB9IGZyb20gJ0B1aXJvdXRlci9hbmd1bGFyJ1xuXG5pbXBvcnQgeyByb3V0ZXJDb25maWdGbiB9IGZyb20gJy4vcm91dGVyLmNvbmZpZyc7XG5pbXBvcnQgeyBNZW1icnNDb25maWcgfSBmcm9tICcuL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWVtYnJzQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmV0cmlldmVUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZXNvbHZlID0ge1xuICAgIHRva2VuOiAncmVpc3N1ZScsXG4gICAgZGVwczogWyBUcmFuc2l0aW9uLCBVSVJvdXRlciwgTWVtYnJzU2VydmljZSwgTWVtYnJzQ29uZmlnU2VydmljZSBdLFxuICAgIHJlc29sdmVGbjogdmFsaWRhdGVSZXNvbHZlRm5cbn1cblxuZXhwb3J0IGNvbnN0IHJlaXNzdWVSZXNvbHZlID0ge1xuICB0b2tlbjogJ3JlaXNzdWUnLFxuICBkZXBzOiBbIFRyYW5zaXRpb24sIFVJUm91dGVyLCBNZW1icnNTZXJ2aWNlLCBNZW1icnNDb25maWdTZXJ2aWNlIF0sXG4gIHJlc29sdmVGbjogcmVpc3N1ZVJlc29sdmVGblxufVxuXG5leHBvcnQgY29uc3QgcmVpc3N1ZVN0YXRlOk5nMlN0YXRlRGVjbGFyYXRpb24gPSB7XG5cdG5hbWU6ICdyZWlzc3VlJywgXG5cdHVybDogJy9yZWlzc3VlP3Rva2VuJyxcblx0dmlld3M6IHsgfSxcblx0cmVzb2x2ZTogW1xuICAgIHJlaXNzdWVSZXNvbHZlXG5cdF1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlaXNzdWVSZXNvbHZlRm4odHJhbnNpdGlvbiwgcm91dGVyLCBtZW1icnNTZXJ2aWNlLCBtZW1icnNDb25maWc6TWVtYnJzQ29uZmlnKSB7XG4gICAgXG4gICAgLy9jb25zb2xlLmxvZyhtZW1icnNTZXJ2aWNlKVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygncmVpc3N1ZSBwcm9taXNlIHJlc29sdmUnKVxuICAgICAgY29uc29sZS5sb2codHJhbnNpdGlvbi5wYXJhbXMoKS50b2tlbilcbiAgICAgIG1lbWJyc1NlcnZpY2UucmVpc3N1ZSh0cmFuc2l0aW9uLnBhcmFtcygpLnRva2VuKS50aGVuKChyZXNwb25zZSk9PntcbiAgICAgICAgICBjb25zb2xlLmxvZygncmVkaXJlY3QgdG8gZGFzaGJvYXJkIHN0YXRlJylcbiAgICAgICAgICByb3V0ZXIuc3RhdGVTZXJ2aWNlLmdvKG1lbWJyc0NvbmZpZy5kZWZhdWx0U3RhdGUsIHt9LCB7aW5oZXJpdDpmYWxzZX0pXG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICB9KS5jYXRjaChlcnJvcj0+e1xuICAgICAgICAgIC8vd2luZG93LmxvY2F0aW9uLmhyZWYgPSBlbnZpcm9ubWVudC5sb2dpblxuICAgICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH0pXG5cblx0fSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUmVzb2x2ZUZuKHRyYW5zaXRpb24sIHJvdXRlciwgbWVtYnJzU2VydmljZSwgbWVtYnJzQ29uZmlnOk1lbWJyc0NvbmZpZykge1xuICBcbiAgLy9jb25zb2xlLmxvZyhtZW1icnNTZXJ2aWNlKVxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCd2YWxpZGF0ZSBwcm9taXNlIHJlc29sdmUnKVxuICAgIFxuICAgIG1lbWJyc1NlcnZpY2UucmVpc3N1ZSgpLnRoZW4oKHJlc3BvbnNlKT0+e1xuICAgICAgICByZXNvbHZlKClcbiAgICB9KS5jYXRjaChlcnJvcj0+e1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IG1lbWJyc0NvbmZpZy5sb2dpblxuICAgICAgICAvL3JlamVjdChlcnJvcilcbiAgICB9KVxuXG59KVxufVxuXG5cbi8qKiBUaGUgdG9wIGxldmVsIHN0YXRlKHMpICovXG5leHBvcnQgY29uc3QgU1RBVEVTID0gW1xuICAgIHJlaXNzdWVTdGF0ZVxuXVxuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBKd3RNb2R1bGVcbiAgICAvLyBVSVJvdXRlck1vZHVsZS5mb3JDaGlsZCh7XG4gICAgLy8gICBzdGF0ZXM6IFNUQVRFUyxcbiAgICAvLyAgIGNvbmZpZzogcm91dGVyQ29uZmlnRm4sXG4gICAgLy8gfSksXG4gICAgLy8gSnd0TW9kdWxlLmZvclJvb3Qoe30pXG4gIF1cbn0pXG5cblxuXG5leHBvcnQgY2xhc3MgTWVtYnJzTW9kdWxlIHsgXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogTWVtYnJzQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxNZW1icnNNb2R1bGU+IHtcblxuXG4gICAgY29uc3QgbW9kdWxlUHJvdmlkZXJzID0gVUlSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgICBzdGF0ZXM6IFNUQVRFUyxcbiAgICAgICAgY29uZmlnOiByb3V0ZXJDb25maWdGblxuICAgICAgfSkucHJvdmlkZXJzXG5cbiAgICBtb2R1bGVQcm92aWRlcnMucHVzaChKd3RNb2R1bGUuZm9yUm9vdCh7XG4gICAgICBjb25maWc6IHtcbiAgICAgICAgdG9rZW5HZXR0ZXI6IHJldHJpZXZlVG9rZW4sXG4gICAgICAgIHdoaXRlbGlzdGVkRG9tYWluczogW11cbiAgICAgIH1cbiAgICB9KS5wcm92aWRlcnMpXG4gICAgICBcbiAgICBtb2R1bGVQcm92aWRlcnMucHVzaChNZW1icnNTZXJ2aWNlKVxuICAgIG1vZHVsZVByb3ZpZGVycy5wdXNoKHtwcm92aWRlOiBNZW1icnNDb25maWdTZXJ2aWNlLHVzZVZhbHVlOiBjb25maWd9KTtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE1lbWJyc01vZHVsZSwgXG4gICAgICBwcm92aWRlcnM6IG1vZHVsZVByb3ZpZGVyc1xuICAgIH07XG5cblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTWVtYnJzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1lbWJyc1NlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBNZW1icnNDb25maWdTZXJ2aWNlLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICB9XG4gIH1cblxufVxuIl19
@@ -1,9 +1,10 @@
1
+ import { MembrsConfigService } from './config.service';
1
2
  export function routerConfigFn(router, injector) {
2
3
  const transitionService = router.transitionService;
3
4
  const stateService = router.stateService;
4
- // const config = Injector.call(MembrsConfigService)
5
- // console.log('config in router config fn')
6
- // console.log(config)
5
+ const config = injector.get(MembrsConfigService);
6
+ console.log('config in router config fn');
7
+ console.log(config);
7
8
  // transitionService.onStart({}, (transition)=>{
8
9
  // console.log('start transition')
9
10
  // console.log(transition.params())
@@ -15,9 +16,9 @@ export function routerConfigFn(router, injector) {
15
16
  console.log('default error handler');
16
17
  // if(error.detail == 'NOT_LOGGED_IN')
17
18
  // window.location.href = config.login;
18
- // //console.log(MembrsSettings)
19
+ console.log(config);
19
20
  // if(error.detail == 'INSUFFICIENT_PERMISSIONS')
20
21
  // stateService.go(config.defaultState)
21
22
  });
22
23
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsibGliL3JvdXRlci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFnQixFQUFFLFFBQWtCO0lBRWpFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0lBQ25ELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUE7SUFHMUMsc0RBQXNEO0lBRXRELDhDQUE4QztJQUM5Qyx3QkFBd0I7SUFFeEIsa0RBQWtEO0lBQ2xELHFDQUFxQztJQUNyQyxzQ0FBc0M7SUFDdEMsNkNBQTZDO0lBQzdDLE9BQU87SUFFTCxZQUFZLENBQUMsbUJBQW1CLENBQUMsVUFBUyxLQUFLO1FBRS9DLHVCQUF1QjtRQUN2QixxQkFBcUI7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBQ2hDLHNDQUFzQztRQUMxQyx3Q0FBd0M7UUFDeEMsaUNBQWlDO1FBRWpDLGlEQUFpRDtRQUNqRCx3Q0FBd0M7SUFFekMsQ0FBQyxDQUFDLENBQUM7QUFFSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVUlSb3V0ZXIgfSBmcm9tICdAdWlyb3V0ZXIvY29yZSc7XG5pbXBvcnQgeyBNZW1icnNDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcuc2VydmljZSdcbmltcG9ydCB7IE1lbWJyc0NvbmZpZyB9IGZyb20gJy4vY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcm91dGVyQ29uZmlnRm4ocm91dGVyOiBVSVJvdXRlciwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG5cbiAgY29uc3QgdHJhbnNpdGlvblNlcnZpY2UgPSByb3V0ZXIudHJhbnNpdGlvblNlcnZpY2U7XG4gIGNvbnN0IHN0YXRlU2VydmljZSA9IHJvdXRlci5zdGF0ZVNlcnZpY2VcblxuXG4vLyAgIGNvbnN0IGNvbmZpZyA9IEluamVjdG9yLmNhbGwoTWVtYnJzQ29uZmlnU2VydmljZSlcblxuLy8gICBjb25zb2xlLmxvZygnY29uZmlnIGluIHJvdXRlciBjb25maWcgZm4nKVxuLy8gICBjb25zb2xlLmxvZyhjb25maWcpXG5cbi8vICAgdHJhbnNpdGlvblNlcnZpY2Uub25TdGFydCh7fSwgKHRyYW5zaXRpb24pPT57XG4vLyAgIFx0Y29uc29sZS5sb2coJ3N0YXJ0IHRyYW5zaXRpb24nKVxuLy8gXHQgIGNvbnNvbGUubG9nKHRyYW5zaXRpb24ucGFyYW1zKCkpXG4vLyBcdCAgY29uc29sZS5sb2codHJhbnNpdGlvbi5wYXJhbXNDaGFuZ2VkKCkpXG4vLyAgIH0pXG5cbiBcdHN0YXRlU2VydmljZS5kZWZhdWx0RXJyb3JIYW5kbGVyKGZ1bmN0aW9uKGVycm9yKSB7XG5cdFx0IFxuXHRcdC8vIGNvbnNvbGUubG9nKCdlcnJvcicpXG5cdFx0Ly8gY29uc29sZS5sb2coZXJyb3IpXG5cdFx0Y29uc29sZS5sb2coJ2RlZmF1bHQgZXJyb3IgaGFuZGxlcicpXG4gIFx0ICBcdC8vIGlmKGVycm9yLmRldGFpbCA9PSAnTk9UX0xPR0dFRF9JTicpXG5cdFx0Ly8gXHR3aW5kb3cubG9jYXRpb24uaHJlZiA9IGNvbmZpZy5sb2dpbjtcblx0XHQvLyBcdC8vY29uc29sZS5sb2coTWVtYnJzU2V0dGluZ3MpXG5cblx0XHQvLyBpZihlcnJvci5kZXRhaWwgPT0gJ0lOU1VGRklDSUVOVF9QRVJNSVNTSU9OUycpXG5cdFx0Ly8gXHRzdGF0ZVNlcnZpY2UuZ28oY29uZmlnLmRlZmF1bHRTdGF0ZSlcblxuXHR9KTtcblx0XG59Il19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsibGliL3JvdXRlci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFJdEQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFnQixFQUFFLFFBQWtCO0lBRWpFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0lBQ25ELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUE7SUFHeEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtJQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRXJCLGtEQUFrRDtJQUNsRCxxQ0FBcUM7SUFDckMsc0NBQXNDO0lBQ3RDLDZDQUE2QztJQUM3QyxPQUFPO0lBRUwsWUFBWSxDQUFDLG1CQUFtQixDQUFDLFVBQVMsS0FBSztRQUUvQyx1QkFBdUI7UUFDdkIscUJBQXFCO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUNoQyxzQ0FBc0M7UUFDMUMsd0NBQXdDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFbkIsaURBQWlEO1FBQ2pELHdDQUF3QztJQUV6QyxDQUFDLENBQUMsQ0FBQztBQUVKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSVJvdXRlciB9IGZyb20gJ0B1aXJvdXRlci9jb3JlJztcbmltcG9ydCB7IE1lbWJyc0NvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZy5zZXJ2aWNlJ1xuaW1wb3J0IHsgTWVtYnJzQ29uZmlnIH0gZnJvbSAnLi9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiByb3V0ZXJDb25maWdGbihyb3V0ZXI6IFVJUm91dGVyLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcblxuICBjb25zdCB0cmFuc2l0aW9uU2VydmljZSA9IHJvdXRlci50cmFuc2l0aW9uU2VydmljZTtcbiAgY29uc3Qgc3RhdGVTZXJ2aWNlID0gcm91dGVyLnN0YXRlU2VydmljZVxuXG5cbiAgY29uc3QgY29uZmlnID0gaW5qZWN0b3IuZ2V0KE1lbWJyc0NvbmZpZ1NlcnZpY2UpXG4gIGNvbnNvbGUubG9nKCdjb25maWcgaW4gcm91dGVyIGNvbmZpZyBmbicpXG4gIGNvbnNvbGUubG9nKGNvbmZpZylcblxuLy8gICB0cmFuc2l0aW9uU2VydmljZS5vblN0YXJ0KHt9LCAodHJhbnNpdGlvbik9Pntcbi8vICAgXHRjb25zb2xlLmxvZygnc3RhcnQgdHJhbnNpdGlvbicpXG4vLyBcdCAgY29uc29sZS5sb2codHJhbnNpdGlvbi5wYXJhbXMoKSlcbi8vIFx0ICBjb25zb2xlLmxvZyh0cmFuc2l0aW9uLnBhcmFtc0NoYW5nZWQoKSlcbi8vICAgfSlcblxuIFx0c3RhdGVTZXJ2aWNlLmRlZmF1bHRFcnJvckhhbmRsZXIoZnVuY3Rpb24oZXJyb3IpIHtcblx0XHQgXG5cdFx0Ly8gY29uc29sZS5sb2coJ2Vycm9yJylcblx0XHQvLyBjb25zb2xlLmxvZyhlcnJvcilcblx0XHRjb25zb2xlLmxvZygnZGVmYXVsdCBlcnJvciBoYW5kbGVyJylcbiAgXHQgIFx0Ly8gaWYoZXJyb3IuZGV0YWlsID09ICdOT1RfTE9HR0VEX0lOJylcblx0XHQvLyBcdHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gY29uZmlnLmxvZ2luO1xuXHRcdGNvbnNvbGUubG9nKGNvbmZpZylcblxuXHRcdC8vIGlmKGVycm9yLmRldGFpbCA9PSAnSU5TVUZGSUNJRU5UX1BFUk1JU1NJT05TJylcblx0XHQvLyBcdHN0YXRlU2VydmljZS5nbyhjb25maWcuZGVmYXVsdFN0YXRlKVxuXG5cdH0pO1xuXHRcbn0iXX0=
@@ -0,0 +1,4 @@
1
+ export function retrieveToken() {
2
+ return localStorage.getItem('membrs');
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmFrZWRjcmVhdGl2aXR5L21lbWJycy1hbmd1bGFyLWhlbHBlci8iLCJzb3VyY2VzIjpbImxpYi90b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsYUFBYTtJQUN6QixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiByZXRyaWV2ZVRva2VuKCkge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbWVtYnJzJyk7XG59Il19
@@ -3,7 +3,5 @@
3
3
  */
4
4
  export * from './lib/membrs.service';
5
5
  export * from './lib/membrs.module';
6
- export function retrieveToken() {
7
- return localStorage.getItem('membrs');
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxNQUFNLFVBQVUsYUFBYTtJQUN6QixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbWVtYnJzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVtYnJzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVtYnJzLm1vZHVsZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXRyaWV2ZVRva2VuKCkge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbWVtYnJzJyk7XG59Il19
6
+ export * from './lib/token';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGFBQWEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbWVtYnJzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVtYnJzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVtYnJzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbiciXX0=
@@ -2,11 +2,13 @@ import { __decorate } from "tslib";
2
2
  import { NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { MembrsService } from './membrs.service';
5
+ import { JwtModule } from "@auth0/angular-jwt";
5
6
  import { HttpClientModule } from "@angular/common/http";
6
7
  import { UIRouterModule } from '@uirouter/angular';
7
8
  import { Transition, UIRouter } from '@uirouter/angular';
8
9
  import { routerConfigFn } from './router.config';
9
10
  import { MembrsConfigService } from './config.service';
11
+ import { retrieveToken } from './token';
10
12
  export var validateResolve = {
11
13
  token: 'reissue',
12
14
  deps: [Transition, UIRouter, MembrsService, MembrsConfigService],
@@ -65,6 +67,12 @@ var MembrsModule = /** @class */ (function () {
65
67
  states: STATES,
66
68
  config: routerConfigFn
67
69
  }).providers;
70
+ moduleProviders.push(JwtModule.forRoot({
71
+ config: {
72
+ tokenGetter: retrieveToken,
73
+ whitelistedDomains: []
74
+ }
75
+ }).providers);
68
76
  moduleProviders.push(MembrsService);
69
77
  moduleProviders.push({ provide: MembrsConfigService, useValue: config });
70
78
  return {
@@ -87,7 +95,8 @@ var MembrsModule = /** @class */ (function () {
87
95
  NgModule({
88
96
  imports: [
89
97
  CommonModule,
90
- HttpClientModule
98
+ HttpClientModule,
99
+ JwtModule
91
100
  // UIRouterModule.forChild({
92
101
  // states: STATES,
93
102
  // config: routerConfigFn,
@@ -99,4 +108,4 @@ var MembrsModule = /** @class */ (function () {
99
108
  return MembrsModule;
100
109
  }());
101
110
  export { MembrsModule };
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYnJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsibGliL21lbWJycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBR2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZELE1BQU0sQ0FBQyxJQUFNLGVBQWUsR0FBRztJQUMzQixLQUFLLEVBQUUsU0FBUztJQUNoQixJQUFJLEVBQUUsQ0FBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsQ0FBRTtJQUNsRSxTQUFTLEVBQUUsaUJBQWlCO0NBQy9CLENBQUE7QUFFRCxNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUc7SUFDNUIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsSUFBSSxFQUFFLENBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUU7SUFDbEUsU0FBUyxFQUFFLGdCQUFnQjtDQUM1QixDQUFBO0FBRUQsTUFBTSxDQUFDLElBQU0sWUFBWSxHQUF1QjtJQUMvQyxJQUFJLEVBQUUsU0FBUztJQUNmLEdBQUcsRUFBRSxnQkFBZ0I7SUFDckIsS0FBSyxFQUFF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QUE3QkQsSUE2QkM7U0E3QlksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1lbWJyc1NlcnZpY2UgfSBmcm9tICcuL21lbWJycy5zZXJ2aWNlJztcbmltcG9ydCB7IEp3dE1vZHVsZSB9IGZyb20gXCJAYXV0aDAvYW5ndWxhci1qd3RcIjtcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IFVJUm91dGVyTW9kdWxlIH0gZnJvbSAnQHVpcm91dGVyL2FuZ3VsYXInXG5cbmltcG9ydCB7IE5nMlN0YXRlRGVjbGFyYXRpb24gfSBmcm9tICdAdWlyb3V0ZXIvYW5ndWxhcic7XG5pbXBvcnQgeyBUcmFuc2l0aW9uLCBVSVJvdXRlciB9IGZyb20gJ0B1aXJvdXRlci9hbmd1bGFyJ1xuXG5pbXBvcnQgeyByb3V0ZXJDb25maWdGbiB9IGZyb20gJy4vcm91dGVyLmNvbmZpZyc7XG5pbXBvcnQgeyBNZW1icnNDb25maWcgfSBmcm9tICcuL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWVtYnJzQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZXNvbHZlID0ge1xuICAgIHRva2VuOiAncmVpc3N1ZScsXG4gICAgZGVwczogWyBUcmFuc2l0aW9uLCBVSVJvdXRlciwgTWVtYnJzU2VydmljZSwgTWVtYnJzQ29uZmlnU2VydmljZSBdLFxuICAgIHJlc29sdmVGbjogdmFsaWRhdGVSZXNvbHZlRm5cbn1cblxuZXhwb3J0IGNvbnN0IHJlaXNzdWVSZXNvbHZlID0ge1xuICB0b2tlbjogJ3JlaXNzdWUnLFxuICBkZXBzOiBbIFRyYW5zaXRpb24sIFVJUm91dGVyLCBNZW1icnNTZXJ2aWNlLCBNZW1icnNDb25maWdTZXJ2aWNlIF0sXG4gIHJlc29sdmVGbjogcmVpc3N1ZVJlc29sdmVGblxufVxuXG5leHBvcnQgY29uc3QgcmVpc3N1ZVN0YXRlOk5nMlN0YXRlRGVjbGFyYXRpb24gPSB7XG5cdG5hbWU6ICdyZWlzc3VlJywgXG5cdHVybDogJy9yZWlzc3VlP3Rva2VuJyxcblx0dmlld3M6IHsgfSxcblx0cmVzb2x2ZTogW1xuICAgIHJlaXNzdWVSZXNvbHZlXG5cdF1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlaXNzdWVSZXNvbHZlRm4odHJhbnNpdGlvbiwgcm91dGVyLCBtZW1icnNTZXJ2aWNlLCBtZW1icnNDb25maWc6TWVtYnJzQ29uZmlnKSB7XG4gICAgXG4gICAgLy9jb25zb2xlLmxvZyhtZW1icnNTZXJ2aWNlKVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygncmVpc3N1ZSBwcm9taXNlIHJlc29sdmUnKVxuICAgICAgY29uc29sZS5sb2codHJhbnNpdGlvbi5wYXJhbXMoKS50b2tlbilcbiAgICAgIG1lbWJyc1NlcnZpY2UucmVpc3N1ZSh0cmFuc2l0aW9uLnBhcmFtcygpLnRva2VuKS50aGVuKChyZXNwb25zZSk9PntcbiAgICAgICAgICBjb25zb2xlLmxvZygncmVkaXJlY3QgdG8gZGFzaGJvYXJkIHN0YXRlJylcbiAgICAgICAgICByb3V0ZXIuc3RhdGVTZXJ2aWNlLmdvKG1lbWJyc0NvbmZpZy5kZWZhdWx0U3RhdGUsIHt9LCB7aW5oZXJpdDpmYWxzZX0pXG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICB9KS5jYXRjaChlcnJvcj0+e1xuICAgICAgICAgIC8vd2luZG93LmxvY2F0aW9uLmhyZWYgPSBlbnZpcm9ubWVudC5sb2dpblxuICAgICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH0pXG5cblx0fSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUmVzb2x2ZUZuKHRyYW5zaXRpb24sIHJvdXRlciwgbWVtYnJzU2VydmljZSwgbWVtYnJzQ29uZmlnOk1lbWJyc0NvbmZpZykge1xuICBcbiAgLy9jb25zb2xlLmxvZyhtZW1icnNTZXJ2aWNlKVxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCd2YWxpZGF0ZSBwcm9taXNlIHJlc29sdmUnKVxuICAgIFxuICAgIG1lbWJyc1NlcnZpY2UucmVpc3N1ZSgpLnRoZW4oKHJlc3BvbnNlKT0+e1xuICAgICAgICByZXNvbHZlKClcbiAgICB9KS5jYXRjaChlcnJvcj0+e1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IG1lbWJyc0NvbmZpZy5sb2dpblxuICAgICAgICAvL3JlamVjdChlcnJvcilcbiAgICB9KVxuXG59KVxufVxuXG5cbi8qKiBUaGUgdG9wIGxldmVsIHN0YXRlKHMpICovXG5leHBvcnQgY29uc3QgU1RBVEVTID0gW1xuICAgIHJlaXNzdWVTdGF0ZVxuXVxuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZVxuICAgIC8vIFVJUm91dGVyTW9kdWxlLmZvckNoaWxkKHtcbiAgICAvLyAgIHN0YXRlczogU1RBVEVTLFxuICAgIC8vICAgY29uZmlnOiByb3V0ZXJDb25maWdGbixcbiAgICAvLyB9KSxcbiAgICAvLyBKd3RNb2R1bGUuZm9yUm9vdCh7fSlcbiAgXVxufSlcblxuXG5cbmV4cG9ydCBjbGFzcyBNZW1icnNNb2R1bGUgeyBcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBNZW1icnNDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE1lbWJyc01vZHVsZT4ge1xuXG5cbiAgICBjb25zdCBtb2R1bGVQcm92aWRlcnMgPSBVSVJvdXRlck1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICAgIHN0YXRlczogU1RBVEVTLFxuICAgICAgICBjb25maWc6IHJvdXRlckNvbmZpZ0ZuXG4gICAgICB9KS5wcm92aWRlcnNcbiAgICAgIFxuICAgIG1vZHVsZVByb3ZpZGVycy5wdXNoKE1lbWJyc1NlcnZpY2UpXG4gICAgbW9kdWxlUHJvdmlkZXJzLnB1c2goe3Byb3ZpZGU6IE1lbWJyc0NvbmZpZ1NlcnZpY2UsdXNlVmFsdWU6IGNvbmZpZ30pO1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTWVtYnJzTW9kdWxlLCBcbiAgICAgIHByb3ZpZGVyczogbW9kdWxlUHJvdmlkZXJzXG4gICAgfTtcblxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBNZW1icnNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTWVtYnJzU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE1lbWJyc0NvbmZpZ1NlcnZpY2UsXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZ1xuICAgICAgICB9LFxuICAgICAgXVxuICAgIH1cbiAgfVxuXG59XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYnJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsibGliL21lbWJycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUdsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxJQUFNLGVBQWUsR0FBRztJQUMzQixLQUFLLEVBQUUsU0FBUztJQUNoQixJQUFJLEVBQUUsQ0FBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsQ0FBRTtJQUNsRSxTQUFTLEVBQUUsaUJBQWlCO0NBQy9CLENBQUE7QUFFRCxNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUc7SUFDNUIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsSUFBSSxFQUFFLENBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUU7SUFDbEUsU0FBUyxFQUFFLGdCQUFnQjtDQUM1QixDQUFBO0FBRUQs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LEVBQUUsTUFBTTtpQkFDakI7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDOztJQWxDVSxZQUFZO1FBZnhCLFFBQVEsQ0FBQztZQUNSLE9BQU8sRUFBRTtnQkFDUCxZQUFZO2dCQUNaLGdCQUFnQjtnQkFDaEIsU0FBUztnQkFDVCw0QkFBNEI7Z0JBQzVCLG9CQUFvQjtnQkFDcEIsNEJBQTRCO2dCQUM1QixNQUFNO2dCQUNOLHdCQUF3QjthQUN6QjtTQUNGLENBQUM7T0FJVyxZQUFZLENBb0N4QjtJQUFELG1CQUFDO0NBQUEsQUFwQ0QsSUFvQ0M7U0FwQ1ksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1lbWJyc1NlcnZpY2UgfSBmcm9tICcuL21lbWJycy5zZXJ2aWNlJztcbmltcG9ydCB7IEp3dE1vZHVsZSB9IGZyb20gXCJAYXV0aDAvYW5ndWxhci1qd3RcIjtcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IFVJUm91dGVyTW9kdWxlIH0gZnJvbSAnQHVpcm91dGVyL2FuZ3VsYXInXG5cbmltcG9ydCB7IE5nMlN0YXRlRGVjbGFyYXRpb24gfSBmcm9tICdAdWlyb3V0ZXIvYW5ndWxhcic7XG5pbXBvcnQgeyBUcmFuc2l0aW9uLCBVSVJvdXRlciB9IGZyb20gJ0B1aXJvdXRlci9hbmd1bGFyJ1xuXG5pbXBvcnQgeyByb3V0ZXJDb25maWdGbiB9IGZyb20gJy4vcm91dGVyLmNvbmZpZyc7XG5pbXBvcnQgeyBNZW1icnNDb25maWcgfSBmcm9tICcuL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWVtYnJzQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmV0cmlldmVUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZXNvbHZlID0ge1xuICAgIHRva2VuOiAncmVpc3N1ZScsXG4gICAgZGVwczogWyBUcmFuc2l0aW9uLCBVSVJvdXRlciwgTWVtYnJzU2VydmljZSwgTWVtYnJzQ29uZmlnU2VydmljZSBdLFxuICAgIHJlc29sdmVGbjogdmFsaWRhdGVSZXNvbHZlRm5cbn1cblxuZXhwb3J0IGNvbnN0IHJlaXNzdWVSZXNvbHZlID0ge1xuICB0b2tlbjogJ3JlaXNzdWUnLFxuICBkZXBzOiBbIFRyYW5zaXRpb24sIFVJUm91dGVyLCBNZW1icnNTZXJ2aWNlLCBNZW1icnNDb25maWdTZXJ2aWNlIF0sXG4gIHJlc29sdmVGbjogcmVpc3N1ZVJlc29sdmVGblxufVxuXG5leHBvcnQgY29uc3QgcmVpc3N1ZVN0YXRlOk5nMlN0YXRlRGVjbGFyYXRpb24gPSB7XG5cdG5hbWU6ICdyZWlzc3VlJywgXG5cdHVybDogJy9yZWlzc3VlP3Rva2VuJyxcblx0dmlld3M6IHsgfSxcblx0cmVzb2x2ZTogW1xuICAgIHJlaXNzdWVSZXNvbHZlXG5cdF1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlaXNzdWVSZXNvbHZlRm4odHJhbnNpdGlvbiwgcm91dGVyLCBtZW1icnNTZXJ2aWNlLCBtZW1icnNDb25maWc6TWVtYnJzQ29uZmlnKSB7XG4gICAgXG4gICAgLy9jb25zb2xlLmxvZyhtZW1icnNTZXJ2aWNlKVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygncmVpc3N1ZSBwcm9taXNlIHJlc29sdmUnKVxuICAgICAgY29uc29sZS5sb2codHJhbnNpdGlvbi5wYXJhbXMoKS50b2tlbilcbiAgICAgIG1lbWJyc1NlcnZpY2UucmVpc3N1ZSh0cmFuc2l0aW9uLnBhcmFtcygpLnRva2VuKS50aGVuKChyZXNwb25zZSk9PntcbiAgICAgICAgICBjb25zb2xlLmxvZygncmVkaXJlY3QgdG8gZGFzaGJvYXJkIHN0YXRlJylcbiAgICAgICAgICByb3V0ZXIuc3RhdGVTZXJ2aWNlLmdvKG1lbWJyc0NvbmZpZy5kZWZhdWx0U3RhdGUsIHt9LCB7aW5oZXJpdDpmYWxzZX0pXG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICB9KS5jYXRjaChlcnJvcj0+e1xuICAgICAgICAgIC8vd2luZG93LmxvY2F0aW9uLmhyZWYgPSBlbnZpcm9ubWVudC5sb2dpblxuICAgICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH0pXG5cblx0fSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUmVzb2x2ZUZuKHRyYW5zaXRpb24sIHJvdXRlciwgbWVtYnJzU2VydmljZSwgbWVtYnJzQ29uZmlnOk1lbWJyc0NvbmZpZykge1xuICBcbiAgLy9jb25zb2xlLmxvZyhtZW1icnNTZXJ2aWNlKVxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCd2YWxpZGF0ZSBwcm9taXNlIHJlc29sdmUnKVxuICAgIFxuICAgIG1lbWJyc1NlcnZpY2UucmVpc3N1ZSgpLnRoZW4oKHJlc3BvbnNlKT0+e1xuICAgICAgICByZXNvbHZlKClcbiAgICB9KS5jYXRjaChlcnJvcj0+e1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IG1lbWJyc0NvbmZpZy5sb2dpblxuICAgICAgICAvL3JlamVjdChlcnJvcilcbiAgICB9KVxuXG59KVxufVxuXG5cbi8qKiBUaGUgdG9wIGxldmVsIHN0YXRlKHMpICovXG5leHBvcnQgY29uc3QgU1RBVEVTID0gW1xuICAgIHJlaXNzdWVTdGF0ZVxuXVxuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBKd3RNb2R1bGVcbiAgICAvLyBVSVJvdXRlck1vZHVsZS5mb3JDaGlsZCh7XG4gICAgLy8gICBzdGF0ZXM6IFNUQVRFUyxcbiAgICAvLyAgIGNvbmZpZzogcm91dGVyQ29uZmlnRm4sXG4gICAgLy8gfSksXG4gICAgLy8gSnd0TW9kdWxlLmZvclJvb3Qoe30pXG4gIF1cbn0pXG5cblxuXG5leHBvcnQgY2xhc3MgTWVtYnJzTW9kdWxlIHsgXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogTWVtYnJzQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxNZW1icnNNb2R1bGU+IHtcblxuXG4gICAgY29uc3QgbW9kdWxlUHJvdmlkZXJzID0gVUlSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgICBzdGF0ZXM6IFNUQVRFUyxcbiAgICAgICAgY29uZmlnOiByb3V0ZXJDb25maWdGblxuICAgICAgfSkucHJvdmlkZXJzXG5cbiAgICBtb2R1bGVQcm92aWRlcnMucHVzaChKd3RNb2R1bGUuZm9yUm9vdCh7XG4gICAgICBjb25maWc6IHtcbiAgICAgICAgdG9rZW5HZXR0ZXI6IHJldHJpZXZlVG9rZW4sXG4gICAgICAgIHdoaXRlbGlzdGVkRG9tYWluczogW11cbiAgICAgIH1cbiAgICB9KS5wcm92aWRlcnMpXG4gICAgICBcbiAgICBtb2R1bGVQcm92aWRlcnMucHVzaChNZW1icnNTZXJ2aWNlKVxuICAgIG1vZHVsZVByb3ZpZGVycy5wdXNoKHtwcm92aWRlOiBNZW1icnNDb25maWdTZXJ2aWNlLHVzZVZhbHVlOiBjb25maWd9KTtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE1lbWJyc01vZHVsZSwgXG4gICAgICBwcm92aWRlcnM6IG1vZHVsZVByb3ZpZGVyc1xuICAgIH07XG5cblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTWVtYnJzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1lbWJyc1NlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBNZW1icnNDb25maWdTZXJ2aWNlLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICB9XG4gIH1cblxufVxuIl19
@@ -1,9 +1,10 @@
1
+ import { MembrsConfigService } from './config.service';
1
2
  export function routerConfigFn(router, injector) {
2
3
  var transitionService = router.transitionService;
3
4
  var stateService = router.stateService;
4
- // const config = Injector.call(MembrsConfigService)
5
- // console.log('config in router config fn')
6
- // console.log(config)
5
+ var config = injector.get(MembrsConfigService);
6
+ console.log('config in router config fn');
7
+ console.log(config);
7
8
  // transitionService.onStart({}, (transition)=>{
8
9
  // console.log('start transition')
9
10
  // console.log(transition.params())
@@ -15,9 +16,9 @@ export function routerConfigFn(router, injector) {
15
16
  console.log('default error handler');
16
17
  // if(error.detail == 'NOT_LOGGED_IN')
17
18
  // window.location.href = config.login;
18
- // //console.log(MembrsSettings)
19
+ console.log(config);
19
20
  // if(error.detail == 'INSUFFICIENT_PERMISSIONS')
20
21
  // stateService.go(config.defaultState)
21
22
  });
22
23
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsibGliL3JvdXRlci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFnQixFQUFFLFFBQWtCO0lBRWpFLElBQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0lBQ25ELElBQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUE7SUFHMUMsc0RBQXNEO0lBRXRELDhDQUE4QztJQUM5Qyx3QkFBd0I7SUFFeEIsa0RBQWtEO0lBQ2xELHFDQUFxQztJQUNyQyxzQ0FBc0M7SUFDdEMsNkNBQTZDO0lBQzdDLE9BQU87SUFFTCxZQUFZLENBQUMsbUJBQW1CLENBQUMsVUFBUyxLQUFLO1FBRS9DLHVCQUF1QjtRQUN2QixxQkFBcUI7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBQ2hDLHNDQUFzQztRQUMxQyx3Q0FBd0M7UUFDeEMsaUNBQWlDO1FBRWpDLGlEQUFpRDtRQUNqRCx3Q0FBd0M7SUFFekMsQ0FBQyxDQUFDLENBQUM7QUFFSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVUlSb3V0ZXIgfSBmcm9tICdAdWlyb3V0ZXIvY29yZSc7XG5pbXBvcnQgeyBNZW1icnNDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcuc2VydmljZSdcbmltcG9ydCB7IE1lbWJyc0NvbmZpZyB9IGZyb20gJy4vY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcm91dGVyQ29uZmlnRm4ocm91dGVyOiBVSVJvdXRlciwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG5cbiAgY29uc3QgdHJhbnNpdGlvblNlcnZpY2UgPSByb3V0ZXIudHJhbnNpdGlvblNlcnZpY2U7XG4gIGNvbnN0IHN0YXRlU2VydmljZSA9IHJvdXRlci5zdGF0ZVNlcnZpY2VcblxuXG4vLyAgIGNvbnN0IGNvbmZpZyA9IEluamVjdG9yLmNhbGwoTWVtYnJzQ29uZmlnU2VydmljZSlcblxuLy8gICBjb25zb2xlLmxvZygnY29uZmlnIGluIHJvdXRlciBjb25maWcgZm4nKVxuLy8gICBjb25zb2xlLmxvZyhjb25maWcpXG5cbi8vICAgdHJhbnNpdGlvblNlcnZpY2Uub25TdGFydCh7fSwgKHRyYW5zaXRpb24pPT57XG4vLyAgIFx0Y29uc29sZS5sb2coJ3N0YXJ0IHRyYW5zaXRpb24nKVxuLy8gXHQgIGNvbnNvbGUubG9nKHRyYW5zaXRpb24ucGFyYW1zKCkpXG4vLyBcdCAgY29uc29sZS5sb2codHJhbnNpdGlvbi5wYXJhbXNDaGFuZ2VkKCkpXG4vLyAgIH0pXG5cbiBcdHN0YXRlU2VydmljZS5kZWZhdWx0RXJyb3JIYW5kbGVyKGZ1bmN0aW9uKGVycm9yKSB7XG5cdFx0IFxuXHRcdC8vIGNvbnNvbGUubG9nKCdlcnJvcicpXG5cdFx0Ly8gY29uc29sZS5sb2coZXJyb3IpXG5cdFx0Y29uc29sZS5sb2coJ2RlZmF1bHQgZXJyb3IgaGFuZGxlcicpXG4gIFx0ICBcdC8vIGlmKGVycm9yLmRldGFpbCA9PSAnTk9UX0xPR0dFRF9JTicpXG5cdFx0Ly8gXHR3aW5kb3cubG9jYXRpb24uaHJlZiA9IGNvbmZpZy5sb2dpbjtcblx0XHQvLyBcdC8vY29uc29sZS5sb2coTWVtYnJzU2V0dGluZ3MpXG5cblx0XHQvLyBpZihlcnJvci5kZXRhaWwgPT0gJ0lOU1VGRklDSUVOVF9QRVJNSVNTSU9OUycpXG5cdFx0Ly8gXHRzdGF0ZVNlcnZpY2UuZ28oY29uZmlnLmRlZmF1bHRTdGF0ZSlcblxuXHR9KTtcblx0XG59Il19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsibGliL3JvdXRlci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFJdEQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFnQixFQUFFLFFBQWtCO0lBRWpFLElBQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0lBQ25ELElBQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUE7SUFHeEMsSUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtJQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRXJCLGtEQUFrRDtJQUNsRCxxQ0FBcUM7SUFDckMsc0NBQXNDO0lBQ3RDLDZDQUE2QztJQUM3QyxPQUFPO0lBRUwsWUFBWSxDQUFDLG1CQUFtQixDQUFDLFVBQVMsS0FBSztRQUUvQyx1QkFBdUI7UUFDdkIscUJBQXFCO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUNoQyxzQ0FBc0M7UUFDMUMsd0NBQXdDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFbkIsaURBQWlEO1FBQ2pELHdDQUF3QztJQUV6QyxDQUFDLENBQUMsQ0FBQztBQUVKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSVJvdXRlciB9IGZyb20gJ0B1aXJvdXRlci9jb3JlJztcbmltcG9ydCB7IE1lbWJyc0NvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZy5zZXJ2aWNlJ1xuaW1wb3J0IHsgTWVtYnJzQ29uZmlnIH0gZnJvbSAnLi9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiByb3V0ZXJDb25maWdGbihyb3V0ZXI6IFVJUm91dGVyLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcblxuICBjb25zdCB0cmFuc2l0aW9uU2VydmljZSA9IHJvdXRlci50cmFuc2l0aW9uU2VydmljZTtcbiAgY29uc3Qgc3RhdGVTZXJ2aWNlID0gcm91dGVyLnN0YXRlU2VydmljZVxuXG5cbiAgY29uc3QgY29uZmlnID0gaW5qZWN0b3IuZ2V0KE1lbWJyc0NvbmZpZ1NlcnZpY2UpXG4gIGNvbnNvbGUubG9nKCdjb25maWcgaW4gcm91dGVyIGNvbmZpZyBmbicpXG4gIGNvbnNvbGUubG9nKGNvbmZpZylcblxuLy8gICB0cmFuc2l0aW9uU2VydmljZS5vblN0YXJ0KHt9LCAodHJhbnNpdGlvbik9Pntcbi8vICAgXHRjb25zb2xlLmxvZygnc3RhcnQgdHJhbnNpdGlvbicpXG4vLyBcdCAgY29uc29sZS5sb2codHJhbnNpdGlvbi5wYXJhbXMoKSlcbi8vIFx0ICBjb25zb2xlLmxvZyh0cmFuc2l0aW9uLnBhcmFtc0NoYW5nZWQoKSlcbi8vICAgfSlcblxuIFx0c3RhdGVTZXJ2aWNlLmRlZmF1bHRFcnJvckhhbmRsZXIoZnVuY3Rpb24oZXJyb3IpIHtcblx0XHQgXG5cdFx0Ly8gY29uc29sZS5sb2coJ2Vycm9yJylcblx0XHQvLyBjb25zb2xlLmxvZyhlcnJvcilcblx0XHRjb25zb2xlLmxvZygnZGVmYXVsdCBlcnJvciBoYW5kbGVyJylcbiAgXHQgIFx0Ly8gaWYoZXJyb3IuZGV0YWlsID09ICdOT1RfTE9HR0VEX0lOJylcblx0XHQvLyBcdHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gY29uZmlnLmxvZ2luO1xuXHRcdGNvbnNvbGUubG9nKGNvbmZpZylcblxuXHRcdC8vIGlmKGVycm9yLmRldGFpbCA9PSAnSU5TVUZGSUNJRU5UX1BFUk1JU1NJT05TJylcblx0XHQvLyBcdHN0YXRlU2VydmljZS5nbyhjb25maWcuZGVmYXVsdFN0YXRlKVxuXG5cdH0pO1xuXHRcbn0iXX0=
@@ -0,0 +1,4 @@
1
+ export function retrieveToken() {
2
+ return localStorage.getItem('membrs');
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmFrZWRjcmVhdGl2aXR5L21lbWJycy1hbmd1bGFyLWhlbHBlci8iLCJzb3VyY2VzIjpbImxpYi90b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsYUFBYTtJQUN6QixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiByZXRyaWV2ZVRva2VuKCkge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbWVtYnJzJyk7XG59Il19
@@ -3,7 +3,5 @@
3
3
  */
4
4
  export * from './lib/membrs.service';
5
5
  export * from './lib/membrs.module';
6
- export function retrieveToken() {
7
- return localStorage.getItem('membrs');
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxNQUFNLFVBQVUsYUFBYTtJQUN6QixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbWVtYnJzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVtYnJzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVtYnJzLm1vZHVsZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXRyaWV2ZVRva2VuKCkge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbWVtYnJzJyk7XG59Il19
6
+ export * from './lib/token';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYWtlZGNyZWF0aXZpdHkvbWVtYnJzLWFuZ3VsYXItaGVscGVyLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGFBQWEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbWVtYnJzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVtYnJzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVtYnJzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbiciXX0=
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __param, __metadata } from 'tslib';
2
2
  import { InjectionToken, Inject, ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule } from '@angular/core';
3
- import { JwtHelperService } from '@auth0/angular-jwt';
3
+ import { JwtHelperService, JwtModule } from '@auth0/angular-jwt';
4
4
  import { HttpClient, HttpClientModule } from '@angular/common/http';
5
5
  import { CommonModule } from '@angular/common';
6
6
  import { Transition, UIRouter, UIRouterModule } from '@uirouter/angular';
@@ -105,9 +105,9 @@ MembrsService = __decorate([
105
105
  function routerConfigFn(router, injector) {
106
106
  const transitionService = router.transitionService;
107
107
  const stateService = router.stateService;
108
- // const config = Injector.call(MembrsConfigService)
109
- // console.log('config in router config fn')
110
- // console.log(config)
108
+ const config = injector.get(MembrsConfigService);
109
+ console.log('config in router config fn');
110
+ console.log(config);
111
111
  // transitionService.onStart({}, (transition)=>{
112
112
  // console.log('start transition')
113
113
  // console.log(transition.params())
@@ -119,12 +119,16 @@ function routerConfigFn(router, injector) {
119
119
  console.log('default error handler');
120
120
  // if(error.detail == 'NOT_LOGGED_IN')
121
121
  // window.location.href = config.login;
122
- // //console.log(MembrsSettings)
122
+ console.log(config);
123
123
  // if(error.detail == 'INSUFFICIENT_PERMISSIONS')
124
124
  // stateService.go(config.defaultState)
125
125
  });
126
126
  }
127
127
 
128
+ function retrieveToken() {
129
+ return localStorage.getItem('membrs');
130
+ }
131
+
128
132
  var MembrsModule_1;
129
133
  const validateResolve = {
130
134
  token: 'reissue',
@@ -181,6 +185,12 @@ let MembrsModule = MembrsModule_1 = class MembrsModule {
181
185
  states: STATES,
182
186
  config: routerConfigFn
183
187
  }).providers;
188
+ moduleProviders.push(JwtModule.forRoot({
189
+ config: {
190
+ tokenGetter: retrieveToken,
191
+ whitelistedDomains: []
192
+ }
193
+ }).providers);
184
194
  moduleProviders.push(MembrsService);
185
195
  moduleProviders.push({ provide: MembrsConfigService, useValue: config });
186
196
  return {
@@ -203,7 +213,8 @@ MembrsModule = MembrsModule_1 = __decorate([
203
213
  NgModule({
204
214
  imports: [
205
215
  CommonModule,
206
- HttpClientModule
216
+ HttpClientModule,
217
+ JwtModule
207
218
  // UIRouterModule.forChild({
208
219
  // states: STATES,
209
220
  // config: routerConfigFn,
@@ -216,9 +227,6 @@ MembrsModule = MembrsModule_1 = __decorate([
216
227
  /*
217
228
  * Public API Surface of membrs
218
229
  */
219
- function retrieveToken() {
220
- return localStorage.getItem('membrs');
221
- }
222
230
 
223
231
  /**
224
232
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"nakedcreativity-membrs-angular-helper.js","sources":["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/membrs.module.ts","ng://@nakedcreativity/membrs-angular-helper/public-api.ts","ng://@nakedcreativity/membrs-angular-helper/nakedcreativity-membrs-angular-helper.ts"],"sourcesContent":["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\n\n// const config = Injector.call(MembrsConfigService)\n\n// console.log('config in router config fn')\n// console.log(config)\n\n// transitionService.onStart({}, (transition)=>{\n// \tconsole.log('start transition')\n// \t console.log(transition.params())\n// \t console.log(transition.paramsChanged())\n// })\n\n \tstateService.defaultErrorHandler(function(error) {\n\t\t \n\t\t// console.log('error')\n\t\t// console.log(error)\n\t\tconsole.log('default error handler')\n \t \t// if(error.detail == 'NOT_LOGGED_IN')\n\t\t// \twindow.location.href = config.login;\n\t\t// \t//console.log(MembrsSettings)\n\n\t\t// if(error.detail == 'INSUFFICIENT_PERMISSIONS')\n\t\t// \tstateService.go(config.defaultState)\n\n\t});\n\t\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';\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 dashboard state')\n router.stateService.go(membrsConfig.defaultState, {}, {inherit:false})\n resolve()\n }).catch(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 // 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(MembrsService)\n moduleProviders.push({provide: MembrsConfigService,useValue: config});\n return {\n ngModule: MembrsModule, \n providers: moduleProviders\n };\n\n\n return {\n ngModule: MembrsModule,\n providers: [\n MembrsService,\n {\n provide: MembrsConfigService,\n useValue: config\n },\n ]\n }\n }\n\n}\n","/*\n * Public API Surface of membrs\n */\n\nexport * from './lib/membrs.service';\nexport * from './lib/membrs.module';\n\nexport function retrieveToken() {\n return localStorage.getItem('membrs');\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MembrsConfig as ɵb} from './lib/config.interface';\nexport {MembrsConfigService as ɵa} from './lib/config.service';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nakedcreativity-membrs-angular-helper.js","sources":["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","ng://@nakedcreativity/membrs-angular-helper/public-api.ts","ng://@nakedcreativity/membrs-angular-helper/nakedcreativity-membrs-angular-helper.ts"],"sourcesContent":["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\n\n const config = injector.get(MembrsConfigService)\n console.log('config in router config fn')\n console.log(config)\n\n// transitionService.onStart({}, (transition)=>{\n// \tconsole.log('start transition')\n// \t console.log(transition.params())\n// \t console.log(transition.paramsChanged())\n// })\n\n \tstateService.defaultErrorHandler(function(error) {\n\t\t \n\t\t// console.log('error')\n\t\t// console.log(error)\n\t\tconsole.log('default error handler')\n \t \t// if(error.detail == 'NOT_LOGGED_IN')\n\t\t// \twindow.location.href = config.login;\n\t\tconsole.log(config)\n\n\t\t// if(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 dashboard state')\n router.stateService.go(membrsConfig.defaultState, {}, {inherit:false})\n resolve()\n }).catch(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 whitelistedDomains: []\n }\n }).providers)\n \n moduleProviders.push(MembrsService)\n moduleProviders.push({provide: MembrsConfigService,useValue: config});\n return {\n ngModule: MembrsModule, \n providers: moduleProviders\n };\n\n\n return {\n ngModule: MembrsModule,\n providers: [\n MembrsService,\n {\n provide: MembrsConfigService,\n useValue: config\n },\n ]\n }\n }\n\n}\n","/*\n * Public API Surface of membrs\n */\n\nexport * from './lib/membrs.service';\nexport * from './lib/membrs.module';\nexport * from './lib/token'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MembrsConfig as ɵb} from './lib/config.interface';\nexport {MembrsConfigService as ɵa} from './lib/config.service';"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __param, __metadata } from 'tslib';
2
2
  import { InjectionToken, Inject, ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule } from '@angular/core';
3
- import { JwtHelperService } from '@auth0/angular-jwt';
3
+ import { JwtHelperService, JwtModule } from '@auth0/angular-jwt';
4
4
  import { HttpClient, HttpClientModule } from '@angular/common/http';
5
5
  import { CommonModule } from '@angular/common';
6
6
  import { Transition, UIRouter, UIRouterModule } from '@uirouter/angular';
@@ -120,9 +120,9 @@ var MembrsService = /** @class */ (function () {
120
120
  function routerConfigFn(router, injector) {
121
121
  var transitionService = router.transitionService;
122
122
  var stateService = router.stateService;
123
- // const config = Injector.call(MembrsConfigService)
124
- // console.log('config in router config fn')
125
- // console.log(config)
123
+ var config = injector.get(MembrsConfigService);
124
+ console.log('config in router config fn');
125
+ console.log(config);
126
126
  // transitionService.onStart({}, (transition)=>{
127
127
  // console.log('start transition')
128
128
  // console.log(transition.params())
@@ -134,12 +134,16 @@ function routerConfigFn(router, injector) {
134
134
  console.log('default error handler');
135
135
  // if(error.detail == 'NOT_LOGGED_IN')
136
136
  // window.location.href = config.login;
137
- // //console.log(MembrsSettings)
137
+ console.log(config);
138
138
  // if(error.detail == 'INSUFFICIENT_PERMISSIONS')
139
139
  // stateService.go(config.defaultState)
140
140
  });
141
141
  }
142
142
 
143
+ function retrieveToken() {
144
+ return localStorage.getItem('membrs');
145
+ }
146
+
143
147
  var validateResolve = {
144
148
  token: 'reissue',
145
149
  deps: [Transition, UIRouter, MembrsService, MembrsConfigService],
@@ -198,6 +202,12 @@ var MembrsModule = /** @class */ (function () {
198
202
  states: STATES,
199
203
  config: routerConfigFn
200
204
  }).providers;
205
+ moduleProviders.push(JwtModule.forRoot({
206
+ config: {
207
+ tokenGetter: retrieveToken,
208
+ whitelistedDomains: []
209
+ }
210
+ }).providers);
201
211
  moduleProviders.push(MembrsService);
202
212
  moduleProviders.push({ provide: MembrsConfigService, useValue: config });
203
213
  return {
@@ -220,7 +230,8 @@ var MembrsModule = /** @class */ (function () {
220
230
  NgModule({
221
231
  imports: [
222
232
  CommonModule,
223
- HttpClientModule
233
+ HttpClientModule,
234
+ JwtModule
224
235
  // UIRouterModule.forChild({
225
236
  // states: STATES,
226
237
  // config: routerConfigFn,
@@ -235,9 +246,6 @@ var MembrsModule = /** @class */ (function () {
235
246
  /*
236
247
  * Public API Surface of membrs
237
248
  */
238
- function retrieveToken() {
239
- return localStorage.getItem('membrs');
240
- }
241
249
 
242
250
  /**
243
251
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"nakedcreativity-membrs-angular-helper.js","sources":["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/membrs.module.ts","ng://@nakedcreativity/membrs-angular-helper/public-api.ts","ng://@nakedcreativity/membrs-angular-helper/nakedcreativity-membrs-angular-helper.ts"],"sourcesContent":["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\n\n// const config = Injector.call(MembrsConfigService)\n\n// console.log('config in router config fn')\n// console.log(config)\n\n// transitionService.onStart({}, (transition)=>{\n// \tconsole.log('start transition')\n// \t console.log(transition.params())\n// \t console.log(transition.paramsChanged())\n// })\n\n \tstateService.defaultErrorHandler(function(error) {\n\t\t \n\t\t// console.log('error')\n\t\t// console.log(error)\n\t\tconsole.log('default error handler')\n \t \t// if(error.detail == 'NOT_LOGGED_IN')\n\t\t// \twindow.location.href = config.login;\n\t\t// \t//console.log(MembrsSettings)\n\n\t\t// if(error.detail == 'INSUFFICIENT_PERMISSIONS')\n\t\t// \tstateService.go(config.defaultState)\n\n\t});\n\t\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';\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 dashboard state')\n router.stateService.go(membrsConfig.defaultState, {}, {inherit:false})\n resolve()\n }).catch(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 // 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(MembrsService)\n moduleProviders.push({provide: MembrsConfigService,useValue: config});\n return {\n ngModule: MembrsModule, \n providers: moduleProviders\n };\n\n\n return {\n ngModule: MembrsModule,\n providers: [\n MembrsService,\n {\n provide: MembrsConfigService,\n useValue: config\n },\n ]\n }\n }\n\n}\n","/*\n * Public API Surface of membrs\n */\n\nexport * from './lib/membrs.service';\nexport * from './lib/membrs.module';\n\nexport function retrieveToken() {\n return localStorage.getItem('membrs');\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MembrsConfig as ɵb} from './lib/config.interface';\nexport {MembrsConfigService as ɵa} from './lib/config.service';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nakedcreativity-membrs-angular-helper.js","sources":["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","ng://@nakedcreativity/membrs-angular-helper/public-api.ts","ng://@nakedcreativity/membrs-angular-helper/nakedcreativity-membrs-angular-helper.ts"],"sourcesContent":["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\n\n const config = injector.get(MembrsConfigService)\n console.log('config in router config fn')\n console.log(config)\n\n// transitionService.onStart({}, (transition)=>{\n// \tconsole.log('start transition')\n// \t console.log(transition.params())\n// \t console.log(transition.paramsChanged())\n// })\n\n \tstateService.defaultErrorHandler(function(error) {\n\t\t \n\t\t// console.log('error')\n\t\t// console.log(error)\n\t\tconsole.log('default error handler')\n \t \t// if(error.detail == 'NOT_LOGGED_IN')\n\t\t// \twindow.location.href = config.login;\n\t\tconsole.log(config)\n\n\t\t// if(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 dashboard state')\n router.stateService.go(membrsConfig.defaultState, {}, {inherit:false})\n resolve()\n }).catch(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 whitelistedDomains: []\n }\n }).providers)\n \n moduleProviders.push(MembrsService)\n moduleProviders.push({provide: MembrsConfigService,useValue: config});\n return {\n ngModule: MembrsModule, \n providers: moduleProviders\n };\n\n\n return {\n ngModule: MembrsModule,\n providers: [\n MembrsService,\n {\n provide: MembrsConfigService,\n useValue: config\n },\n ]\n }\n }\n\n}\n","/*\n * Public API Surface of membrs\n */\n\nexport * from './lib/membrs.service';\nexport * from './lib/membrs.module';\nexport * from './lib/token'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MembrsConfig as ɵb} from './lib/config.interface';\nexport {MembrsConfigService as ɵa} from './lib/config.service';"],"names":[],"mappings":"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"}
package/lib/token.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function retrieveToken(): string;
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"retrieveToken":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"localStorage"},"member":"getItem"},"arguments":["membrs"]}},"MembrsService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":79},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}]],"parameters":[{"__symbolic":"reference","module":"@auth0/angular-jwt","name":"JwtHelperService","line":16,"character":34},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":66},{"__symbolic":"reference","name":"ɵb"}]}],"reissue":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"validateResolve":{"token":"reissue","deps":[{"__symbolic":"reference","module":"@uirouter/angular","name":"Transition","line":16,"character":12},{"__symbolic":"reference","module":"@uirouter/angular","name":"UIRouter","line":16,"character":24},{"__symbolic":"reference","name":"MembrsService"},{"__symbolic":"reference","name":"ɵa"}],"resolveFn":{"__symbolic":"reference","name":"validateResolveFn"}},"reissueResolve":{"token":"reissue","deps":[{"__symbolic":"reference","module":"@uirouter/angular","name":"Transition","line":22,"character":10},{"__symbolic":"reference","module":"@uirouter/angular","name":"UIRouter","line":22,"character":22},{"__symbolic":"reference","name":"MembrsService"},{"__symbolic":"reference","name":"ɵa"}],"resolveFn":{"__symbolic":"reference","name":"reissueResolveFn"}},"reissueState":{"name":"reissue","url":"/reissue?token","views":{},"resolve":[{"__symbolic":"reference","name":"reissueResolve"}]},"reissueResolveFn":{"__symbolic":"function","parameters":["transition","router","membrsService","membrsConfig"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Promise"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":38,"character":23,"module":"./lib/membrs.module"}]}},"validateResolveFn":{"__symbolic":"function","parameters":["transition","router","membrsService","membrsConfig"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Promise"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":56,"character":21,"module":"./lib/membrs.module"}]}},"STATES":[{"__symbolic":"reference","name":"reissueState"}],"MembrsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":76,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":78,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":79,"character":4}]}]}],"members":{}},"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":39},"arguments":["MembrsConfig"]},"ɵb":{"__symbolic":"interface"}},"origins":{"retrieveToken":"./public-api","MembrsService":"./lib/membrs.service","validateResolve":"./lib/membrs.module","reissueResolve":"./lib/membrs.module","reissueState":"./lib/membrs.module","reissueResolveFn":"./lib/membrs.module","validateResolveFn":"./lib/membrs.module","STATES":"./lib/membrs.module","MembrsModule":"./lib/membrs.module","ɵa":"./lib/config.service","ɵb":"./lib/config.interface"},"importAs":"@nakedcreativity/membrs-angular-helper"}
1
+ {"__symbolic":"module","version":4,"metadata":{"MembrsService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":79},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}]],"parameters":[{"__symbolic":"reference","module":"@auth0/angular-jwt","name":"JwtHelperService","line":16,"character":34},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":66},{"__symbolic":"reference","name":"ɵb"}]}],"reissue":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"validateResolve":{"token":"reissue","deps":[{"__symbolic":"reference","module":"@uirouter/angular","name":"Transition","line":17,"character":12},{"__symbolic":"reference","module":"@uirouter/angular","name":"UIRouter","line":17,"character":24},{"__symbolic":"reference","name":"MembrsService"},{"__symbolic":"reference","name":"ɵa"}],"resolveFn":{"__symbolic":"reference","name":"validateResolveFn"}},"reissueResolve":{"token":"reissue","deps":[{"__symbolic":"reference","module":"@uirouter/angular","name":"Transition","line":23,"character":10},{"__symbolic":"reference","module":"@uirouter/angular","name":"UIRouter","line":23,"character":22},{"__symbolic":"reference","name":"MembrsService"},{"__symbolic":"reference","name":"ɵa"}],"resolveFn":{"__symbolic":"reference","name":"reissueResolveFn"}},"reissueState":{"name":"reissue","url":"/reissue?token","views":{},"resolve":[{"__symbolic":"reference","name":"reissueResolve"}]},"reissueResolveFn":{"__symbolic":"function","parameters":["transition","router","membrsService","membrsConfig"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Promise"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":39,"character":23,"module":"./lib/membrs.module"}]}},"validateResolveFn":{"__symbolic":"function","parameters":["transition","router","membrsService","membrsConfig"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Promise"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":57,"character":21,"module":"./lib/membrs.module"}]}},"STATES":[{"__symbolic":"reference","name":"reissueState"}],"MembrsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":77,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":79,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":80,"character":4},{"__symbolic":"reference","module":"@auth0/angular-jwt","name":"JwtModule","line":81,"character":4}]}]}],"members":{}},"retrieveToken":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"localStorage"},"member":"getItem"},"arguments":["membrs"]}},"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":39},"arguments":["MembrsConfig"]},"ɵb":{"__symbolic":"interface"}},"origins":{"MembrsService":"./lib/membrs.service","validateResolve":"./lib/membrs.module","reissueResolve":"./lib/membrs.module","reissueState":"./lib/membrs.module","reissueResolveFn":"./lib/membrs.module","validateResolveFn":"./lib/membrs.module","STATES":"./lib/membrs.module","MembrsModule":"./lib/membrs.module","retrieveToken":"./lib/token","ɵa":"./lib/config.service","ɵb":"./lib/config.interface"},"importAs":"@nakedcreativity/membrs-angular-helper"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nakedcreativity/membrs-angular-helper",
3
- "version": "0.0.6",
3
+ "version": "0.0.9",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^9.1.0-next.4",
6
6
  "@angular/core": "^9.1.0-next.4",
package/public-api.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from './lib/membrs.service';
2
2
  export * from './lib/membrs.module';
3
- export declare function retrieveToken(): string;
3
+ export * from './lib/token';