@juice-js/tenant 1.0.0-alpha.4 → 1.0.0-alpha.6

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.
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/router";
7
7
  const routes = [
8
8
  {
9
- path: 'tenant-mismatch',
9
+ path: ':tenant/tenant-mismatch',
10
10
  component: PageComponent,
11
11
  children: [
12
12
  { path: '', component: TenantMismatchComponent }
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
25
25
  exports: [RouterModule],
26
26
  }]
27
27
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvanVpY2UtanMvdGVuYW50L3NyYy9saWIvdGVuYW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRWpELE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixTQUFTLEVBQUUsYUFBYTtRQUN4QixRQUFRLEVBQUM7WUFDUCxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFDO1NBQy9DO0tBQ0Y7Q0FDRixDQUFDO0FBTUYsTUFBTSxPQUFPLG1CQUFtQjsrR0FBbkIsbUJBQW1CO2dIQUFuQixtQkFBbUIsd0NBRnBCLFlBQVk7Z0hBRVgsbUJBQW1CLFlBSHBCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7OzRGQUVYLG1CQUFtQjtrQkFKL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRlbmFudE1pc21hdGNoQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy90ZW5hbnQtbWlzbWF0Y2gvdGVuYW50LW1pc21hdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGp1aWNlLWpzL2xheW91dCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJ3RlbmFudC1taXNtYXRjaCcsXG4gICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LCBcbiAgICBjaGlsZHJlbjpbXG4gICAgICB7cGF0aDogJycsIGNvbXBvbmVudDogVGVuYW50TWlzbWF0Y2hDb21wb25lbnR9XG4gICAgXVxuICB9LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudFJvdXRpbmdNb2R1bGV7XG4gXG59Il19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvanVpY2UtanMvdGVuYW50L3NyYy9saWIvdGVuYW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRWpELE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixTQUFTLEVBQUUsYUFBYTtRQUN4QixRQUFRLEVBQUM7WUFDUCxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFDO1NBQy9DO0tBQ0Y7Q0FDRixDQUFDO0FBTUYsTUFBTSxPQUFPLG1CQUFtQjsrR0FBbkIsbUJBQW1CO2dIQUFuQixtQkFBbUIsd0NBRnBCLFlBQVk7Z0hBRVgsbUJBQW1CLFlBSHBCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7OzRGQUVYLG1CQUFtQjtrQkFKL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRlbmFudE1pc21hdGNoQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy90ZW5hbnQtbWlzbWF0Y2gvdGVuYW50LW1pc21hdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGp1aWNlLWpzL2xheW91dCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJzp0ZW5hbnQvdGVuYW50LW1pc21hdGNoJyxcbiAgICBjb21wb25lbnQ6IFBhZ2VDb21wb25lbnQsIFxuICAgIGNoaWxkcmVuOltcbiAgICAgIHtwYXRoOiAnJywgY29tcG9uZW50OiBUZW5hbnRNaXNtYXRjaENvbXBvbmVudH1cbiAgICBdXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50Um91dGluZ01vZHVsZXtcbiBcbn0iXX0=
@@ -2,6 +2,7 @@ import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/router";
4
4
  import * as i2 from "@juice-js/core";
5
+ // This guard is used to check if the tenant is set and redirect to the tenant-mismatch page if not
5
6
  export class TenantGuard {
6
7
  constructor(router, tenantService) {
7
8
  this.router = router;
@@ -9,9 +10,17 @@ export class TenantGuard {
9
10
  }
10
11
  async canActivate(route, state) {
11
12
  var tenant = await this.tenantService.getTenantIdentifier();
12
- if (tenant) {
13
+ if (tenant && this.tenantService.isMatched()) {
13
14
  return true;
14
15
  }
16
+ // check if the request is for the tenant-mismatch page
17
+ if (this.router.url.endsWith('tenant-mismatch')) {
18
+ return true;
19
+ }
20
+ console.debug(`Tenant mismatch`, this.router.url);
21
+ if (this.tenantService.requestTenantIdentifier) {
22
+ return this.router.createUrlTree([`/${this.tenantService.requestTenantIdentifier}/tenant-mismatch`]);
23
+ }
15
24
  return this.router.createUrlTree([`/tenant-mismatch`]);
16
25
  }
17
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantGuard, deps: [{ token: i1.Router }, { token: i2.TenantService }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -23,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
23
32
  providedIn: 'root'
24
33
  }]
25
34
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.TenantService }]; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50Lmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvanVpY2UtanMvdGVuYW50L3NyYy9saWIvdGVuYW50Lmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPM0MsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFBb0IsTUFBYyxFQUFTLGFBQTRCO1FBQW5ELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUN2RSxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3pFLElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzVELElBQUcsTUFBTSxFQUFDO1lBQ1IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FWVSxXQUFXO21IQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUZW5hbnRTZXJ2aWNlIH0gZnJvbSAnQGp1aWNlLWpzL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUZW5hbnRHdWFyZCAge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLHByaXZhdGUgdGVuYW50U2VydmljZTogVGVuYW50U2VydmljZSkge1xuICB9XG5cbiAgYXN5bmMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XG4gICAgdmFyIHRlbmFudCA9IGF3YWl0IHRoaXMudGVuYW50U2VydmljZS5nZXRUZW5hbnRJZGVudGlmaWVyKCk7XG4gICAgaWYodGVuYW50KXtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbYC90ZW5hbnQtbWlzbWF0Y2hgXSk7XG4gIH1cblxufSJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50Lmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvanVpY2UtanMvdGVuYW50L3NyYy9saWIvdGVuYW50Lmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFJM0MsbUdBQW1HO0FBSW5HLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQW9CLE1BQWMsRUFBUyxhQUE0QjtRQUFuRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDdkUsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUN6RSxJQUFJLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM1RCxJQUFHLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxFQUFDO1lBQzFDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCx1REFBdUQ7UUFDdkQsSUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBQztZQUM3QyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELElBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsRUFBQztZQUM1QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixrQkFBa0IsQ0FBQyxDQUFDLENBQUM7U0FDdEc7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBbEJVLFdBQVc7bUhBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRlbmFudFNlcnZpY2UgfSBmcm9tICdAanVpY2UtanMvY29yZSc7XG5cbi8vIFRoaXMgZ3VhcmQgaXMgdXNlZCB0byBjaGVjayBpZiB0aGUgdGVuYW50IGlzIHNldCBhbmQgcmVkaXJlY3QgdG8gdGhlIHRlbmFudC1taXNtYXRjaCBwYWdlIGlmIG5vdFxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50R3VhcmQgIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixwcml2YXRlIHRlbmFudFNlcnZpY2U6IFRlbmFudFNlcnZpY2UpIHtcbiAgfVxuXG4gIGFzeW5jIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgIHZhciB0ZW5hbnQgPSBhd2FpdCB0aGlzLnRlbmFudFNlcnZpY2UuZ2V0VGVuYW50SWRlbnRpZmllcigpO1xuICAgIGlmKHRlbmFudCAmJiB0aGlzLnRlbmFudFNlcnZpY2UuaXNNYXRjaGVkKCkpe1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIGNoZWNrIGlmIHRoZSByZXF1ZXN0IGlzIGZvciB0aGUgdGVuYW50LW1pc21hdGNoIHBhZ2VcbiAgICBpZih0aGlzLnJvdXRlci51cmwuZW5kc1dpdGgoJ3RlbmFudC1taXNtYXRjaCcpKXtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zb2xlLmRlYnVnKGBUZW5hbnQgbWlzbWF0Y2hgLCB0aGlzLnJvdXRlci51cmwpO1xuICAgIGlmKHRoaXMudGVuYW50U2VydmljZS5yZXF1ZXN0VGVuYW50SWRlbnRpZmllcil7XG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbYC8ke3RoaXMudGVuYW50U2VydmljZS5yZXF1ZXN0VGVuYW50SWRlbnRpZmllcn0vdGVuYW50LW1pc21hdGNoYF0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbYC90ZW5hbnQtbWlzbWF0Y2hgXSk7XG4gIH1cblxufSJdfQ==
@@ -18,7 +18,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
18
18
 
19
19
  const routes = [
20
20
  {
21
- path: 'tenant-mismatch',
21
+ path: ':tenant/tenant-mismatch',
22
22
  component: PageComponent,
23
23
  children: [
24
24
  { path: '', component: TenantMismatchComponent }
@@ -58,6 +58,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
58
58
  }]
59
59
  }] });
