@juice-js/tenant 1.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # Tenant
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project tenant` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project tenant`.
8
+ > Note: Don't forget to add `--project tenant` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build tenant` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build tenant`, go to the dist folder `cd dist/tenant` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test tenant` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianVpY2UtanMtdGVuYW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvanVpY2UtanMvdGVuYW50L3NyYy9qdWljZS1qcy10ZW5hbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ngx-translate/core";
4
+ export class TenantMismatchComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantMismatchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TenantMismatchComponent, selector: "page-tenant-mismatch", ngImport: i0, template: "<div class=\"container pt-4\">\n <h1>{{'Unauthorized' | translate }}</h1>\n <p>{{ 'Your requested tenant does not match.' | translate}}</p>\n </div>\n ", dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantMismatchComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'page-tenant-mismatch', template: "<div class=\"container pt-4\">\n <h1>{{'Unauthorized' | translate }}</h1>\n <p>{{ 'Your requested tenant does not match.' | translate}}</p>\n </div>\n " }]
11
+ }] });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1pc21hdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2p1aWNlLWpzL3RlbmFudC9zcmMvbGliL3BhZ2VzL3RlbmFudC1taXNtYXRjaC90ZW5hbnQtbWlzbWF0Y2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvanVpY2UtanMvdGVuYW50L3NyYy9saWIvcGFnZXMvdGVuYW50LW1pc21hdGNoL3RlbmFudC1taXNtYXRjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNMUMsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO21HQUF2Qix1QkFBdUIsNERDTnBDLGlLQUlFOzs0RkRFVyx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0Usc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BhZ2UtdGVuYW50LW1pc21hdGNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbmFudC1taXNtYXRjaC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TWlzbWF0Y2hDb21wb25lbnQge1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyIHB0LTRcIj5cbiAgICA8aDE+e3snVW5hdXRob3JpemVkJyB8IHRyYW5zbGF0ZSB9fTwvaDE+XG4gICAgPHA+e3sgJ1lvdXIgcmVxdWVzdGVkIHRlbmFudCBkb2VzIG5vdCBtYXRjaC4nIHwgdHJhbnNsYXRlfX08L3A+XG4gIDwvZGl2PlxuICAiXX0=
@@ -0,0 +1,26 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { TenantRoutingModule } from './tenant-routing.module';
3
+ import { TenantMismatchComponent } from './pages/tenant-mismatch/tenant-mismatch.component';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngx-translate/core";
7
+ export class TenantAuthModule {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TenantAuthModule, declarations: [TenantMismatchComponent], imports: [TenantRoutingModule, i1.TranslateModule] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantAuthModule, imports: [TenantRoutingModule,
11
+ TranslateModule.forChild()] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantAuthModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [
17
+ TenantMismatchComponent
18
+ ],
19
+ imports: [
20
+ TenantRoutingModule,
21
+ TranslateModule.forChild()
22
+ ],
23
+ exports: []
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWF1dGgubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvanVpY2UtanMvdGVuYW50L3NyYy9saWIvdGVuYW50LWF1dGgubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFZdEQsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBUnJCLHVCQUF1QixhQUd2QixtQkFBbUI7Z0hBS2QsZ0JBQWdCLFlBTHJCLG1CQUFtQjtZQUNuQixlQUFlLENBQUMsUUFBUSxFQUFFOzs0RkFJckIsZ0JBQWdCO2tCQVY1QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVix1QkFBdUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxtQkFBbUI7d0JBQ25CLGVBQWUsQ0FBQyxRQUFRLEVBQUU7cUJBQzdCO29CQUNELE9BQU8sRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlbmFudFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3RlbmFudC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBUZW5hbnRNaXNtYXRjaENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvdGVuYW50LW1pc21hdGNoL3RlbmFudC1taXNtYXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFRlbmFudE1pc21hdGNoQ29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRlbmFudFJvdXRpbmdNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBUZW5hbnRBdXRoTW9kdWxlIHsgfSJdfQ==
@@ -0,0 +1,28 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { TenantMismatchComponent } from './pages/tenant-mismatch/tenant-mismatch.component';
4
+ import { PageComponent } from '@juice-js/layout';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ const routes = [
8
+ {
9
+ path: 'tenant-mismatch',
10
+ component: PageComponent,
11
+ children: [
12
+ { path: '', component: TenantMismatchComponent }
13
+ ]
14
+ },
15
+ ];
16
+ export class TenantRoutingModule {
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TenantRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
19
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantRoutingModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ imports: [RouterModule.forChild(routes)],
25
+ exports: [RouterModule],
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvanVpY2UtanMvdGVuYW50L3NyYy9saWIvdGVuYW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRWpELE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixTQUFTLEVBQUUsYUFBYTtRQUN4QixRQUFRLEVBQUM7WUFDUCxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFDO1NBQy9DO0tBQ0Y7Q0FDRixDQUFDO0FBTUYsTUFBTSxPQUFPLG1CQUFtQjsrR0FBbkIsbUJBQW1CO2dIQUFuQixtQkFBbUIsd0NBRnBCLFlBQVk7Z0hBRVgsbUJBQW1CLFlBSHBCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7OzRGQUVYLG1CQUFtQjtrQkFKL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRlbmFudE1pc21hdGNoQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy90ZW5hbnQtbWlzbWF0Y2gvdGVuYW50LW1pc21hdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGp1aWNlLWpzL2xheW91dCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJ3RlbmFudC1taXNtYXRjaCcsXG4gICAgY29tcG9uZW50OiBQYWdlQ29tcG9uZW50LCBcbiAgICBjaGlsZHJlbjpbXG4gICAgICB7cGF0aDogJycsIGNvbXBvbmVudDogVGVuYW50TWlzbWF0Y2hDb21wb25lbnR9XG4gICAgXVxuICB9LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRlbmFudFJvdXRpbmdNb2R1bGV7XG4gXG59Il19
@@ -0,0 +1,26 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/router";
4
+ import * as i2 from "@juice-js/core";
5
+ export class TenantGuard {
6
+ constructor(router, tenantService) {
7
+ this.router = router;
8
+ this.tenantService = tenantService;
9
+ }
10
+ async canActivate(route, state) {
11
+ var tenant = await this.tenantService.getTenantIdentifier();
12
+ if (tenant) {
13
+ return true;
14
+ }
15
+ return this.router.createUrlTree([`/tenant-mismatch`]);
16
+ }
17
+ 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 }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantGuard, providedIn: 'root' }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantGuard, decorators: [{
21
+ type: Injectable,
22
+ args: [{
23
+ providedIn: 'root'
24
+ }]
25
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.TenantService }]; } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50Lmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvanVpY2UtanMvdGVuYW50L3NyYy9saWIvdGVuYW50Lmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPM0MsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFBb0IsTUFBYyxFQUFTLGFBQTRCO1FBQW5ELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUN2RSxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3pFLElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzVELElBQUcsTUFBTSxFQUFDO1lBQ1IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FWVSxXQUFXO21IQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUZW5hbnRTZXJ2aWNlIH0gZnJvbSAnQGp1aWNlLWpzL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUZW5hbnRHdWFyZCAge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLHByaXZhdGUgdGVuYW50U2VydmljZTogVGVuYW50U2VydmljZSkge1xuICB9XG5cbiAgYXN5bmMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XG4gICAgdmFyIHRlbmFudCA9IGF3YWl0IHRoaXMudGVuYW50U2VydmljZS5nZXRUZW5hbnRJZGVudGlmaWVyKCk7XG4gICAgaWYodGVuYW50KXtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbYC90ZW5hbnQtbWlzbWF0Y2hgXSk7XG4gIH1cblxufSJdfQ==
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Public API Surface of tenant
3
+ */
4
+ export * from './lib/tenant-auth.module';
5
+ export * from './lib/tenant.guard';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2p1aWNlLWpzL3RlbmFudC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdGVuYW50XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVuYW50LWF1dGgubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlbmFudC5ndWFyZCc7Il19
@@ -0,0 +1,92 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, NgModule, Injectable } from '@angular/core';
3
+ import * as i1$1 from '@angular/router';
4
+ import { RouterModule } from '@angular/router';
5
+ import * as i1 from '@ngx-translate/core';
6
+ import { TranslateModule } from '@ngx-translate/core';
7
+ import { PageComponent } from '@juice-js/layout';
8
+ import * as i2 from '@juice-js/core';
9
+
10
+ class TenantMismatchComponent {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantMismatchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TenantMismatchComponent, selector: "page-tenant-mismatch", ngImport: i0, template: "<div class=\"container pt-4\">\n <h1>{{'Unauthorized' | translate }}</h1>\n <p>{{ 'Your requested tenant does not match.' | translate}}</p>\n </div>\n ", dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantMismatchComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'page-tenant-mismatch', template: "<div class=\"container pt-4\">\n <h1>{{'Unauthorized' | translate }}</h1>\n <p>{{ 'Your requested tenant does not match.' | translate}}</p>\n </div>\n " }]
17
+ }] });
18
+
19
+ const routes = [
20
+ {
21
+ path: 'tenant-mismatch',
22
+ component: PageComponent,
23
+ children: [
24
+ { path: '', component: TenantMismatchComponent }
25
+ ]
26
+ },
27
+ ];
28
+ class TenantRoutingModule {
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
30
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TenantRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] }); }
31
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantRoutingModule, decorators: [{
34
+ type: NgModule,
35
+ args: [{
36
+ imports: [RouterModule.forChild(routes)],
37
+ exports: [RouterModule],
38
+ }]
39
+ }] });
40
+
41
+ class TenantAuthModule {
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
43
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TenantAuthModule, declarations: [TenantMismatchComponent], imports: [TenantRoutingModule, i1.TranslateModule] }); }
44
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantAuthModule, imports: [TenantRoutingModule,
45
+ TranslateModule.forChild()] }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantAuthModule, decorators: [{
48
+ type: NgModule,
49
+ args: [{
50
+ declarations: [
51
+ TenantMismatchComponent
52
+ ],
53
+ imports: [
54
+ TenantRoutingModule,
55
+ TranslateModule.forChild()
56
+ ],
57
+ exports: []
58
+ }]
59
+ }] });
60
+
61
+ class TenantGuard {
62
+ constructor(router, tenantService) {
63
+ this.router = router;
64
+ this.tenantService = tenantService;
65
+ }
66
+ async canActivate(route, state) {
67
+ var tenant = await this.tenantService.getTenantIdentifier();
68
+ if (tenant) {
69
+ return true;
70
+ }
71
+ return this.router.createUrlTree([`/tenant-mismatch`]);
72
+ }
73
+ 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 }); }
74
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantGuard, providedIn: 'root' }); }
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantGuard, decorators: [{
77
+ type: Injectable,
78
+ args: [{
79
+ providedIn: 'root'
80
+ }]
81
+ }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2.TenantService }]; } });
82
+
83
+ /*
84
+ * Public API Surface of tenant
85
+ */
86
+
87
+ /**
88
+ * Generated bundle index. Do not edit.
89
+ */
90
+
91
+ export { TenantAuthModule, TenantGuard };
92
+ //# sourceMappingURL=juice-js-tenant.mjs.map
@@ -0,0 +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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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@juice-js/tenant" />
5
+ export * from './public-api';
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TenantMismatchComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<TenantMismatchComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<TenantMismatchComponent, "page-tenant-mismatch", never, {}, {}, never, never, false, never>;
5
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./pages/tenant-mismatch/tenant-mismatch.component";
3
+ import * as i2 from "./tenant-routing.module";
4
+ import * as i3 from "@ngx-translate/core";
5
+ export declare class TenantAuthModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<TenantAuthModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TenantAuthModule, [typeof i1.TenantMismatchComponent], [typeof i2.TenantRoutingModule, typeof i3.TranslateModule], never>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<TenantAuthModule>;
9
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/router";
3
+ export declare class TenantRoutingModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TenantRoutingModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TenantRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<TenantRoutingModule>;
7
+ }
@@ -0,0 +1,11 @@
1
+ import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
2
+ import { TenantService } from '@juice-js/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TenantGuard {
5
+ private router;
6
+ private tenantService;
7
+ constructor(router: Router, tenantService: TenantService);
8
+ canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<true | import("@angular/router").UrlTree>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<TenantGuard, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<TenantGuard>;
11
+ }
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@juice-js/tenant",
3
+ "version": "1.0.0-alpha.2",
4
+ "description": "Tenant authorization",
5
+ "author": {
6
+ "name": "jack@creatorflow.io"
7
+ },
8
+ "license": "MIT",
9
+ "bugs": {
10
+ "url": "https://github.com/creatorflow-io/juice-layout/issues"
11
+ },
12
+ "homepage": "https://github.com/creatorflow-io/juice-layout#readme",
13
+ "publishConfig": {
14
+ "access": "public",
15
+ "provenance": true
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/creatorflow-io/juice-layout.git"
20
+ },
21
+ "peerDependencies": {
22
+ "@juice-js/layout": "1.0.0-alpha.2"
23
+ },
24
+ "dependencies": {
25
+ "tslib": "^2.3.0"
26
+ },
27
+ "sideEffects": false,
28
+ "module": "fesm2022/juice-js-tenant.mjs",
29
+ "typings": "index.d.ts",
30
+ "exports": {
31
+ "./package.json": {
32
+ "default": "./package.json"
33
+ },
34
+ ".": {
35
+ "types": "./index.d.ts",
36
+ "esm2022": "./esm2022/juice-js-tenant.mjs",
37
+ "esm": "./esm2022/juice-js-tenant.mjs",
38
+ "default": "./fesm2022/juice-js-tenant.mjs"
39
+ }
40
+ },
41
+ "readme": "ERROR: No README data found!",
42
+ "_id": "@juice-js/tenant@1.0.0-alpha.2"
43
+ }
@@ -0,0 +1,2 @@
1
+ export * from './lib/tenant-auth.module';
2
+ export * from './lib/tenant.guard';