@cleavelandprice/ngx-lib 3.1.6 → 3.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/authentication/authentication.base.module.d.ts +7 -0
- package/authentication/object/object.module.d.ts +11 -0
- package/authentication/object/public_api.d.ts +2 -2
- package/authentication/object/services/{authentication-object.service.d.ts → authentication.service.d.ts} +3 -3
- package/authentication/public_api.d.ts +1 -1
- package/authentication/token/gui/components/login/login.component.d.ts +3 -3
- package/authentication/token/gui/components/login-form/login-form.component.d.ts +3 -3
- package/authentication/token/gui/public_api.d.ts +2 -2
- package/authentication/token/gui/services/{authentication-token-gui.service.d.ts → authentication.service.d.ts} +4 -4
- package/authentication/token/gui/token-gui.module.d.ts +20 -0
- package/authentication/token/public_api.d.ts +2 -2
- package/authentication/token/services/{authentication-token.service.d.ts → authentication.service.d.ts} +3 -3
- package/authentication/token/token.module.d.ts +11 -0
- package/esm2020/authentication/authentication.base.module.mjs +19 -0
- package/esm2020/authentication/object/object.module.mjs +39 -0
- package/esm2020/authentication/object/public_api.mjs +3 -3
- package/esm2020/authentication/object/services/authentication.service.mjs +101 -0
- package/esm2020/authentication/public_api.mjs +2 -2
- package/esm2020/authentication/token/gui/components/login/login.component.mjs +4 -4
- package/esm2020/authentication/token/gui/components/login-form/login-form.component.mjs +4 -4
- package/esm2020/authentication/token/gui/public_api.mjs +3 -3
- package/esm2020/authentication/token/gui/services/authentication.service.mjs +74 -0
- package/esm2020/authentication/token/gui/token-gui.module.mjs +77 -0
- package/esm2020/authentication/token/public_api.mjs +3 -3
- package/esm2020/authentication/token/services/authentication.service.mjs +112 -0
- package/esm2020/authentication/token/token.module.mjs +39 -0
- package/fesm2015/cleavelandprice-ngx-lib-authentication-object.mjs +14 -14
- package/fesm2015/cleavelandprice-ngx-lib-authentication-object.mjs.map +1 -1
- package/fesm2015/cleavelandprice-ngx-lib-authentication-token-gui.mjs +19 -19
- package/fesm2015/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +1 -1
- package/fesm2015/cleavelandprice-ngx-lib-authentication-token.mjs +14 -14
- package/fesm2015/cleavelandprice-ngx-lib-authentication-token.mjs.map +1 -1
- package/fesm2015/cleavelandprice-ngx-lib-authentication.mjs +6 -6
- package/fesm2015/cleavelandprice-ngx-lib-authentication.mjs.map +1 -1
- package/fesm2020/cleavelandprice-ngx-lib-authentication-object.mjs +14 -14
- package/fesm2020/cleavelandprice-ngx-lib-authentication-object.mjs.map +1 -1
- package/fesm2020/cleavelandprice-ngx-lib-authentication-token-gui.mjs +19 -19
- package/fesm2020/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +1 -1
- package/fesm2020/cleavelandprice-ngx-lib-authentication-token.mjs +14 -14
- package/fesm2020/cleavelandprice-ngx-lib-authentication-token.mjs.map +1 -1
- package/fesm2020/cleavelandprice-ngx-lib-authentication.mjs +6 -6
- package/fesm2020/cleavelandprice-ngx-lib-authentication.mjs.map +1 -1
- package/package.json +1 -1
- package/authentication/authentication.module.d.ts +0 -7
- package/authentication/object/authentication-object.module.d.ts +0 -11
- package/authentication/token/authentication-token.module.d.ts +0 -11
- package/authentication/token/gui/authentication-token-gui.module.d.ts +0 -20
- package/esm2020/authentication/authentication.module.mjs +0 -19
- package/esm2020/authentication/object/authentication-object.module.mjs +0 -39
- package/esm2020/authentication/object/services/authentication-object.service.mjs +0 -101
- package/esm2020/authentication/token/authentication-token.module.mjs +0 -39
- package/esm2020/authentication/token/gui/authentication-token-gui.module.mjs +0 -77
- package/esm2020/authentication/token/gui/services/authentication-token-gui.service.mjs +0 -74
- package/esm2020/authentication/token/services/authentication-token.service.mjs +0 -112
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@angular/common";
|
|
3
|
+
export declare class AuthenticationBaseModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationBaseModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AuthenticationBaseModule, never, [typeof i1.CommonModule], never>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AuthenticationBaseModule>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import { ServiceConfig } from './model/service-config';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export declare class ObjectModule {
|
|
6
|
+
static forRoot(config: ServiceConfig): ModuleWithProviders<ObjectModule>;
|
|
7
|
+
constructor(parentModule: ObjectModule);
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ObjectModule, [{ optional: true; skipSelf: true; }]>;
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ObjectModule, never, [typeof i1.CommonModule], never>;
|
|
10
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ObjectModule>;
|
|
11
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './model/default-config';
|
|
2
2
|
export * from './model/service-config';
|
|
3
|
-
export * from './services/authentication
|
|
4
|
-
export * from './
|
|
3
|
+
export * from './services/authentication.service';
|
|
4
|
+
export * from './object.module';
|
|
@@ -4,7 +4,7 @@ import { User } from '@cleavelandprice/ngx-lib/active-directory';
|
|
|
4
4
|
import { AbstractAuthenticationService, AuthenticatedUser } from '@cleavelandprice/ngx-lib/authentication';
|
|
5
5
|
import { ServiceConfig } from '../model/service-config';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class AuthenticationService implements AbstractAuthenticationService {
|
|
8
8
|
private config;
|
|
9
9
|
private http;
|
|
10
10
|
authenticatedChanged: EventEmitter<boolean>;
|
|
@@ -18,6 +18,6 @@ export declare class AuthenticationObjectService implements AbstractAuthenticati
|
|
|
18
18
|
logout(): void;
|
|
19
19
|
validateUser(token: User): void;
|
|
20
20
|
checkForExistingToken(): void;
|
|
21
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
22
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationService, [{ optional: true; }, null]>;
|
|
22
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationService>;
|
|
23
23
|
}
|
|
@@ -2,4 +2,4 @@ export * from './model/abstract-authentication-service';
|
|
|
2
2
|
export * from './model/authenticated-user';
|
|
3
3
|
export * from './model/authentication-request';
|
|
4
4
|
export * from './model/service-config';
|
|
5
|
-
export * from './authentication.module';
|
|
5
|
+
export * from './authentication.base.module';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { MatDialog } from '@angular/material/dialog';
|
|
2
|
-
import {
|
|
2
|
+
import { AuthenticationService } from '../../services/authentication.service';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class LoginComponent {
|
|
5
5
|
private dialog;
|
|
6
|
-
authenticationService:
|
|
6
|
+
authenticationService: AuthenticationService;
|
|
7
7
|
adminGroup: string;
|
|
8
|
-
constructor(dialog: MatDialog, authenticationService:
|
|
8
|
+
constructor(dialog: MatDialog, authenticationService: AuthenticationService);
|
|
9
9
|
login(): void;
|
|
10
10
|
confirmLogout(): void;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<LoginComponent, never>;
|
|
@@ -3,16 +3,16 @@ import { UntypedFormGroup } from '@angular/forms';
|
|
|
3
3
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
4
4
|
import { Subscription } from 'rxjs';
|
|
5
5
|
import { LoginFormData } from '../../model/login-form-data';
|
|
6
|
-
import {
|
|
6
|
+
import { AuthenticationService } from '../../services/authentication.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare class LoginFormComponent implements OnInit, OnDestroy {
|
|
9
9
|
dialogRef: MatDialogRef<LoginFormComponent>;
|
|
10
|
-
authenticationService:
|
|
10
|
+
authenticationService: AuthenticationService;
|
|
11
11
|
errorMessage: string | null;
|
|
12
12
|
authenticatedChangedSubscription: Subscription;
|
|
13
13
|
authenticationErrorSubscription: Subscription;
|
|
14
14
|
form: UntypedFormGroup;
|
|
15
|
-
constructor(data: LoginFormData, dialogRef: MatDialogRef<LoginFormComponent>, authenticationService:
|
|
15
|
+
constructor(data: LoginFormData, dialogRef: MatDialogRef<LoginFormComponent>, authenticationService: AuthenticationService);
|
|
16
16
|
ngOnInit(): void;
|
|
17
17
|
ngOnDestroy(): void;
|
|
18
18
|
authenticate(): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './model/default-config';
|
|
2
2
|
export * from './model/login-form-data';
|
|
3
3
|
export * from './model/service-config';
|
|
4
|
-
export * from './services/authentication
|
|
4
|
+
export * from './services/authentication.service';
|
|
5
5
|
export * from './components/login/login.component';
|
|
6
6
|
export * from './components/login-form/login-form.component';
|
|
7
|
-
export * from './
|
|
7
|
+
export * from './token-gui.module';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { SharePointService } from '@cleavelandprice/ngx-lib/sharepoint';
|
|
3
|
-
import {
|
|
3
|
+
import { AuthenticationService as TokenAuthenticationService } from '@cleavelandprice/ngx-lib/authentication/token';
|
|
4
4
|
import { ServiceConfig } from '../model/service-config';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class AuthenticationService extends TokenAuthenticationService {
|
|
7
7
|
config: ServiceConfig;
|
|
8
8
|
http: HttpClient;
|
|
9
9
|
private sharePointService;
|
|
10
10
|
constructor(config: ServiceConfig, http: HttpClient, sharePointService: SharePointService);
|
|
11
11
|
validateUser(token: string): void;
|
|
12
12
|
private getPhoto;
|
|
13
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
14
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationService, [{ optional: true; }, null, null]>;
|
|
14
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationService>;
|
|
15
15
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import { ServiceConfig } from './model/service-config';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./components/login/login.component";
|
|
5
|
+
import * as i2 from "./components/login-form/login-form.component";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/forms";
|
|
8
|
+
import * as i5 from "@angular/material/button";
|
|
9
|
+
import * as i6 from "@angular/material/dialog";
|
|
10
|
+
import * as i7 from "@angular/material/form-field";
|
|
11
|
+
import * as i8 from "@angular/material/icon";
|
|
12
|
+
import * as i9 from "@angular/material/input";
|
|
13
|
+
import * as i10 from "@angular/material/progress-spinner";
|
|
14
|
+
export declare class TokenGuiModule {
|
|
15
|
+
static forRoot(config: ServiceConfig): ModuleWithProviders<TokenGuiModule>;
|
|
16
|
+
constructor(parentModule: TokenGuiModule);
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TokenGuiModule, [{ optional: true; skipSelf: true; }]>;
|
|
18
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TokenGuiModule, [typeof i1.LoginComponent, typeof i2.LoginFormComponent], [typeof i3.CommonModule, typeof i4.ReactiveFormsModule, typeof i5.MatButtonModule, typeof i6.MatDialogModule, typeof i7.MatFormFieldModule, typeof i8.MatIconModule, typeof i9.MatInputModule, typeof i10.MatProgressSpinnerModule], [typeof i1.LoginComponent, typeof i2.LoginFormComponent]>;
|
|
19
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TokenGuiModule>;
|
|
20
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './model/authentication-token';
|
|
2
2
|
export * from './model/default-config';
|
|
3
3
|
export * from './model/service-config';
|
|
4
|
-
export * from './services/authentication
|
|
5
|
-
export * from './
|
|
4
|
+
export * from './services/authentication.service';
|
|
5
|
+
export * from './token.module';
|
|
@@ -3,7 +3,7 @@ import { HttpClient } from '@angular/common/http';
|
|
|
3
3
|
import { AbstractAuthenticationService, AuthenticatedUser } from '@cleavelandprice/ngx-lib/authentication';
|
|
4
4
|
import { ServiceConfig } from '../model/service-config';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class AuthenticationService implements AbstractAuthenticationService {
|
|
7
7
|
protected config: ServiceConfig;
|
|
8
8
|
protected http: HttpClient;
|
|
9
9
|
authenticatedChanged: EventEmitter<boolean>;
|
|
@@ -17,6 +17,6 @@ export declare class AuthenticationTokenService implements AbstractAuthenticatio
|
|
|
17
17
|
logout(): void;
|
|
18
18
|
validateUser(token: string): void;
|
|
19
19
|
checkForExistingToken(): void;
|
|
20
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
21
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationService, [{ optional: true; }, null]>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationService>;
|
|
22
22
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import { ServiceConfig } from './model/service-config';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export declare class TokenModule {
|
|
6
|
+
static forRoot(config: ServiceConfig): ModuleWithProviders<TokenModule>;
|
|
7
|
+
constructor(parentModule: TokenModule);
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TokenModule, [{ optional: true; skipSelf: true; }]>;
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TokenModule, never, [typeof i1.CommonModule], never>;
|
|
10
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TokenModule>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AuthenticationBaseModule {
|
|
5
|
+
}
|
|
6
|
+
AuthenticationBaseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: AuthenticationBaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
AuthenticationBaseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: AuthenticationBaseModule, imports: [CommonModule] });
|
|
8
|
+
AuthenticationBaseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: AuthenticationBaseModule, imports: [CommonModule] });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: AuthenticationBaseModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
declarations: [],
|
|
13
|
+
imports: [
|
|
14
|
+
CommonModule
|
|
15
|
+
],
|
|
16
|
+
exports: []
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uYmFzZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi9zcmMvYXV0aGVudGljYXRpb24uYmFzZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUy9DLE1BQU0sT0FBTyx3QkFBd0I7O3FIQUF4Qix3QkFBd0I7c0hBQXhCLHdCQUF3QixZQUpqQyxZQUFZO3NIQUlILHdCQUF3QixZQUpqQyxZQUFZOzJGQUlILHdCQUF3QjtrQkFQcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uQmFzZU1vZHVsZSB7fSJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { NgModule, Optional, SkipSelf } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ServiceConfig } from './model/service-config';
|
|
4
|
+
import { AuthenticationService } from './services/authentication.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ObjectModule {
|
|
7
|
+
constructor(parentModule) {
|
|
8
|
+
if (parentModule) {
|
|
9
|
+
throw new Error('ObjectModule is already loaded. Import it in the AppModule only');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
static forRoot(config) {
|
|
13
|
+
return {
|
|
14
|
+
ngModule: ObjectModule,
|
|
15
|
+
providers: [
|
|
16
|
+
AuthenticationService,
|
|
17
|
+
{ provide: ServiceConfig, useValue: config }
|
|
18
|
+
]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ObjectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: ObjectModule, deps: [{ token: ObjectModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
23
|
+
ObjectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: ObjectModule, imports: [CommonModule] });
|
|
24
|
+
ObjectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: ObjectModule, imports: [CommonModule] });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: ObjectModule, decorators: [{
|
|
26
|
+
type: NgModule,
|
|
27
|
+
args: [{
|
|
28
|
+
declarations: [],
|
|
29
|
+
imports: [
|
|
30
|
+
CommonModule
|
|
31
|
+
],
|
|
32
|
+
exports: []
|
|
33
|
+
}]
|
|
34
|
+
}], ctorParameters: function () { return [{ type: ObjectModule, decorators: [{
|
|
35
|
+
type: Optional
|
|
36
|
+
}, {
|
|
37
|
+
type: SkipSelf
|
|
38
|
+
}] }]; } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL29iamVjdC9zcmMvb2JqZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBUzFFLE1BQU0sT0FBTyxZQUFZO0lBV3ZCLFlBQW9DLFlBQTBCO1FBQzVELElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2IsaUVBQWlFLENBQUMsQ0FBQztTQUN0RTtJQUNILENBQUM7SUFmRCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQXFCO1FBQ2xDLE9BQU87WUFDTCxRQUFRLEVBQUUsWUFBWTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1QscUJBQXFCO2dCQUNyQixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUM3QztTQUNGLENBQUM7SUFDSixDQUFDOzt5R0FUVSxZQUFZOzBHQUFaLFlBQVksWUFKckIsWUFBWTswR0FJSCxZQUFZLFlBSnJCLFlBQVk7MkZBSUgsWUFBWTtrQkFQeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7aUJBQ1o7OzBCQVljLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIE9iamVjdE1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBTZXJ2aWNlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxPYmplY3RNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBPYmplY3RNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIEF1dGhlbnRpY2F0aW9uU2VydmljZSxcclxuICAgICAgICB7IHByb3ZpZGU6IFNlcnZpY2VDb25maWcsIHVzZVZhbHVlOiBjb25maWcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBPYmplY3RNb2R1bGUpIHtcclxuICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICdPYmplY3RNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBpbiB0aGUgQXBwTW9kdWxlIG9ubHknKTtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './model/default-config';
|
|
2
2
|
export * from './model/service-config';
|
|
3
|
-
export * from './services/authentication
|
|
4
|
-
export * from './
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
export * from './services/authentication.service';
|
|
4
|
+
export * from './object.module';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL29iamVjdC9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9kZWZhdWx0LWNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvc2VydmljZS1jb25maWcnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vb2JqZWN0Lm1vZHVsZSc7Il19
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { EventEmitter, Injectable, Optional, Output } from '@angular/core';
|
|
2
|
+
import { defaultConfig } from '../model/default-config';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../model/service-config";
|
|
5
|
+
import * as i2 from "@angular/common/http";
|
|
6
|
+
export class AuthenticationService {
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region Lifecycle
|
|
9
|
+
// If a ServiceConfig object is not provided when the module is imported, then default values are pulled in from default-config.ts.
|
|
10
|
+
constructor(config, http) {
|
|
11
|
+
this.config = config;
|
|
12
|
+
this.http = http;
|
|
13
|
+
//#region Fields
|
|
14
|
+
this.authenticatedChanged = new EventEmitter();
|
|
15
|
+
this.authenticatingChanged = new EventEmitter();
|
|
16
|
+
this.authenticationError = new EventEmitter();
|
|
17
|
+
this.authenticating = false; // Flag set to true while the service is attempting to authenticate the user
|
|
18
|
+
this.authenticated = false; // Flag set to true when the user is successfully authenticated
|
|
19
|
+
this.authenticatedUser = null; // Object representing the authenticated user
|
|
20
|
+
this.config = {
|
|
21
|
+
...defaultConfig,
|
|
22
|
+
...this.config
|
|
23
|
+
};
|
|
24
|
+
this.checkForExistingToken();
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region Utilities
|
|
28
|
+
//Authenticate the user and store the token in Local Storage
|
|
29
|
+
login(username, password, adminGroup) {
|
|
30
|
+
const request = {
|
|
31
|
+
username: username,
|
|
32
|
+
password: password,
|
|
33
|
+
adminGroup: adminGroup
|
|
34
|
+
};
|
|
35
|
+
this.authenticating = true;
|
|
36
|
+
this.authenticatingChanged.emit(this.authenticating);
|
|
37
|
+
this.http.post(`${this.config.apiUrl}${this.config.authenticateEndpoint}`, request)
|
|
38
|
+
.subscribe({
|
|
39
|
+
next: (user) => {
|
|
40
|
+
if (user) {
|
|
41
|
+
this.validateUser(user);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.logout();
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
error: (err) => {
|
|
48
|
+
this.authenticating = false;
|
|
49
|
+
this.authenticatingChanged.emit(this.authenticating);
|
|
50
|
+
this.authenticationError.emit(err);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//Logout the user and delete the token from Local Storage
|
|
55
|
+
logout() {
|
|
56
|
+
if (localStorage.getItem(this.config.tokenName)) {
|
|
57
|
+
localStorage.removeItem(this.config.tokenName);
|
|
58
|
+
}
|
|
59
|
+
this.authenticatedUser = null;
|
|
60
|
+
this.authenticated = false;
|
|
61
|
+
this.authenticatedChanged.emit(false);
|
|
62
|
+
}
|
|
63
|
+
validateUser(token) {
|
|
64
|
+
this.authenticatedUser = {
|
|
65
|
+
admin: false,
|
|
66
|
+
displayName: token.displayName,
|
|
67
|
+
accountName: token.sAMAccountName,
|
|
68
|
+
distinguishedName: token.distinguishedName,
|
|
69
|
+
employeeNumber: token.employeeNumber,
|
|
70
|
+
memberOf: token.memberOf.join(',')
|
|
71
|
+
};
|
|
72
|
+
localStorage.setItem(this.config.tokenName, JSON.stringify(token));
|
|
73
|
+
this.authenticated = true;
|
|
74
|
+
this.authenticatedChanged.emit(this.authenticated);
|
|
75
|
+
this.authenticating = false;
|
|
76
|
+
this.authenticatingChanged.emit(this.authenticating);
|
|
77
|
+
}
|
|
78
|
+
checkForExistingToken() {
|
|
79
|
+
const token = localStorage.getItem(this.config.tokenName);
|
|
80
|
+
if (token) {
|
|
81
|
+
this.validateUser(JSON.parse(token));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
AuthenticationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: AuthenticationService, deps: [{ token: i1.ServiceConfig, optional: true }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
86
|
+
AuthenticationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: AuthenticationService, providedIn: 'root' });
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: AuthenticationService, decorators: [{
|
|
88
|
+
type: Injectable,
|
|
89
|
+
args: [{
|
|
90
|
+
providedIn: 'root'
|
|
91
|
+
}]
|
|
92
|
+
}], ctorParameters: function () { return [{ type: i1.ServiceConfig, decorators: [{
|
|
93
|
+
type: Optional
|
|
94
|
+
}] }, { type: i2.HttpClient }]; }, propDecorators: { authenticatedChanged: [{
|
|
95
|
+
type: Output
|
|
96
|
+
}], authenticatingChanged: [{
|
|
97
|
+
type: Output
|
|
98
|
+
}], authenticationError: [{
|
|
99
|
+
type: Output
|
|
100
|
+
}] } });
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL29iamVjdC9zcmMvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQU14RCxNQUFNLE9BQU8scUJBQXFCO0lBUWhDLFlBQVk7SUFFWixtQkFBbUI7SUFDbkIsbUlBQW1JO0lBQ25JLFlBQWdDLE1BQXFCLEVBQ2pDLElBQWdCO1FBREosV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNqQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBWnBDLGdCQUFnQjtRQUNOLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbkQsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNwRCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELG1CQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsNEVBQTRFO1FBQ3BHLGtCQUFhLEdBQUcsS0FBSyxDQUFDLENBQUMsK0RBQStEO1FBQ3RGLHNCQUFpQixHQUE2QixJQUFJLENBQUMsQ0FBQyw2Q0FBNkM7UUFRbkYsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLEdBQUcsYUFBYTtZQUNoQixHQUFHLElBQUksQ0FBQyxNQUFNO1NBQ2YsQ0FBQztRQUVGLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFDRCxZQUFZO0lBRVosbUJBQW1CO0lBQ25CLDREQUE0RDtJQUM1RCxLQUFLLENBQUMsUUFBZ0IsRUFBRSxRQUFnQixFQUFFLFVBQW1CO1FBQzNELE1BQU0sT0FBTyxHQUEwQjtZQUNyQyxRQUFRLEVBQUUsUUFBUTtZQUNsQixRQUFRLEVBQUUsUUFBUTtZQUNsQixVQUFVLEVBQUUsVUFBVTtTQUN2QixDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsT0FBTyxDQUFDO2FBQ2hGLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNiLElBQUksSUFBSSxFQUFFO29CQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBWSxDQUFDLENBQUM7aUJBQ2pDO3FCQUFNO29CQUNMLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDZjtZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztnQkFDNUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCx5REFBeUQ7SUFDekQsTUFBTTtRQUNKLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQy9DLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNoRDtRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVc7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHO1lBQ3ZCLEtBQUssRUFBRSxLQUFLO1lBQ1osV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFdBQVcsRUFBRSxLQUFLLENBQUMsY0FBYztZQUNqQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztZQUNwQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ25DLENBQUM7UUFFRixZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVuRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQVMsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7a0hBeEZVLHFCQUFxQjtzSEFBckIscUJBQXFCLGNBRnBCLE1BQU07MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBYWMsUUFBUTtxRUFWWCxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0BjbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hY3RpdmUtZGlyZWN0b3J5JztcclxuXHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgQXV0aGVudGljYXRlZFVzZXIsXHJcbiAgQXV0aGVudGljYXRpb25SZXF1ZXN0XHJcbn0gZnJvbSAnQGNsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uJztcclxuXHJcbmltcG9ydCB7IGRlZmF1bHRDb25maWcgfSBmcm9tICcuLi9tb2RlbC9kZWZhdWx0LWNvbmZpZyc7XHJcbmltcG9ydCB7IFNlcnZpY2VDb25maWcgfSBmcm9tICcuLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvblNlcnZpY2UgaW1wbGVtZW50cyBBYnN0cmFjdEF1dGhlbnRpY2F0aW9uU2VydmljZSB7XHJcbiAgLy8jcmVnaW9uIEZpZWxkc1xyXG4gIEBPdXRwdXQoKSBhdXRoZW50aWNhdGVkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgYXV0aGVudGljYXRpbmdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBhdXRoZW50aWNhdGlvbkVycm9yID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGF1dGhlbnRpY2F0aW5nID0gZmFsc2U7IC8vIEZsYWcgc2V0IHRvIHRydWUgd2hpbGUgdGhlIHNlcnZpY2UgaXMgYXR0ZW1wdGluZyB0byBhdXRoZW50aWNhdGUgdGhlIHVzZXJcclxuICBhdXRoZW50aWNhdGVkID0gZmFsc2U7IC8vIEZsYWcgc2V0IHRvIHRydWUgd2hlbiB0aGUgdXNlciBpcyBzdWNjZXNzZnVsbHkgYXV0aGVudGljYXRlZFxyXG4gIGF1dGhlbnRpY2F0ZWRVc2VyOiBBdXRoZW50aWNhdGVkVXNlciB8IG51bGwgPSBudWxsOyAvLyBPYmplY3QgcmVwcmVzZW50aW5nIHRoZSBhdXRoZW50aWNhdGVkIHVzZXJcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jcmVnaW9uIExpZmVjeWNsZVxyXG4gIC8vIElmIGEgU2VydmljZUNvbmZpZyBvYmplY3QgaXMgbm90IHByb3ZpZGVkIHdoZW4gdGhlIG1vZHVsZSBpcyBpbXBvcnRlZCwgdGhlbiBkZWZhdWx0IHZhbHVlcyBhcmUgcHVsbGVkIGluIGZyb20gZGVmYXVsdC1jb25maWcudHMuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb25maWc6IFNlcnZpY2VDb25maWcsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcgPSB7XHJcbiAgICAgICAgICAgICAgICAgIC4uLmRlZmF1bHRDb25maWcsXHJcbiAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY29uZmlnXHJcbiAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tGb3JFeGlzdGluZ1Rva2VuKCk7XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gVXRpbGl0aWVzXHJcbiAgLy9BdXRoZW50aWNhdGUgdGhlIHVzZXIgYW5kIHN0b3JlIHRoZSB0b2tlbiBpbiBMb2NhbCBTdG9yYWdlXHJcbiAgbG9naW4odXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZywgYWRtaW5Hcm91cD86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgcmVxdWVzdDogQXV0aGVudGljYXRpb25SZXF1ZXN0ID0ge1xyXG4gICAgICB1c2VybmFtZTogdXNlcm5hbWUsXHJcbiAgICAgIHBhc3N3b3JkOiBwYXNzd29yZCxcclxuICAgICAgYWRtaW5Hcm91cDogYWRtaW5Hcm91cFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuYXV0aGVudGljYXRpbmdDaGFuZ2VkLmVtaXQodGhpcy5hdXRoZW50aWNhdGluZyk7XHJcblxyXG4gICAgdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5jb25maWcuYXBpVXJsfSR7dGhpcy5jb25maWcuYXV0aGVudGljYXRlRW5kcG9pbnR9YCwgcmVxdWVzdClcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHVzZXIpID0+IHtcclxuICAgICAgICAgIGlmICh1c2VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVVc2VyKHVzZXIgYXMgVXNlcik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ291dCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpbmdDaGFuZ2VkLmVtaXQodGhpcy5hdXRoZW50aWNhdGluZyk7XHJcbiAgICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uRXJyb3IuZW1pdChlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gXHJcbiAgLy9Mb2dvdXQgdGhlIHVzZXIgYW5kIGRlbGV0ZSB0aGUgdG9rZW4gZnJvbSBMb2NhbCBTdG9yYWdlXHJcbiAgbG9nb3V0KCk6IHZvaWQge1xyXG4gICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuY29uZmlnLnRva2VuTmFtZSkpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5jb25maWcudG9rZW5OYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZWRVc2VyID0gbnVsbDtcclxuICAgIHRoaXMuYXV0aGVudGljYXRlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5hdXRoZW50aWNhdGVkQ2hhbmdlZC5lbWl0KGZhbHNlKTtcclxuICB9XHJcbiBcclxuICB2YWxpZGF0ZVVzZXIodG9rZW46IFVzZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aGVudGljYXRlZFVzZXIgPSB7XHJcbiAgICAgIGFkbWluOiBmYWxzZSwgLy8gVGhpcyB0eXBlIG9mIGF1dGhlbnRpY2F0aW9uIGhhcyBubyBjb25jZXB0IG9mIEFkbWluXHJcbiAgICAgIGRpc3BsYXlOYW1lOiB0b2tlbi5kaXNwbGF5TmFtZSxcclxuICAgICAgYWNjb3VudE5hbWU6IHRva2VuLnNBTUFjY291bnROYW1lLFxyXG4gICAgICBkaXN0aW5ndWlzaGVkTmFtZTogdG9rZW4uZGlzdGluZ3Vpc2hlZE5hbWUsXHJcbiAgICAgIGVtcGxveWVlTnVtYmVyOiB0b2tlbi5lbXBsb3llZU51bWJlcixcclxuICAgICAgbWVtYmVyT2Y6IHRva2VuLm1lbWJlck9mLmpvaW4oJywnKVxyXG4gICAgfTtcclxuXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmNvbmZpZy50b2tlbk5hbWUsIEpTT04uc3RyaW5naWZ5KHRva2VuKSk7XHJcbiAgICBcclxuICAgIHRoaXMuYXV0aGVudGljYXRlZCA9IHRydWU7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZWRDaGFuZ2VkLmVtaXQodGhpcy5hdXRoZW50aWNhdGVkKTtcclxuXHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW5nQ2hhbmdlZC5lbWl0KHRoaXMuYXV0aGVudGljYXRpbmcpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tGb3JFeGlzdGluZ1Rva2VuKCk6IHZvaWQge1xyXG4gICAgY29uc3QgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmNvbmZpZy50b2tlbk5hbWUpO1xyXG4gICAgaWYgKHRva2VuKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGVVc2VyKEpTT04ucGFyc2UodG9rZW4pIGFzIFVzZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxufVxyXG4gIl19
|
|
@@ -2,5 +2,5 @@ export * from './model/abstract-authentication-service';
|
|
|
2
2
|
export * from './model/authenticated-user';
|
|
3
3
|
export * from './model/authentication-request';
|
|
4
4
|
export * from './model/service-config';
|
|
5
|
-
export * from './authentication.module';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export * from './authentication.base.module';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWwvYWJzdHJhY3QtYXV0aGVudGljYXRpb24tc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvYXV0aGVudGljYXRlZC11c2VyJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9hdXRoZW50aWNhdGlvbi1yZXF1ZXN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLmJhc2UubW9kdWxlJzsiXX0=
|
|
@@ -3,7 +3,7 @@ import { ConfirmationComponent } from '@cleavelandprice/ngx-lib/dialog';
|
|
|
3
3
|
import { LoginFormComponent } from '../login-form/login-form.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/material/dialog";
|
|
6
|
-
import * as i2 from "../../services/authentication
|
|
6
|
+
import * as i2 from "../../services/authentication.service";
|
|
7
7
|
import * as i3 from "@angular/common";
|
|
8
8
|
import * as i4 from "@angular/material/icon";
|
|
9
9
|
export class LoginComponent {
|
|
@@ -28,12 +28,12 @@ export class LoginComponent {
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
LoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: LoginComponent, deps: [{ token: i1.MatDialog }, { token: i2.
|
|
31
|
+
LoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: LoginComponent, deps: [{ token: i1.MatDialog }, { token: i2.AuthenticationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
32
|
LoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: LoginComponent, selector: "authentication-login", inputs: { adminGroup: "adminGroup" }, ngImport: i0, template: "<div id=\"user-id\">\r\n <!-- Logged out -->\r\n <mat-icon *ngIf=\"!authenticationService.authenticated\"\r\n fontIcon=\"account_circle\"\r\n matTooltip=\"Login\"\r\n (click)=\"login()\">\r\n </mat-icon>\r\n\r\n <!-- Logged in -->\r\n <ng-container *ngIf=\"authenticationService.authenticated\">\r\n <!-- With photo -->\r\n <img *ngIf=\"authenticationService.authenticatedUser?.photoUrl\"\r\n id=\"authenticated-user-image\"\r\n [src]=\"authenticationService.authenticatedUser?.photoUrl\"\r\n matTooltip=\"Logout\"\r\n (click)=\"confirmLogout()\" />\r\n \r\n <!-- Without photo -->\r\n <mat-icon *ngIf=\"!authenticationService.authenticatedUser?.photoUrl\"\r\n fontIcon=\"account_circle\"\r\n matTooltip=\"Logout\"\r\n (click)=\"confirmLogout()\">\r\n </mat-icon>\r\n \r\n <!-- Name -->\r\n <div id=\"user-name\">\r\n {{ authenticationService.authenticatedUser?.displayName }}\r\n </div>\r\n </ng-container>\r\n</div>", styles: ["#user-id{display:flex;height:2em;padding:.3em;font-family:Verdana,Geneva,Tahoma,sans-serif}mat-icon{font-size:2em!important;height:2em!important;width:2em!important}img{border-radius:100%;width:2em;height:2em}#user-id>div{display:flex;align-items:center;height:100%;margin-left:.75em;font-size:1.15em}\n", ".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: LoginComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{ selector: 'authentication-login', template: "<div id=\"user-id\">\r\n <!-- Logged out -->\r\n <mat-icon *ngIf=\"!authenticationService.authenticated\"\r\n fontIcon=\"account_circle\"\r\n matTooltip=\"Login\"\r\n (click)=\"login()\">\r\n </mat-icon>\r\n\r\n <!-- Logged in -->\r\n <ng-container *ngIf=\"authenticationService.authenticated\">\r\n <!-- With photo -->\r\n <img *ngIf=\"authenticationService.authenticatedUser?.photoUrl\"\r\n id=\"authenticated-user-image\"\r\n [src]=\"authenticationService.authenticatedUser?.photoUrl\"\r\n matTooltip=\"Logout\"\r\n (click)=\"confirmLogout()\" />\r\n \r\n <!-- Without photo -->\r\n <mat-icon *ngIf=\"!authenticationService.authenticatedUser?.photoUrl\"\r\n fontIcon=\"account_circle\"\r\n matTooltip=\"Logout\"\r\n (click)=\"confirmLogout()\">\r\n </mat-icon>\r\n \r\n <!-- Name -->\r\n <div id=\"user-name\">\r\n {{ authenticationService.authenticatedUser?.displayName }}\r\n </div>\r\n </ng-container>\r\n</div>", styles: ["#user-id{display:flex;height:2em;padding:.3em;font-family:Verdana,Geneva,Tahoma,sans-serif}mat-icon{font-size:2em!important;height:2em!important;width:2em!important}img{border-radius:100%;width:2em;height:2em}#user-id>div{display:flex;align-items:center;height:100%;margin-left:.75em;font-size:1.15em}\n", ".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}\n"] }]
|
|
36
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.AuthenticationService }]; }, propDecorators: { adminGroup: [{
|
|
37
37
|
type: Input
|
|
38
38
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24vdG9rZW4vZ3VpL3NyYy9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3Rva2VuL2d1aS9zcmMvY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7O0FBV3hFLE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQW9CLE1BQWlCLEVBQ2xCLHFCQUE0QztRQUQzQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2xCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFDL0QsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNuQyxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQ3RDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRTtTQUN0RCxDQUFDO2FBQ0QsV0FBVyxFQUFFO2FBQ2IsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLElBQUksTUFBTSxFQUFFO2dCQUNWLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNyQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MkdBdkJVLGNBQWM7K0ZBQWQsY0FBYyxrR0NmM0Isb2xDQTZCTTsyRkRkTyxjQUFjO2tCQVIxQixTQUFTOytCQUNFLHNCQUFzQjtvSUFRdkIsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnQGNsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBMb2dpbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F1dGhlbnRpY2F0aW9uLWxvZ2luJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vbG9naW4uY29tcG9uZW50LmNzcycsXHJcbiAgICAnLi4vLi4vLi4vLi4vLi4vLi4vc3R5bGVzL21hdC1pY29uLmNzcydcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgYWRtaW5Hcm91cCE6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgICAgICAgICAgICBwdWJsaWMgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIGxvZ2luKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2cub3BlbihMb2dpbkZvcm1Db21wb25lbnQsIHtcclxuICAgICAgZGF0YTogeyBhZG1pbkdyb3VwOiB0aGlzLmFkbWluR3JvdXAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb25maXJtTG9nb3V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2cub3BlbihDb25maXJtYXRpb25Db21wb25lbnQsIHtcclxuICAgICAgZGF0YTogeyBtZXNzYWdlOiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGxvZ291dD9gIH1cclxuICAgIH0pXHJcbiAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGlkPVwidXNlci1pZFwiPlxyXG4gICAgPCEtLSBMb2dnZWQgb3V0IC0tPlxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiIWF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGVkXCJcclxuICAgICAgICBmb250SWNvbj1cImFjY291bnRfY2lyY2xlXCJcclxuICAgICAgICBtYXRUb29sdGlwPVwiTG9naW5cIlxyXG4gICAgICAgIChjbGljayk9XCJsb2dpbigpXCI+XHJcbiAgICA8L21hdC1pY29uPlxyXG5cclxuICAgIDwhLS0gTG9nZ2VkIGluIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGVkXCI+XHJcbiAgICAgICAgPCEtLSBXaXRoIHBob3RvIC0tPlxyXG4gICAgICAgIDxpbWcgKm5nSWY9XCJhdXRoZW50aWNhdGlvblNlcnZpY2UuYXV0aGVudGljYXRlZFVzZXI/LnBob3RvVXJsXCJcclxuICAgICAgICAgICAgaWQ9XCJhdXRoZW50aWNhdGVkLXVzZXItaW1hZ2VcIlxyXG4gICAgICAgICAgICBbc3JjXT1cImF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGVkVXNlcj8ucGhvdG9VcmxcIlxyXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiTG9nb3V0XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm1Mb2dvdXQoKVwiIC8+XHJcbiAgICBcclxuICAgICAgICA8IS0tIFdpdGhvdXQgcGhvdG8gLS0+XHJcbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiIWF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGVkVXNlcj8ucGhvdG9VcmxcIlxyXG4gICAgICAgICAgICBmb250SWNvbj1cImFjY291bnRfY2lyY2xlXCJcclxuICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkxvZ291dFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjb25maXJtTG9nb3V0KClcIj5cclxuICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgXHJcbiAgICAgICAgPCEtLSBOYW1lIC0tPlxyXG4gICAgICAgIDxkaXYgaWQ9XCJ1c2VyLW5hbWVcIj5cclxuICAgICAgICAgICAge3sgYXV0aGVudGljYXRpb25TZXJ2aWNlLmF1dGhlbnRpY2F0ZWRVc2VyPy5kaXNwbGF5TmFtZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -3,7 +3,7 @@ import { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms
|
|
|
3
3
|
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/material/dialog";
|
|
6
|
-
import * as i2 from "../../services/authentication
|
|
6
|
+
import * as i2 from "../../services/authentication.service";
|
|
7
7
|
import * as i3 from "@angular/common";
|
|
8
8
|
import * as i4 from "@angular/forms";
|
|
9
9
|
import * as i5 from "@angular/material/button";
|
|
@@ -48,7 +48,7 @@ export class LoginFormComponent {
|
|
|
48
48
|
this.errorMessage = `${err.name}: ${err.statusText}`;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
LoginFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: LoginFormComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.
|
|
51
|
+
LoginFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: LoginFormComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.AuthenticationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
52
|
LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: LoginFormComponent, selector: "authentication-login-form", ngImport: i0, template: "<h2 mat-dialog-title>\r\n <span *ngIf=\"!authenticationService.authenticating\">Login</span>\r\n <span *ngIf=\"authenticationService.authenticating\">Authenticating...</span>\r\n</h2>\r\n\r\n<mat-dialog-content>\r\n <div id=\"spinner\" *ngIf=\"authenticationService.authenticating\">\r\n <mat-progress-spinner color=\"primary\" mode=\"indeterminate\"></mat-progress-spinner>\r\n </div>\r\n\r\n <form *ngIf=\"!authenticationService.authenticating\" [formGroup]=\"form\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"username\" placeholder=\"Username\" (keyup.enter)=\"authenticate()\">\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <input matInput formControlName=\"password\" type=\"password\" placeholder=\"Password\" (keyup.enter)=\"authenticate()\">\r\n </mat-form-field>\r\n </form>\r\n\r\n <div *ngIf=\"!authenticationService.authenticating && errorMessage\" id=\"error\">\r\n {{ errorMessage }}\r\n </div>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions *ngIf=\"!authenticationService.authenticating\">\r\n <button mat-raised-button color=\"primary\" (click)=\"authenticate()\"\r\n [disabled]=\"form.invalid\">\r\n <mat-icon fontIcon=\"done\"></mat-icon>\r\n <span>OK</span>\r\n </button>\r\n\r\n <button mat-raised-button (click)=\"dialogRef.close()\">\r\n <mat-icon fontIcon=\"close\"></mat-icon>\r\n <span>Cancel</span>\r\n </button>\r\n</mat-dialog-actions>", styles: ["#spinner{width:100%;height:100%;display:flex;justify-content:center;align-items:center}form{display:grid;gap:1rem}mat-dialog-actions{display:grid;justify-content:center;grid-template-columns:auto auto;gap:1rem}#error{color:red}\n", ".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }] });
|
|
53
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: LoginFormComponent, decorators: [{
|
|
54
54
|
type: Component,
|
|
@@ -56,5 +56,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
56
56
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
57
57
|
type: Inject,
|
|
58
58
|
args: [MAT_DIALOG_DATA]
|
|
59
|
-
}] }, { type: i1.MatDialogRef }, { type: i2.
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
}] }, { type: i1.MatDialogRef }, { type: i2.AuthenticationService }]; } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi90b2tlbi9ndWkvc3JjL2NvbXBvbmVudHMvbG9naW4tZm9ybS9sb2dpbi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3Rva2VuL2d1aS9zcmMvY29tcG9uZW50cy9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7OztBQWN6RSxNQUFNLE9BQU8sa0JBQWtCO0lBVzdCLFlBQXFDLElBQW1CLEVBQ3JDLFNBQTJDLEVBQzNDLHFCQUE0QztRQUQ1QyxjQUFTLEdBQVQsU0FBUyxDQUFrQztRQUMzQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBWi9ELGlCQUFZLEdBQWtCLElBQUksQ0FBQztRQUluQyxTQUFJLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztZQUMxQixRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBRSxVQUFVLENBQUMsUUFBUSxDQUFFLENBQUM7WUFDL0QsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBRSxDQUFDO1lBQy9ELFVBQVUsRUFBRSxJQUFJLGtCQUFrQixFQUFFO1NBQ3JDLENBQUMsQ0FBQztRQU1XLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQjthQUNwRixTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsbUJBQW1CO2FBQ2xGLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLCtCQUErQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzNELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sa0JBQWtCLENBQUMsYUFBc0I7UUFDL0MsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsR0FBUTtRQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN2RCxDQUFDOzsrR0E5Q1Usa0JBQWtCLGtCQVdULGVBQWU7bUdBWHhCLGtCQUFrQixpRUNoQi9CLHUvQ0FvQ3FCOzJGRHBCUixrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsMkJBQTJCOzswQkFrQnhCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBMb2dpbkZvcm1EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWwvbG9naW4tZm9ybS1kYXRhJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F1dGhlbnRpY2F0aW9uLWxvZ2luLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2xvZ2luLWZvcm0uY29tcG9uZW50LmNzcycsXHJcbiAgICAnLi4vLi4vLi4vLi4vLi4vLi4vc3R5bGVzL21hdC1pY29uLmNzcydcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBhdXRoZW50aWNhdGVkQ2hhbmdlZFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBhdXRoZW50aWNhdGlvbkVycm9yU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBmb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xyXG4gICAgdXNlcm5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0pLFxyXG4gICAgcGFzc3dvcmQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0pLFxyXG4gICAgYWRtaW5Hcm91cDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpXHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBkYXRhOiBMb2dpbkZvcm1EYXRhLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxMb2dpbkZvcm1Db21wb25lbnQ+LFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSkge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQoJ2FkbWluR3JvdXAnKT8uc2V0VmFsdWUoZGF0YS5hZG1pbkdyb3VwKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoZW50aWNhdGVkQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmF1dGhlbnRpY2F0ZWRDaGFuZ2VkXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5hdXRoQ2hhbmdlZEhhbmRsZXIuYmluZCh0aGlzKSk7XHJcblxyXG4gICAgdGhpcy5hdXRoZW50aWNhdGlvbkVycm9yU3Vic2NyaXB0aW9uID0gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuYXV0aGVudGljYXRpb25FcnJvclxyXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuZXJyb3JIYW5kbGVyLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uRXJyb3JTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuYXV0aGVudGljYXRlZENoYW5nZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGF1dGhlbnRpY2F0ZSgpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbDtcclxuICAgIGNvbnN0IHsgdXNlcm5hbWUsIHBhc3N3b3JkLCBhZG1pbkdyb3VwIH0gPSB0aGlzLmZvcm0udmFsdWU7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dpbih1c2VybmFtZSwgcGFzc3dvcmQsIGFkbWluR3JvdXApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhdXRoQ2hhbmdlZEhhbmRsZXIoYXV0aGVudGljYXRlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKGF1dGhlbnRpY2F0ZWQpIHtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXJyb3JIYW5kbGVyKGVycjogYW55KTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnQXV0aGVudGljYXRpb24gZXJyb3InLCBlcnIpO1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBgJHtlcnIubmFtZX06ICR7ZXJyLnN0YXR1c1RleHR9YDtcclxuICB9XHJcbn1cclxuIiwiPGgyIG1hdC1kaWFsb2ctdGl0bGU+XHJcbiAgICA8c3BhbiAqbmdJZj1cIiFhdXRoZW50aWNhdGlvblNlcnZpY2UuYXV0aGVudGljYXRpbmdcIj5Mb2dpbjwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ0lmPVwiYXV0aGVudGljYXRpb25TZXJ2aWNlLmF1dGhlbnRpY2F0aW5nXCI+QXV0aGVudGljYXRpbmcuLi48L3NwYW4+XHJcbjwvaDI+XHJcblxyXG48bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgPGRpdiBpZD1cInNwaW5uZXJcIiAqbmdJZj1cImF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGluZ1wiPlxyXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBjb2xvcj1cInByaW1hcnlcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8Zm9ybSAqbmdJZj1cIiFhdXRoZW50aWNhdGlvblNlcnZpY2UuYXV0aGVudGljYXRpbmdcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiIHBsYWNlaG9sZGVyPVwiVXNlcm5hbWVcIiAoa2V5dXAuZW50ZXIpPVwiYXV0aGVudGljYXRlKClcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIHR5cGU9XCJwYXNzd29yZFwiIHBsYWNlaG9sZGVyPVwiUGFzc3dvcmRcIiAoa2V5dXAuZW50ZXIpPVwiYXV0aGVudGljYXRlKClcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9mb3JtPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCIhYXV0aGVudGljYXRpb25TZXJ2aWNlLmF1dGhlbnRpY2F0aW5nICYmIGVycm9yTWVzc2FnZVwiIGlkPVwiZXJyb3JcIj5cclxuICAgICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cclxuICAgIDwvZGl2PlxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbjxtYXQtZGlhbG9nLWFjdGlvbnMgKm5nSWY9XCIhYXV0aGVudGljYXRpb25TZXJ2aWNlLmF1dGhlbnRpY2F0aW5nXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJhdXRoZW50aWNhdGUoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBmb250SWNvbj1cImRvbmVcIj48L21hdC1pY29uPlxyXG4gICAgICAgIDxzcGFuPk9LPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiZGlhbG9nUmVmLmNsb3NlKClcIj5cclxuICAgICAgICA8bWF0LWljb24gZm9udEljb249XCJjbG9zZVwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgPHNwYW4+Q2FuY2VsPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbjwvbWF0LWRpYWxvZy1hY3Rpb25zPiJdfQ==
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export * from './model/default-config';
|
|
2
2
|
export * from './model/login-form-data';
|
|
3
3
|
export * from './model/service-config';
|
|
4
|
-
export * from './services/authentication
|
|
4
|
+
export * from './services/authentication.service';
|
|
5
5
|
export * from './components/login/login.component';
|
|
6
6
|
export * from './components/login-form/login-form.component';
|
|
7
|
-
export * from './
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
export * from './token-gui.module';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3Rva2VuL2d1aS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9kZWZhdWx0LWNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvbG9naW4tZm9ybS1kYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4tZ3VpLm1vZHVsZSc7Il19
|