tango-app-ui-auth 3.0.0
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 +24 -0
- package/esm2022/lib/components/tango-auth/tango-auth.component.mjs +12 -0
- package/esm2022/lib/components/tango-auth-forgot-password/tango-auth-forgot-password.component.mjs +11 -0
- package/esm2022/lib/components/tango-auth-login/tango-auth-login.component.mjs +27 -0
- package/esm2022/lib/components/tango-auth-signup/tango-auth-signup.component.mjs +11 -0
- package/esm2022/lib/guards/auth.guard.mjs +26 -0
- package/esm2022/lib/services/auth.service.mjs +23 -0
- package/esm2022/lib/tango-auth-routing.module.mjs +49 -0
- package/esm2022/lib/tango-auth.module.mjs +34 -0
- package/esm2022/public-api.mjs +14 -0
- package/esm2022/tango-app-ui-auth.mjs +5 -0
- package/fesm2022/tango-app-ui-auth.mjs +177 -0
- package/fesm2022/tango-app-ui-auth.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/tango-auth/tango-auth.component.d.ts +5 -0
- package/lib/components/tango-auth-forgot-password/tango-auth-forgot-password.component.d.ts +5 -0
- package/lib/components/tango-auth-login/tango-auth-login.component.d.ts +13 -0
- package/lib/components/tango-auth-signup/tango-auth-signup.component.d.ts +5 -0
- package/lib/guards/auth.guard.d.ts +10 -0
- package/lib/services/auth.service.d.ts +9 -0
- package/lib/tango-auth-routing.module.d.ts +7 -0
- package/lib/tango-auth.module.d.ts +12 -0
- package/package.json +25 -0
- package/public-api.d.ts +7 -0
package/README.md
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# TangoAuth
|
2
|
+
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.0.0.
|
4
|
+
|
5
|
+
## Code scaffolding
|
6
|
+
|
7
|
+
Run `ng generate component component-name --project tango-auth` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project tango-auth`.
|
8
|
+
> Note: Don't forget to add `--project tango-auth` or else it will be added to the default project in your `angular.json` file.
|
9
|
+
|
10
|
+
## Build
|
11
|
+
|
12
|
+
Run `ng build tango-auth` 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 tango-auth`, go to the dist folder `cd dist/tango-auth` and run `npm publish`.
|
17
|
+
|
18
|
+
## Running unit tests
|
19
|
+
|
20
|
+
Run `ng test tango-auth` 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,12 @@
|
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "@angular/router";
|
4
|
+
export class TangoAuthComponent {
|
5
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
6
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoAuthComponent, selector: "lib-tango-auth", ngImport: i0, template: "<p>tango-auth works!</p>\r\n\r\n<router-outlet></router-outlet>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
7
|
+
}
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthComponent, decorators: [{
|
9
|
+
type: Component,
|
10
|
+
args: [{ selector: 'lib-tango-auth', template: "<p>tango-auth works!</p>\r\n\r\n<router-outlet></router-outlet>\r\n" }]
|
11
|
+
}] });
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYXV0aC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hdXRoL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1hdXRoL3RhbmdvLWF1dGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC90YW5nby1hdXRoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8xQyxNQUFNLE9BQU8sa0JBQWtCO3VHQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQixzRENQL0IscUVBR0E7OzJGRElhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhbmdvLWF1dGgnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YW5nby1hdXRoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tYXV0aC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhbmdvQXV0aENvbXBvbmVudCB7XHJcblxyXG59XHJcbiIsIjxwPnRhbmdvLWF1dGggd29ya3MhPC9wPlxyXG5cclxuPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG4iXX0=
|
package/esm2022/lib/components/tango-auth-forgot-password/tango-auth-forgot-password.component.mjs
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class TangoAuthForgotPasswordComponent {
|
4
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthForgotPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
5
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoAuthForgotPasswordComponent, selector: "lib-tango-auth-forgot-password", ngImport: i0, template: "<p>tango-auth-forgot-password works!</p>\r\n", styles: [""] });
|
6
|
+
}
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthForgotPasswordComponent, decorators: [{
|
8
|
+
type: Component,
|
9
|
+
args: [{ selector: 'lib-tango-auth-forgot-password', template: "<p>tango-auth-forgot-password works!</p>\r\n" }]
|
10
|
+
}] });
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYXV0aC1mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1mb3Jnb3QtcGFzc3dvcmQvdGFuZ28tYXV0aC1mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1mb3Jnb3QtcGFzc3dvcmQvdGFuZ28tYXV0aC1mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLGdDQUFnQzt1R0FBaEMsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0Msc0VDUDdDLDhDQUNBOzsyRkRNYSxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0UsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby1hdXRoLWZvcmdvdC1wYXNzd29yZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhbmdvLWF1dGgtZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tYXV0aC1mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb0F1dGhGb3Jnb3RQYXNzd29yZENvbXBvbmVudCB7XHJcblxyXG59XHJcbiIsIjxwPnRhbmdvLWF1dGgtZm9yZ290LXBhc3N3b3JkIHdvcmtzITwvcD5cclxuIl19
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "@angular/router";
|
4
|
+
export class TangoAuthLoginComponent {
|
5
|
+
router;
|
6
|
+
route;
|
7
|
+
returnUrl;
|
8
|
+
constructor(router, route) {
|
9
|
+
this.router = router;
|
10
|
+
this.route = route;
|
11
|
+
}
|
12
|
+
ngOnInit() {
|
13
|
+
// get return url from route parameters or default to '/'
|
14
|
+
this.returnUrl = this.route.snapshot.queryParams['returnUrl'.toString()] || '/';
|
15
|
+
}
|
16
|
+
onClick() {
|
17
|
+
localStorage.setItem('isLoggedIn', 'true');
|
18
|
+
this.router.navigateByUrl(this.returnUrl);
|
19
|
+
}
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthLoginComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoAuthLoginComponent, selector: "lib-tango-auth-login", ngImport: i0, template: "<p>tango-auth-login works!</p>\r\n\r\n\r\n<button (click)=\"onClick()\">Log In</button>", styles: [""] });
|
22
|
+
}
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthLoginComponent, decorators: [{
|
24
|
+
type: Component,
|
25
|
+
args: [{ selector: 'lib-tango-auth-login', template: "<p>tango-auth-login works!</p>\r\n\r\n\r\n<button (click)=\"onClick()\">Log In</button>" }]
|
26
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }] });
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYXV0aC1sb2dpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hdXRoL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1hdXRoLWxvZ2luL3RhbmdvLWF1dGgtbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1sb2dpbi90YW5nby1hdXRoLWxvZ2luLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWtCLE1BQU0sZUFBZSxDQUFDOzs7QUFRMUQsTUFBTSxPQUFPLHVCQUF1QjtJQUtkO0lBQXVCO0lBSDNDLFNBQVMsQ0FBUztJQUdsQixZQUFvQixNQUFhLEVBQVUsS0FBb0I7UUFBM0MsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUFVLFVBQUssR0FBTCxLQUFLLENBQWU7SUFFL0QsQ0FBQztJQUNELFFBQVE7UUFDTix5REFBeUQ7UUFDekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxPQUFPO1FBQ0wsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzNDLENBQUM7dUdBaEJVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLDREQ1JwQyx5RkFHMkM7OzJGREs5Qix1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhbmdvLWF1dGgtbG9naW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YW5nby1hdXRoLWxvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tYXV0aC1sb2dpbi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhbmdvQXV0aExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcmV0dXJuVXJsOiBzdHJpbmc7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjpSb3V0ZXIsIHByaXZhdGUgcm91dGU6QWN0aXZhdGVkUm91dGUpe1xyXG5cclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBnZXQgcmV0dXJuIHVybCBmcm9tIHJvdXRlIHBhcmFtZXRlcnMgb3IgZGVmYXVsdCB0byAnLydcclxuICAgIHRoaXMucmV0dXJuVXJsID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1sncmV0dXJuVXJsJy50b1N0cmluZygpXSB8fCAnLyc7ICAgICAgXHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKCl7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnaXNMb2dnZWRJbicsICd0cnVlJylcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5yZXR1cm5VcmwpXHJcbiAgfVxyXG59XHJcbiIsIjxwPnRhbmdvLWF1dGgtbG9naW4gd29ya3MhPC9wPlxyXG5cclxuXHJcbjxidXR0b24gKGNsaWNrKT1cIm9uQ2xpY2soKVwiPkxvZyBJbjwvYnV0dG9uPiJdfQ==
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class TangoAuthSignupComponent {
|
4
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthSignupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
5
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoAuthSignupComponent, selector: "lib-tango-auth-signup", ngImport: i0, template: "<p>tango-auth-signup works!</p>\r\n", styles: [""] });
|
6
|
+
}
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthSignupComponent, decorators: [{
|
8
|
+
type: Component,
|
9
|
+
args: [{ selector: 'lib-tango-auth-signup', template: "<p>tango-auth-signup works!</p>\r\n" }]
|
10
|
+
}] });
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1zaWdudXAvdGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1zaWdudXAvdGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3Qjt1R0FBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0IsNkRDUHJDLHFDQUNBOzsyRkRNYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby1hdXRoLXNpZ251cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhbmdvLWF1dGgtc2lnbnVwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tYXV0aC1zaWdudXAuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb0F1dGhTaWdudXBDb21wb25lbnQge1xyXG5cclxufVxyXG4iLCI8cD50YW5nby1hdXRoLXNpZ251cCB3b3JrcyE8L3A+XHJcbiJdfQ==
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "../services/auth.service";
|
4
|
+
export class AuthGuard {
|
5
|
+
authService;
|
6
|
+
constructor(authService) {
|
7
|
+
this.authService = authService;
|
8
|
+
}
|
9
|
+
canActivate(route, state) {
|
10
|
+
const currentUser = localStorage.getItem('isLoggedIn');
|
11
|
+
if (currentUser === 'true') {
|
12
|
+
// logged in so return true
|
13
|
+
return true;
|
14
|
+
}
|
15
|
+
// not logged in so redirect to login page with the return url
|
16
|
+
this.authService.logout();
|
17
|
+
return false;
|
18
|
+
}
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthGuard, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
20
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthGuard, providedIn: 'root' });
|
21
|
+
}
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthGuard, decorators: [{
|
23
|
+
type: Injectable,
|
24
|
+
args: [{ providedIn: 'root' }]
|
25
|
+
}], ctorParameters: () => [{ type: i1.AuthService }] });
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWF1dGgvc3JjL2xpYi9ndWFyZHMvYXV0aC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLFNBQVM7SUFDQTtJQUFwQixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFaEQsV0FBVyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDbkUsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RCxJQUFJLFdBQVcsS0FBSyxNQUFNLEVBQUU7WUFDMUIsMkJBQTJCO1lBQzNCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7dUdBYlUsU0FBUzsyR0FBVCxTQUFTLGNBREksTUFBTTs7MkZBQ25CLFNBQVM7a0JBRHJCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEF1dGhHdWFyZCAge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7fVxyXG5cclxuICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2lzTG9nZ2VkSW4nKTtcclxuICAgIGlmIChjdXJyZW50VXNlciA9PT0gJ3RydWUnKSB7XHJcbiAgICAgIC8vIGxvZ2dlZCBpbiBzbyByZXR1cm4gdHJ1ZVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBub3QgbG9nZ2VkIGluIHNvIHJlZGlyZWN0IHRvIGxvZ2luIHBhZ2Ugd2l0aCB0aGUgcmV0dXJuIHVybFxyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "@angular/router";
|
4
|
+
export class AuthService {
|
5
|
+
router;
|
6
|
+
constructor(router) {
|
7
|
+
this.router = router;
|
8
|
+
}
|
9
|
+
logout() {
|
10
|
+
this.router.navigate(['/auth/login'], {
|
11
|
+
queryParams: {},
|
12
|
+
});
|
13
|
+
}
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
15
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, providedIn: 'root' });
|
16
|
+
}
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, decorators: [{
|
18
|
+
type: Injectable,
|
19
|
+
args: [{
|
20
|
+
providedIn: 'root'
|
21
|
+
}]
|
22
|
+
}], ctorParameters: () => [{ type: i1.Router }] });
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXV0aC9zcmMvbGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLFdBQVc7SUFFRjtJQUFwQixZQUFvQixNQUFhO1FBQWIsV0FBTSxHQUFOLE1BQU0sQ0FBTztJQUFJLENBQUM7SUFFdEMsTUFBTTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDcEMsV0FBVyxFQUFFLEVBQUU7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FSVSxXQUFXOzJHQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6Um91dGVyKSB7IH1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXV0aC9sb2dpbiddLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7fSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { RouterModule } from '@angular/router';
|
3
|
+
import { TangoAuthComponent } from './components/tango-auth/tango-auth.component';
|
4
|
+
import { TangoAuthLoginComponent } from './components/tango-auth-login/tango-auth-login.component';
|
5
|
+
import { TangoAuthSignupComponent } from './components/tango-auth-signup/tango-auth-signup.component';
|
6
|
+
import { TangoAuthForgotPasswordComponent } from './components/tango-auth-forgot-password/tango-auth-forgot-password.component';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@angular/router";
|
9
|
+
const routes = [
|
10
|
+
{
|
11
|
+
path: '',
|
12
|
+
component: TangoAuthComponent,
|
13
|
+
children: [
|
14
|
+
{
|
15
|
+
path: '',
|
16
|
+
redirectTo: 'login',
|
17
|
+
pathMatch: 'full',
|
18
|
+
},
|
19
|
+
{
|
20
|
+
path: 'login',
|
21
|
+
component: TangoAuthLoginComponent,
|
22
|
+
data: { returnUrl: window.location.pathname },
|
23
|
+
},
|
24
|
+
{
|
25
|
+
path: 'signup',
|
26
|
+
component: TangoAuthSignupComponent,
|
27
|
+
},
|
28
|
+
{
|
29
|
+
path: 'forgot-password',
|
30
|
+
component: TangoAuthForgotPasswordComponent,
|
31
|
+
},
|
32
|
+
{ path: '', redirectTo: 'login', pathMatch: 'full' },
|
33
|
+
{ path: '**', redirectTo: 'login', pathMatch: 'full' },
|
34
|
+
],
|
35
|
+
},
|
36
|
+
];
|
37
|
+
export class TangoAuthRoutingModule {
|
38
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
39
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
|
40
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
|
41
|
+
}
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthRoutingModule, decorators: [{
|
43
|
+
type: NgModule,
|
44
|
+
args: [{
|
45
|
+
imports: [RouterModule.forChild(routes)],
|
46
|
+
exports: [RouterModule]
|
47
|
+
}]
|
48
|
+
}] });
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYXV0aC1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWF1dGgvc3JjL2xpYi90YW5nby1hdXRoLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDhFQUE4RSxDQUFDOzs7QUFFaEksTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSxrQkFBa0I7UUFDN0IsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsVUFBVSxFQUFFLE9BQU87Z0JBQ25CLFNBQVMsRUFBRSxNQUFNO2FBQ2xCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsU0FBUyxFQUFFLHVCQUF1QjtnQkFDbEMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO2FBRTlDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsU0FBUyxFQUFFLHdCQUF3QjthQUNwQztZQUNEO2dCQUNFLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLFNBQVMsRUFBRSxnQ0FBZ0M7YUFDNUM7WUFDRCxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1lBQ3BELEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7U0FDdkQ7S0FDRjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sc0JBQXNCO3VHQUF0QixzQkFBc0I7d0dBQXRCLHNCQUFzQix3Q0FGdkIsWUFBWTt3R0FFWCxzQkFBc0IsWUFIdkIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDN0IsWUFBWTs7MkZBRVgsc0JBQXNCO2tCQUpsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRhbmdvQXV0aENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YW5nby1hdXRoL3RhbmdvLWF1dGguY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFuZ29BdXRoTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1sb2dpbi90YW5nby1hdXRoLWxvZ2luLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhbmdvQXV0aFNpZ251cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YW5nby1hdXRoLXNpZ251cC90YW5nby1hdXRoLXNpZ251cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYW5nb0F1dGhGb3Jnb3RQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YW5nby1hdXRoLWZvcmdvdC1wYXNzd29yZC90YW5nby1hdXRoLWZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXHJcbiAge1xyXG4gICAgcGF0aDogJycsXHJcbiAgICBjb21wb25lbnQ6IFRhbmdvQXV0aENvbXBvbmVudCxcclxuICAgIGNoaWxkcmVuOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBwYXRoOiAnJyxcclxuICAgICAgICByZWRpcmVjdFRvOiAnbG9naW4nLFxyXG4gICAgICAgIHBhdGhNYXRjaDogJ2Z1bGwnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcGF0aDogJ2xvZ2luJyxcclxuICAgICAgICBjb21wb25lbnQ6IFRhbmdvQXV0aExvZ2luQ29tcG9uZW50LFxyXG4gICAgICAgIGRhdGE6IHsgcmV0dXJuVXJsOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgfSxcclxuXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwYXRoOiAnc2lnbnVwJyxcclxuICAgICAgICBjb21wb25lbnQ6IFRhbmdvQXV0aFNpZ251cENvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHBhdGg6ICdmb3Jnb3QtcGFzc3dvcmQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogVGFuZ29BdXRoRm9yZ290UGFzc3dvcmRDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHsgcGF0aDogJycsIHJlZGlyZWN0VG86ICdsb2dpbicsIHBhdGhNYXRjaDogJ2Z1bGwnIH0sXHJcbiAgICAgIHsgcGF0aDogJyoqJywgcmVkaXJlY3RUbzogJ2xvZ2luJywgcGF0aE1hdGNoOiAnZnVsbCcgfSxcclxuICAgIF0sXHJcbiAgfSxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcclxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFuZ29BdXRoUm91dGluZ01vZHVsZSB7IH1cclxuIl19
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { TangoAuthRoutingModule } from './tango-auth-routing.module';
|
4
|
+
import { TangoAuthComponent } from './components/tango-auth/tango-auth.component';
|
5
|
+
import { TangoAuthLoginComponent } from './components/tango-auth-login/tango-auth-login.component';
|
6
|
+
import { TangoAuthSignupComponent } from './components/tango-auth-signup/tango-auth-signup.component';
|
7
|
+
import { TangoAuthForgotPasswordComponent } from './components/tango-auth-forgot-password/tango-auth-forgot-password.component';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
export class TangoAuthModule {
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
11
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthModule, declarations: [TangoAuthComponent,
|
12
|
+
TangoAuthLoginComponent,
|
13
|
+
TangoAuthSignupComponent,
|
14
|
+
TangoAuthForgotPasswordComponent], imports: [CommonModule,
|
15
|
+
TangoAuthRoutingModule] });
|
16
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthModule, imports: [CommonModule,
|
17
|
+
TangoAuthRoutingModule] });
|
18
|
+
}
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthModule, decorators: [{
|
20
|
+
type: NgModule,
|
21
|
+
args: [{
|
22
|
+
declarations: [
|
23
|
+
TangoAuthComponent,
|
24
|
+
TangoAuthLoginComponent,
|
25
|
+
TangoAuthSignupComponent,
|
26
|
+
TangoAuthForgotPasswordComponent
|
27
|
+
],
|
28
|
+
imports: [
|
29
|
+
CommonModule,
|
30
|
+
TangoAuthRoutingModule,
|
31
|
+
]
|
32
|
+
}]
|
33
|
+
}] });
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hdXRoL3NyYy9saWIvdGFuZ28tYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDbkcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7O0FBZWhJLE1BQU0sT0FBTyxlQUFlO3VHQUFmLGVBQWU7d0dBQWYsZUFBZSxpQkFWeEIsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIsZ0NBQWdDLGFBR2hDLFlBQVk7WUFDWixzQkFBc0I7d0dBR2IsZUFBZSxZQUp4QixZQUFZO1lBQ1osc0JBQXNCOzsyRkFHYixlQUFlO2tCQVozQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QixnQ0FBZ0M7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgVGFuZ29BdXRoUm91dGluZ01vZHVsZSB9IGZyb20gJy4vdGFuZ28tYXV0aC1yb3V0aW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRhbmdvQXV0aENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YW5nby1hdXRoL3RhbmdvLWF1dGguY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFuZ29BdXRoTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1sb2dpbi90YW5nby1hdXRoLWxvZ2luLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhbmdvQXV0aFNpZ251cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YW5nby1hdXRoLXNpZ251cC90YW5nby1hdXRoLXNpZ251cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYW5nb0F1dGhGb3Jnb3RQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YW5nby1hdXRoLWZvcmdvdC1wYXNzd29yZC90YW5nby1hdXRoLWZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUYW5nb0F1dGhDb21wb25lbnQsXHJcbiAgICBUYW5nb0F1dGhMb2dpbkNvbXBvbmVudCxcclxuICAgIFRhbmdvQXV0aFNpZ251cENvbXBvbmVudCxcclxuICAgIFRhbmdvQXV0aEZvcmdvdFBhc3N3b3JkQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUYW5nb0F1dGhSb3V0aW5nTW9kdWxlLFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhbmdvQXV0aE1vZHVsZSB7IH1cclxuIl19
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/*
|
2
|
+
* Public API Surface of tango-auth
|
3
|
+
*/
|
4
|
+
export * from './lib/tango-auth.module';
|
5
|
+
// components
|
6
|
+
export * from './lib/components/tango-auth/tango-auth.component';
|
7
|
+
export * from './lib/components/tango-auth-forgot-password/tango-auth-forgot-password.component';
|
8
|
+
export * from './lib/components/tango-auth-login/tango-auth-login.component';
|
9
|
+
export * from './lib/components/tango-auth-signup/tango-auth-signup.component';
|
10
|
+
// guards
|
11
|
+
export * from './lib/guards/auth.guard';
|
12
|
+
// services
|
13
|
+
export * from './lib/services/auth.service';
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWF1dGgvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGFBQWE7QUFDYixjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsa0ZBQWtGLENBQUM7QUFDakcsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLGdFQUFnRSxDQUFDO0FBRy9FLFNBQVM7QUFDVCxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLFdBQVc7QUFDWCxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHRhbmdvLWF1dGhcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YW5nby1hdXRoLm1vZHVsZSc7XHJcblxyXG4vLyBjb21wb25lbnRzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC90YW5nby1hdXRoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFuZ28tYXV0aC1mb3Jnb3QtcGFzc3dvcmQvdGFuZ28tYXV0aC1mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YW5nby1hdXRoLWxvZ2luL3RhbmdvLWF1dGgtbG9naW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YW5nby1hdXRoLXNpZ251cC90YW5nby1hdXRoLXNpZ251cC5jb21wb25lbnQnO1xyXG5cclxuXHJcbi8vIGd1YXJkc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ndWFyZHMvYXV0aC5ndWFyZCc7XHJcblxyXG4vLyBzZXJ2aWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5cclxuIl19
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './public-api';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYXBwLXVpLWF1dGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hdXRoL3NyYy90YW5nby1hcHAtdWktYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
@@ -0,0 +1,177 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { Component, NgModule, Injectable } from '@angular/core';
|
3
|
+
import { CommonModule } from '@angular/common';
|
4
|
+
import * as i1 from '@angular/router';
|
5
|
+
import { RouterModule } from '@angular/router';
|
6
|
+
|
7
|
+
class TangoAuthComponent {
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
9
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoAuthComponent, selector: "lib-tango-auth", ngImport: i0, template: "<p>tango-auth works!</p>\r\n\r\n<router-outlet></router-outlet>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
10
|
+
}
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthComponent, decorators: [{
|
12
|
+
type: Component,
|
13
|
+
args: [{ selector: 'lib-tango-auth', template: "<p>tango-auth works!</p>\r\n\r\n<router-outlet></router-outlet>\r\n" }]
|
14
|
+
}] });
|
15
|
+
|
16
|
+
class TangoAuthLoginComponent {
|
17
|
+
router;
|
18
|
+
route;
|
19
|
+
returnUrl;
|
20
|
+
constructor(router, route) {
|
21
|
+
this.router = router;
|
22
|
+
this.route = route;
|
23
|
+
}
|
24
|
+
ngOnInit() {
|
25
|
+
// get return url from route parameters or default to '/'
|
26
|
+
this.returnUrl = this.route.snapshot.queryParams['returnUrl'.toString()] || '/';
|
27
|
+
}
|
28
|
+
onClick() {
|
29
|
+
localStorage.setItem('isLoggedIn', 'true');
|
30
|
+
this.router.navigateByUrl(this.returnUrl);
|
31
|
+
}
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthLoginComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
33
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoAuthLoginComponent, selector: "lib-tango-auth-login", ngImport: i0, template: "<p>tango-auth-login works!</p>\r\n\r\n\r\n<button (click)=\"onClick()\">Log In</button>", styles: [""] });
|
34
|
+
}
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthLoginComponent, decorators: [{
|
36
|
+
type: Component,
|
37
|
+
args: [{ selector: 'lib-tango-auth-login', template: "<p>tango-auth-login works!</p>\r\n\r\n\r\n<button (click)=\"onClick()\">Log In</button>" }]
|
38
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }] });
|
39
|
+
|
40
|
+
class TangoAuthSignupComponent {
|
41
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthSignupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
42
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoAuthSignupComponent, selector: "lib-tango-auth-signup", ngImport: i0, template: "<p>tango-auth-signup works!</p>\r\n", styles: [""] });
|
43
|
+
}
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthSignupComponent, decorators: [{
|
45
|
+
type: Component,
|
46
|
+
args: [{ selector: 'lib-tango-auth-signup', template: "<p>tango-auth-signup works!</p>\r\n" }]
|
47
|
+
}] });
|
48
|
+
|
49
|
+
class TangoAuthForgotPasswordComponent {
|
50
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthForgotPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
51
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoAuthForgotPasswordComponent, selector: "lib-tango-auth-forgot-password", ngImport: i0, template: "<p>tango-auth-forgot-password works!</p>\r\n", styles: [""] });
|
52
|
+
}
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthForgotPasswordComponent, decorators: [{
|
54
|
+
type: Component,
|
55
|
+
args: [{ selector: 'lib-tango-auth-forgot-password', template: "<p>tango-auth-forgot-password works!</p>\r\n" }]
|
56
|
+
}] });
|
57
|
+
|
58
|
+
const routes = [
|
59
|
+
{
|
60
|
+
path: '',
|
61
|
+
component: TangoAuthComponent,
|
62
|
+
children: [
|
63
|
+
{
|
64
|
+
path: '',
|
65
|
+
redirectTo: 'login',
|
66
|
+
pathMatch: 'full',
|
67
|
+
},
|
68
|
+
{
|
69
|
+
path: 'login',
|
70
|
+
component: TangoAuthLoginComponent,
|
71
|
+
data: { returnUrl: window.location.pathname },
|
72
|
+
},
|
73
|
+
{
|
74
|
+
path: 'signup',
|
75
|
+
component: TangoAuthSignupComponent,
|
76
|
+
},
|
77
|
+
{
|
78
|
+
path: 'forgot-password',
|
79
|
+
component: TangoAuthForgotPasswordComponent,
|
80
|
+
},
|
81
|
+
{ path: '', redirectTo: 'login', pathMatch: 'full' },
|
82
|
+
{ path: '**', redirectTo: 'login', pathMatch: 'full' },
|
83
|
+
],
|
84
|
+
},
|
85
|
+
];
|
86
|
+
class TangoAuthRoutingModule {
|
87
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
88
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
|
89
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
|
90
|
+
}
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthRoutingModule, decorators: [{
|
92
|
+
type: NgModule,
|
93
|
+
args: [{
|
94
|
+
imports: [RouterModule.forChild(routes)],
|
95
|
+
exports: [RouterModule]
|
96
|
+
}]
|
97
|
+
}] });
|
98
|
+
|
99
|
+
class TangoAuthModule {
|
100
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
101
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthModule, declarations: [TangoAuthComponent,
|
102
|
+
TangoAuthLoginComponent,
|
103
|
+
TangoAuthSignupComponent,
|
104
|
+
TangoAuthForgotPasswordComponent], imports: [CommonModule,
|
105
|
+
TangoAuthRoutingModule] });
|
106
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthModule, imports: [CommonModule,
|
107
|
+
TangoAuthRoutingModule] });
|
108
|
+
}
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoAuthModule, decorators: [{
|
110
|
+
type: NgModule,
|
111
|
+
args: [{
|
112
|
+
declarations: [
|
113
|
+
TangoAuthComponent,
|
114
|
+
TangoAuthLoginComponent,
|
115
|
+
TangoAuthSignupComponent,
|
116
|
+
TangoAuthForgotPasswordComponent
|
117
|
+
],
|
118
|
+
imports: [
|
119
|
+
CommonModule,
|
120
|
+
TangoAuthRoutingModule,
|
121
|
+
]
|
122
|
+
}]
|
123
|
+
}] });
|
124
|
+
|
125
|
+
class AuthService {
|
126
|
+
router;
|
127
|
+
constructor(router) {
|
128
|
+
this.router = router;
|
129
|
+
}
|
130
|
+
logout() {
|
131
|
+
this.router.navigate(['/auth/login'], {
|
132
|
+
queryParams: {},
|
133
|
+
});
|
134
|
+
}
|
135
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
136
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, providedIn: 'root' });
|
137
|
+
}
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, decorators: [{
|
139
|
+
type: Injectable,
|
140
|
+
args: [{
|
141
|
+
providedIn: 'root'
|
142
|
+
}]
|
143
|
+
}], ctorParameters: () => [{ type: i1.Router }] });
|
144
|
+
|
145
|
+
class AuthGuard {
|
146
|
+
authService;
|
147
|
+
constructor(authService) {
|
148
|
+
this.authService = authService;
|
149
|
+
}
|
150
|
+
canActivate(route, state) {
|
151
|
+
const currentUser = localStorage.getItem('isLoggedIn');
|
152
|
+
if (currentUser === 'true') {
|
153
|
+
// logged in so return true
|
154
|
+
return true;
|
155
|
+
}
|
156
|
+
// not logged in so redirect to login page with the return url
|
157
|
+
this.authService.logout();
|
158
|
+
return false;
|
159
|
+
}
|
160
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthGuard, deps: [{ token: AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
161
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthGuard, providedIn: 'root' });
|
162
|
+
}
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthGuard, decorators: [{
|
164
|
+
type: Injectable,
|
165
|
+
args: [{ providedIn: 'root' }]
|
166
|
+
}], ctorParameters: () => [{ type: AuthService }] });
|
167
|
+
|
168
|
+
/*
|
169
|
+
* Public API Surface of tango-auth
|
170
|
+
*/
|
171
|
+
|
172
|
+
/**
|
173
|
+
* Generated bundle index. Do not edit.
|
174
|
+
*/
|
175
|
+
|
176
|
+
export { AuthGuard, AuthService, TangoAuthComponent, TangoAuthForgotPasswordComponent, TangoAuthLoginComponent, TangoAuthModule, TangoAuthSignupComponent };
|
177
|
+
//# sourceMappingURL=tango-app-ui-auth.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tango-app-ui-auth.mjs","sources":["../../../projects/tango-auth/src/lib/components/tango-auth/tango-auth.component.ts","../../../projects/tango-auth/src/lib/components/tango-auth/tango-auth.component.html","../../../projects/tango-auth/src/lib/components/tango-auth-login/tango-auth-login.component.ts","../../../projects/tango-auth/src/lib/components/tango-auth-login/tango-auth-login.component.html","../../../projects/tango-auth/src/lib/components/tango-auth-signup/tango-auth-signup.component.ts","../../../projects/tango-auth/src/lib/components/tango-auth-signup/tango-auth-signup.component.html","../../../projects/tango-auth/src/lib/components/tango-auth-forgot-password/tango-auth-forgot-password.component.ts","../../../projects/tango-auth/src/lib/components/tango-auth-forgot-password/tango-auth-forgot-password.component.html","../../../projects/tango-auth/src/lib/tango-auth-routing.module.ts","../../../projects/tango-auth/src/lib/tango-auth.module.ts","../../../projects/tango-auth/src/lib/services/auth.service.ts","../../../projects/tango-auth/src/lib/guards/auth.guard.ts","../../../projects/tango-auth/src/public-api.ts","../../../projects/tango-auth/src/tango-app-ui-auth.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-tango-auth',\r\n templateUrl: './tango-auth.component.html',\r\n styleUrl: './tango-auth.component.scss'\r\n})\r\nexport class TangoAuthComponent {\r\n\r\n}\r\n","<p>tango-auth works!</p>\r\n\r\n<router-outlet></router-outlet>\r\n","import { Component, OnInit, inject } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'lib-tango-auth-login',\r\n templateUrl: './tango-auth-login.component.html',\r\n styleUrl: './tango-auth-login.component.scss'\r\n})\r\nexport class TangoAuthLoginComponent implements OnInit {\r\n\r\n returnUrl: string;\r\n\r\n\r\n constructor(private router:Router, private route:ActivatedRoute){\r\n\r\n }\r\n ngOnInit(): void {\r\n // get return url from route parameters or default to '/'\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'.toString()] || '/'; \r\n }\r\n\r\n onClick(){\r\n localStorage.setItem('isLoggedIn', 'true')\r\n this.router.navigateByUrl(this.returnUrl)\r\n }\r\n}\r\n","<p>tango-auth-login works!</p>\r\n\r\n\r\n<button (click)=\"onClick()\">Log In</button>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-tango-auth-signup',\r\n templateUrl: './tango-auth-signup.component.html',\r\n styleUrl: './tango-auth-signup.component.scss'\r\n})\r\nexport class TangoAuthSignupComponent {\r\n\r\n}\r\n","<p>tango-auth-signup works!</p>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-tango-auth-forgot-password',\r\n templateUrl: './tango-auth-forgot-password.component.html',\r\n styleUrl: './tango-auth-forgot-password.component.scss'\r\n})\r\nexport class TangoAuthForgotPasswordComponent {\r\n\r\n}\r\n","<p>tango-auth-forgot-password works!</p>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { TangoAuthComponent } from './components/tango-auth/tango-auth.component';\r\nimport { TangoAuthLoginComponent } from './components/tango-auth-login/tango-auth-login.component';\r\nimport { TangoAuthSignupComponent } from './components/tango-auth-signup/tango-auth-signup.component';\r\nimport { TangoAuthForgotPasswordComponent } from './components/tango-auth-forgot-password/tango-auth-forgot-password.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: TangoAuthComponent,\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: 'login',\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: 'login',\r\n component: TangoAuthLoginComponent,\r\n data: { returnUrl: window.location.pathname },\r\n\r\n },\r\n {\r\n path: 'signup',\r\n component: TangoAuthSignupComponent,\r\n },\r\n {\r\n path: 'forgot-password',\r\n component: TangoAuthForgotPasswordComponent,\r\n },\r\n { path: '', redirectTo: 'login', pathMatch: 'full' },\r\n { path: '**', redirectTo: 'login', pathMatch: 'full' },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class TangoAuthRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { TangoAuthRoutingModule } from './tango-auth-routing.module';\r\nimport { TangoAuthComponent } from './components/tango-auth/tango-auth.component';\r\nimport { TangoAuthLoginComponent } from './components/tango-auth-login/tango-auth-login.component';\r\nimport { TangoAuthSignupComponent } from './components/tango-auth-signup/tango-auth-signup.component';\r\nimport { TangoAuthForgotPasswordComponent } from './components/tango-auth-forgot-password/tango-auth-forgot-password.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TangoAuthComponent,\r\n TangoAuthLoginComponent,\r\n TangoAuthSignupComponent,\r\n TangoAuthForgotPasswordComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TangoAuthRoutingModule,\r\n ]\r\n})\r\nexport class TangoAuthModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n constructor(private router:Router) { }\r\n\r\n logout() {\r\n this.router.navigate(['/auth/login'], {\r\n queryParams: {},\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard {\r\n constructor(private authService: AuthService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = localStorage.getItem('isLoggedIn');\r\n if (currentUser === 'true') {\r\n // logged in so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.authService.logout();\r\n return false;\r\n }\r\n}\r\n","/*\r\n * Public API Surface of tango-auth\r\n */\r\n\r\nexport * from './lib/tango-auth.module';\r\n\r\n// components\r\nexport * from './lib/components/tango-auth/tango-auth.component';\r\nexport * from './lib/components/tango-auth-forgot-password/tango-auth-forgot-password.component';\r\nexport * from './lib/components/tango-auth-login/tango-auth-login.component';\r\nexport * from './lib/components/tango-auth-signup/tango-auth-signup.component';\r\n\r\n\r\n// guards\r\nexport * from './lib/guards/auth.guard';\r\n\r\n// services\r\nexport * from './lib/services/auth.service';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AuthService"],"mappings":"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"}
|
package/index.d.ts
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class TangoAuthComponent {
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TangoAuthComponent, never>;
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TangoAuthComponent, "lib-tango-auth", never, {}, {}, never, never, false, never>;
|
5
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class TangoAuthForgotPasswordComponent {
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TangoAuthForgotPasswordComponent, never>;
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TangoAuthForgotPasswordComponent, "lib-tango-auth-forgot-password", never, {}, {}, never, never, false, never>;
|
5
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { OnInit } from '@angular/core';
|
2
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class TangoAuthLoginComponent implements OnInit {
|
5
|
+
private router;
|
6
|
+
private route;
|
7
|
+
returnUrl: string;
|
8
|
+
constructor(router: Router, route: ActivatedRoute);
|
9
|
+
ngOnInit(): void;
|
10
|
+
onClick(): void;
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TangoAuthLoginComponent, never>;
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TangoAuthLoginComponent, "lib-tango-auth-login", never, {}, {}, never, never, false, never>;
|
13
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class TangoAuthSignupComponent {
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TangoAuthSignupComponent, never>;
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TangoAuthSignupComponent, "lib-tango-auth-signup", never, {}, {}, never, never, false, never>;
|
5
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
|
2
|
+
import { AuthService } from '../services/auth.service';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class AuthGuard {
|
5
|
+
private authService;
|
6
|
+
constructor(authService: AuthService);
|
7
|
+
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean;
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthGuard, never>;
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuthGuard>;
|
10
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { Router } from '@angular/router';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class AuthService {
|
4
|
+
private router;
|
5
|
+
constructor(router: Router);
|
6
|
+
logout(): void;
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
|
8
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
|
9
|
+
}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "@angular/router";
|
3
|
+
export declare class TangoAuthRoutingModule {
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TangoAuthRoutingModule, never>;
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TangoAuthRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TangoAuthRoutingModule>;
|
7
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "./components/tango-auth/tango-auth.component";
|
3
|
+
import * as i2 from "./components/tango-auth-login/tango-auth-login.component";
|
4
|
+
import * as i3 from "./components/tango-auth-signup/tango-auth-signup.component";
|
5
|
+
import * as i4 from "./components/tango-auth-forgot-password/tango-auth-forgot-password.component";
|
6
|
+
import * as i5 from "@angular/common";
|
7
|
+
import * as i6 from "./tango-auth-routing.module";
|
8
|
+
export declare class TangoAuthModule {
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TangoAuthModule, never>;
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TangoAuthModule, [typeof i1.TangoAuthComponent, typeof i2.TangoAuthLoginComponent, typeof i3.TangoAuthSignupComponent, typeof i4.TangoAuthForgotPasswordComponent], [typeof i5.CommonModule, typeof i6.TangoAuthRoutingModule], never>;
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TangoAuthModule>;
|
12
|
+
}
|
package/package.json
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"name": "tango-app-ui-auth",
|
3
|
+
"version": "3.0.0",
|
4
|
+
"peerDependencies": {
|
5
|
+
"@angular/common": "^17.0.0",
|
6
|
+
"@angular/core": "^17.0.0"
|
7
|
+
},
|
8
|
+
"dependencies": {
|
9
|
+
"tslib": "^2.3.0"
|
10
|
+
},
|
11
|
+
"sideEffects": false,
|
12
|
+
"module": "fesm2022/tango-app-ui-auth.mjs",
|
13
|
+
"typings": "index.d.ts",
|
14
|
+
"exports": {
|
15
|
+
"./package.json": {
|
16
|
+
"default": "./package.json"
|
17
|
+
},
|
18
|
+
".": {
|
19
|
+
"types": "./index.d.ts",
|
20
|
+
"esm2022": "./esm2022/tango-app-ui-auth.mjs",
|
21
|
+
"esm": "./esm2022/tango-app-ui-auth.mjs",
|
22
|
+
"default": "./fesm2022/tango-app-ui-auth.mjs"
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
package/public-api.d.ts
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
export * from './lib/tango-auth.module';
|
2
|
+
export * from './lib/components/tango-auth/tango-auth.component';
|
3
|
+
export * from './lib/components/tango-auth-forgot-password/tango-auth-forgot-password.component';
|
4
|
+
export * from './lib/components/tango-auth-login/tango-auth-login.component';
|
5
|
+
export * from './lib/components/tango-auth-signup/tango-auth-signup.component';
|
6
|
+
export * from './lib/guards/auth.guard';
|
7
|
+
export * from './lib/services/auth.service';
|