60
60
 
61
+ // This guard is used to check if the tenant is set and redirect to the tenant-mismatch page if not
61
62
  class TenantGuard {
62
63
  constructor(router, tenantService) {
63
64
  this.router = router;
@@ -65,9 +66,17 @@ class TenantGuard {
65
66
  }
66
67
  async canActivate(route, state) {
67
68
  var tenant = await this.tenantService.getTenantIdentifier();
68
- if (tenant) {
69
+ if (tenant && this.tenantService.isMatched()) {
69
70
  return true;
70
71
  }
72
+ // check if the request is for the tenant-mismatch page
73
+ if (this.router.url.endsWith('tenant-mismatch')) {
74
+ return true;
75
+ }
76
+ console.debug(`Tenant mismatch`, this.router.url);
77
+ if (this.tenantService.requestTenantIdentifier) {
78
+ return this.router.createUrlTree([`/${this.tenantService.requestTenantIdentifier}/tenant-mismatch`]);
79
+ }
71
80
  return this.router.createUrlTree([`/tenant-mismatch`]);
72
81
  }
73
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantGuard, deps: [{ token: i1$1.Router }, { token: i2.TenantService }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -1 +1 @@
1
- {"version":3,"file":"juice-js-tenant.mjs","sources":["../../../../projects/juice-js/tenant/src/lib/pages/tenant-mismatch/tenant-mismatch.component.ts","../../../../projects/juice-js/tenant/src/lib/pages/tenant-mismatch/tenant-mismatch.component.html","../../../../projects/juice-js/tenant/src/lib/tenant-routing.module.ts","../../../../projects/juice-js/tenant/src/lib/tenant-auth.module.ts","../../../../projects/juice-js/tenant/src/lib/tenant.guard.ts","../../../../projects/juice-js/tenant/src/public-api.ts","../../../../projects/juice-js/tenant/src/juice-js-tenant.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'page-tenant-mismatch',\n templateUrl: './tenant-mismatch.component.html'\n})\nexport class TenantMismatchComponent {\n\n}\n","<div class=\"container pt-4\">\n <h1>{{'Unauthorized' | translate }}</h1>\n <p>{{ 'Your requested tenant does not match.' | translate}}</p>\n </div>\n ","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantMismatchComponent } from './pages/tenant-mismatch/tenant-mismatch.component';\nimport { PageComponent } from '@juice-js/layout';\n\nconst routes: Routes = [\n {\n path: 'tenant-mismatch',\n component: PageComponent, \n children:[\n {path: '', component: TenantMismatchComponent}\n ]\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class TenantRoutingModule{\n \n}","import { NgModule } from '@angular/core';\nimport { TenantRoutingModule } from './tenant-routing.module';\nimport { TenantMismatchComponent } from './pages/tenant-mismatch/tenant-mismatch.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n TenantMismatchComponent\n ],\n imports: [\n TenantRoutingModule,\n TranslateModule.forChild()\n ],\n exports: []\n})\nexport class TenantAuthModule { }","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\nimport { TenantService } from '@juice-js/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TenantGuard {\n constructor(private router: Router,private tenantService: TenantService) {\n }\n\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n var tenant = await this.tenantService.getTenantIdentifier();\n if(tenant){\n return true;\n }\n return this.router.createUrlTree([`/tenant-mismatch`]);\n }\n\n}","/*\n * Public API Surface of tenant\n */\n\nexport * from './lib/tenant-auth.module';\nexport * from './lib/tenant.guard';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"juice-js-tenant.mjs","sources":["../../../../projects/juice-js/tenant/src/lib/pages/tenant-mismatch/tenant-mismatch.component.ts","../../../../projects/juice-js/tenant/src/lib/pages/tenant-mismatch/tenant-mismatch.component.html","../../../../projects/juice-js/tenant/src/lib/tenant-routing.module.ts","../../../../projects/juice-js/tenant/src/lib/tenant-auth.module.ts","../../../../projects/juice-js/tenant/src/lib/tenant.guard.ts","../../../../projects/juice-js/tenant/src/public-api.ts","../../../../projects/juice-js/tenant/src/juice-js-tenant.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'page-tenant-mismatch',\n templateUrl: './tenant-mismatch.component.html'\n})\nexport class TenantMismatchComponent {\n\n}\n","<div class=\"container pt-4\">\n <h1>{{'Unauthorized' | translate }}</h1>\n <p>{{ 'Your requested tenant does not match.' | translate}}</p>\n </div>\n ","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TenantMismatchComponent } from './pages/tenant-mismatch/tenant-mismatch.component';\nimport { PageComponent } from '@juice-js/layout';\n\nconst routes: Routes = [\n {\n path: ':tenant/tenant-mismatch',\n component: PageComponent, \n children:[\n {path: '', component: TenantMismatchComponent}\n ]\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class TenantRoutingModule{\n \n}","import { NgModule } from '@angular/core';\nimport { TenantRoutingModule } from './tenant-routing.module';\nimport { TenantMismatchComponent } from './pages/tenant-mismatch/tenant-mismatch.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n TenantMismatchComponent\n ],\n imports: [\n TenantRoutingModule,\n TranslateModule.forChild()\n ],\n exports: []\n})\nexport class TenantAuthModule { }","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\nimport { TenantService } from '@juice-js/core';\n\n// This guard is used to check if the tenant is set and redirect to the tenant-mismatch page if not\n@Injectable({\n providedIn: 'root'\n})\nexport class TenantGuard {\n constructor(private router: Router,private tenantService: TenantService) {\n }\n\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n var tenant = await this.tenantService.getTenantIdentifier();\n if(tenant && this.tenantService.isMatched()){\n return true;\n }\n // check if the request is for the tenant-mismatch page\n if(this.router.url.endsWith('tenant-mismatch')){\n return true;\n }\n console.debug(`Tenant mismatch`, this.router.url);\n if(this.tenantService.requestTenantIdentifier){\n return this.router.createUrlTree([`/${this.tenantService.requestTenantIdentifier}/tenant-mismatch`]);\n }\n return this.router.createUrlTree([`/tenant-mismatch`]);\n }\n\n}","/*\n * Public API Surface of tenant\n */\n\nexport * from './lib/tenant-auth.module';\nexport * from './lib/tenant.guard';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juice-js/tenant",
3
- "version": "1.0.0-alpha.4",
3
+ "version": "1.0.0-alpha.6",
4
4
  "description": "Tenant authorization",
5
5
  "author": {
6
6
  "name": "jack@creatorflow.io"
@@ -19,7 +19,7 @@
19
19
  "url": "git+https://github.com/creatorflow-io/juice-layout.git"
20
20
  },
21
21
  "peerDependencies": {
22
- "@juice-js/layout": "1.0.0-alpha.4"
22
+ "@juice-js/layout": "1.0.0-alpha.6"
23
23
  },
24
24
  "dependencies": {
25
25
  "tslib": "^2.3.0"
@@ -39,5 +39,5 @@
39
39
  }
40
40
  },
41
41
  "readme": "ERROR: No README data found!",
42
- "_id": "@juice-js/tenant@1.0.0-alpha.4"
42
+ "_id": "@juice-js/tenant@1.0.0-alpha.6"
43
43
  }