@cleavelandprice/ngx-lib 2.2.2 → 2.3.8
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 +6 -616
- package/active-directory/active-directory.module.d.ts +11 -0
- package/active-directory/index.d.ts +5 -0
- package/active-directory/model/ad-object.d.ts +13 -0
- package/active-directory/model/cache-object.d.ts +4 -0
- package/active-directory/model/caching-config.d.ts +4 -0
- package/active-directory/model/default-caching-config.d.ts +2 -0
- package/active-directory/model/default-config.d.ts +2 -0
- package/active-directory/model/default-logging-config.d.ts +2 -0
- package/active-directory/model/logging-config.d.ts +6 -0
- package/active-directory/model/service-config.d.ts +7 -0
- package/active-directory/model/user-or-group.d.ts +7 -0
- package/active-directory/model/user.d.ts +23 -0
- package/active-directory/public_api.d.ts +8 -0
- package/active-directory/services/active-directory.service.d.ts +18 -0
- package/authentication/authentication.module.d.ts +20 -0
- package/authentication/components/login/login.component.d.ts +13 -0
- package/authentication/components/login-form/login-form.component.d.ts +23 -0
- package/authentication/index.d.ts +5 -0
- package/authentication/model/authenticated-user.d.ts +9 -0
- package/authentication/model/authentication-request.d.ts +6 -0
- package/{src/authentication → authentication}/model/authentication-token.d.ts +0 -0
- package/authentication/model/default-config.d.ts +2 -0
- package/authentication/model/login-form-data.d.ts +3 -0
- package/authentication/model/service-config.d.ts +3 -0
- package/authentication/public_api.d.ts +9 -0
- package/authentication/services/authentication.service.d.ts +25 -0
- package/dialog/components/base/base.component.d.ts +20 -0
- package/dialog/components/confirmation/confirmation.component.d.ts +12 -0
- package/dialog/components/input/input.component.d.ts +12 -0
- package/dialog/components/message/message.component.d.ts +12 -0
- package/dialog/dialog.module.d.ts +17 -0
- package/dialog/index.d.ts +5 -0
- package/{src/dialog/model/confirmation-dialog-mode.enum.d.ts → dialog/model/confirmation-dialog-mode.d.ts} +0 -0
- package/dialog/model/dialog-base-data.d.ts +10 -0
- package/dialog/model/dialog-type.d.ts +5 -0
- package/dialog/public_api.d.ts +8 -0
- package/esm2020/active-directory/active-directory.module.mjs +38 -0
- package/esm2020/active-directory/cleavelandprice-ngx-lib-active-directory.mjs +5 -0
- package/esm2020/active-directory/model/ad-object.mjs +2 -0
- package/esm2020/active-directory/model/cache-object.mjs +3 -0
- package/esm2020/active-directory/model/caching-config.mjs +2 -0
- package/esm2020/active-directory/model/default-caching-config.mjs +5 -0
- package/esm2020/active-directory/model/default-config.mjs +8 -0
- package/esm2020/active-directory/model/default-logging-config.mjs +7 -0
- package/esm2020/active-directory/model/logging-config.mjs +2 -0
- package/esm2020/active-directory/model/service-config.mjs +3 -0
- package/esm2020/active-directory/model/user-or-group.mjs +2 -0
- package/esm2020/active-directory/model/user.mjs +2 -0
- package/esm2020/active-directory/public_api.mjs +9 -0
- package/esm2020/active-directory/services/active-directory.service.mjs +89 -0
- package/esm2020/authentication/authentication.module.mjs +77 -0
- package/esm2020/authentication/cleavelandprice-ngx-lib-authentication.mjs +5 -0
- package/esm2020/authentication/components/login/login.component.mjs +39 -0
- package/esm2020/authentication/components/login-form/login-form.component.mjs +60 -0
- package/esm2020/authentication/model/authenticated-user.mjs +2 -0
- package/esm2020/authentication/model/authentication-request.mjs +2 -0
- package/esm2020/authentication/model/authentication-token.mjs +2 -0
- package/esm2020/authentication/model/default-config.mjs +4 -0
- package/esm2020/authentication/model/login-form-data.mjs +2 -0
- package/esm2020/authentication/model/service-config.mjs +3 -0
- package/esm2020/authentication/public_api.mjs +11 -0
- package/esm2020/authentication/services/authentication.service.mjs +120 -0
- package/esm2020/cleavelandprice-ngx-lib.mjs +1 -1
- package/esm2020/dialog/cleavelandprice-ngx-lib-dialog.mjs +5 -0
- package/esm2020/dialog/components/base/base.component.mjs +84 -0
- package/esm2020/dialog/components/confirmation/confirmation.component.mjs +23 -0
- package/esm2020/dialog/components/input/input.component.mjs +23 -0
- package/esm2020/dialog/components/message/message.component.mjs +23 -0
- package/esm2020/dialog/dialog.module.mjs +63 -0
- package/esm2020/dialog/model/confirmation-dialog-mode.mjs +8 -0
- package/esm2020/dialog/model/dialog-base-data.mjs +2 -0
- package/esm2020/dialog/model/dialog-type.mjs +7 -0
- package/esm2020/dialog/public_api.mjs +9 -0
- package/esm2020/lib/ngx-lib.module.mjs +16 -0
- package/esm2020/public_api.mjs +5 -8
- package/esm2020/sharepoint/cleavelandprice-ngx-lib-sharepoint.mjs +5 -0
- package/esm2020/sharepoint/model/base-item.mjs +2 -0
- package/esm2020/sharepoint/model/base-request-credential.mjs +2 -0
- package/esm2020/sharepoint/model/base-request.mjs +2 -0
- package/esm2020/sharepoint/model/cache-object.mjs +3 -0
- package/esm2020/sharepoint/model/caching-config.mjs +2 -0
- package/esm2020/sharepoint/model/default-config.mjs +25 -0
- package/esm2020/sharepoint/model/file-request.mjs +2 -0
- package/esm2020/sharepoint/model/folder-request.mjs +2 -0
- package/esm2020/sharepoint/model/list-item.mjs +2 -0
- package/esm2020/sharepoint/model/list-items-request.mjs +2 -0
- package/esm2020/sharepoint/model/logging-config.mjs +2 -0
- package/esm2020/sharepoint/model/photo-item.mjs +2 -0
- package/esm2020/sharepoint/model/service-config.mjs +3 -0
- package/esm2020/sharepoint/model/uri-request.mjs +2 -0
- package/esm2020/sharepoint/model/user-request.mjs +2 -0
- package/esm2020/sharepoint/model/user.mjs +2 -0
- package/esm2020/sharepoint/public_api.mjs +18 -0
- package/esm2020/sharepoint/services/sharepoint.service.mjs +152 -0
- package/esm2020/sharepoint/sharepoint.module.mjs +38 -0
- package/esm2020/upload/cleavelandprice-ngx-lib-upload.mjs +5 -0
- package/esm2020/upload/components/upload/upload.component.mjs +33 -0
- package/esm2020/upload/components/upload-dialog/upload-dialog.component.mjs +92 -0
- package/esm2020/upload/model/database-file-info.mjs +2 -0
- package/esm2020/upload/model/file-upload-request.mjs +2 -0
- package/esm2020/upload/model/filesystem-file-info.mjs +2 -0
- package/esm2020/upload/model/service-config.mjs +3 -0
- package/esm2020/upload/public_api.mjs +9 -0
- package/esm2020/upload/services/upload.service.mjs +93 -0
- package/esm2020/upload/upload.module.mjs +61 -0
- package/esm2020/url-utilities/cleavelandprice-ngx-lib-url-utilities.mjs +5 -0
- package/esm2020/url-utilities/pipes/safe-resource-url.pipe.mjs +20 -0
- package/esm2020/url-utilities/pipes/safe-url.pipe.mjs +20 -0
- package/esm2020/url-utilities/pipes/uri-scheme.pipe.mjs +105 -0
- package/esm2020/url-utilities/public_api.mjs +5 -0
- package/esm2020/url-utilities/url-utilities.module.mjs +34 -0
- package/fesm2015/cleavelandprice-ngx-lib-active-directory.mjs +156 -0
- package/fesm2015/cleavelandprice-ngx-lib-active-directory.mjs.map +1 -0
- package/fesm2015/cleavelandprice-ngx-lib-authentication.mjs +299 -0
- package/fesm2015/cleavelandprice-ngx-lib-authentication.mjs.map +1 -0
- package/fesm2015/cleavelandprice-ngx-lib-dialog.mjs +218 -0
- package/fesm2015/cleavelandprice-ngx-lib-dialog.mjs.map +1 -0
- package/fesm2015/cleavelandprice-ngx-lib-sharepoint.mjs +233 -0
- package/fesm2015/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -0
- package/fesm2015/cleavelandprice-ngx-lib-upload.mjs +280 -0
- package/fesm2015/cleavelandprice-ngx-lib-upload.mjs.map +1 -0
- package/fesm2015/cleavelandprice-ngx-lib-url-utilities.mjs +176 -0
- package/fesm2015/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -0
- package/fesm2015/cleavelandprice-ngx-lib.mjs +11 -1398
- package/fesm2015/cleavelandprice-ngx-lib.mjs.map +1 -1
- package/fesm2020/cleavelandprice-ngx-lib-active-directory.mjs +147 -0
- package/fesm2020/cleavelandprice-ngx-lib-active-directory.mjs.map +1 -0
- package/fesm2020/cleavelandprice-ngx-lib-authentication.mjs +290 -0
- package/fesm2020/cleavelandprice-ngx-lib-authentication.mjs.map +1 -0
- package/fesm2020/cleavelandprice-ngx-lib-dialog.mjs +212 -0
- package/fesm2020/cleavelandprice-ngx-lib-dialog.mjs.map +1 -0
- package/fesm2020/cleavelandprice-ngx-lib-sharepoint.mjs +219 -0
- package/fesm2020/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -0
- package/fesm2020/cleavelandprice-ngx-lib-upload.mjs +273 -0
- package/fesm2020/cleavelandprice-ngx-lib-upload.mjs.map +1 -0
- package/fesm2020/cleavelandprice-ngx-lib-url-utilities.mjs +176 -0
- package/fesm2020/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -0
- package/fesm2020/cleavelandprice-ngx-lib.mjs +11 -1370
- package/fesm2020/cleavelandprice-ngx-lib.mjs.map +1 -1
- package/lib/ngx-lib.module.d.ts +6 -0
- package/package.json +57 -12
- package/public_api.d.ts +1 -7
- package/sharepoint/index.d.ts +5 -0
- package/sharepoint/model/base-item.d.ts +4 -0
- package/sharepoint/model/base-request-credential.d.ts +4 -0
- package/sharepoint/model/base-request.d.ts +8 -0
- package/sharepoint/model/cache-object.d.ts +4 -0
- package/sharepoint/model/caching-config.d.ts +4 -0
- package/sharepoint/model/default-config.d.ts +2 -0
- package/sharepoint/model/file-request.d.ts +4 -0
- package/sharepoint/model/folder-request.d.ts +4 -0
- package/sharepoint/model/list-item.d.ts +10 -0
- package/sharepoint/model/list-items-request.d.ts +5 -0
- package/sharepoint/model/logging-config.d.ts +6 -0
- package/sharepoint/model/photo-item.d.ts +11 -0
- package/sharepoint/model/service-config.d.ts +16 -0
- package/sharepoint/model/uri-request.d.ts +4 -0
- package/sharepoint/model/user-request.d.ts +4 -0
- package/sharepoint/model/user.d.ts +12 -0
- package/sharepoint/public_api.d.ts +16 -0
- package/sharepoint/services/sharepoint.service.d.ts +25 -0
- package/sharepoint/sharepoint.module.d.ts +11 -0
- package/{src/file-upload → upload}/components/upload/upload.component.d.ts +0 -0
- package/{src/file-upload → upload}/components/upload-dialog/upload-dialog.component.d.ts +3 -3
- package/upload/index.d.ts +5 -0
- package/{src/file-upload → upload}/model/database-file-info.d.ts +0 -0
- package/{src/file-upload → upload}/model/file-upload-request.d.ts +0 -0
- package/{src/file-upload → upload}/model/filesystem-file-info.d.ts +0 -0
- package/{src/file-upload/model/upload.service.config.d.ts → upload/model/service-config.d.ts} +1 -1
- package/upload/public_api.d.ts +8 -0
- package/{src/file-upload → upload}/services/upload.service.d.ts +6 -8
- package/upload/upload.module.d.ts +16 -0
- package/url-utilities/index.d.ts +5 -0
- package/url-utilities/pipes/safe-resource-url.pipe.d.ts +10 -0
- package/{src/url → url-utilities}/pipes/safe-url.pipe.d.ts +0 -0
- package/{src/url → url-utilities}/pipes/uri-scheme.pipe.d.ts +1 -1
- package/url-utilities/public_api.d.ts +4 -0
- package/url-utilities/url-utilities.module.d.ts +10 -0
- package/esm2020/src/authentication/authentication.module.mjs +0 -112
- package/esm2020/src/authentication/components/login/login.component.mjs +0 -40
- package/esm2020/src/authentication/components/login-form/login-form.component.mjs +0 -45
- package/esm2020/src/authentication/model/authentication-token.mjs +0 -2
- package/esm2020/src/authentication/model/authentication.service.config.mjs +0 -3
- package/esm2020/src/authentication/services/authentication.service.mjs +0 -138
- package/esm2020/src/dialog/components/_dialog/dialog.component.mjs +0 -83
- package/esm2020/src/dialog/components/confirmation-dialog/confirmation-dialog.component.mjs +0 -21
- package/esm2020/src/dialog/components/input-dialog/input-dialog.component.mjs +0 -21
- package/esm2020/src/dialog/components/message-dialog/message-dialog.component.mjs +0 -21
- package/esm2020/src/dialog/dialog.module.mjs +0 -74
- package/esm2020/src/dialog/model/confirmation-dialog-mode.enum.mjs +0 -8
- package/esm2020/src/email/email.module.mjs +0 -47
- package/esm2020/src/email/model/email-dto.mjs +0 -2
- package/esm2020/src/email/model/email-sender.mjs +0 -2
- package/esm2020/src/email/model/email.mjs +0 -2
- package/esm2020/src/email/model/email.service.config.mjs +0 -3
- package/esm2020/src/email/services/email.service.mjs +0 -31
- package/esm2020/src/employee/employee.module.mjs +0 -91
- package/esm2020/src/employee/model/employee.mjs +0 -2
- package/esm2020/src/employee/model/employee.service.config.mjs +0 -3
- package/esm2020/src/employee/pipes/departments.pipe.mjs +0 -24
- package/esm2020/src/employee/pipes/employee-by-dn.pipe.mjs +0 -17
- package/esm2020/src/employee/pipes/employee-photo-url.pipe.mjs +0 -27
- package/esm2020/src/employee/pipes/employees-with-property-value.pipe.mjs +0 -17
- package/esm2020/src/employee/pipes/filter-employees.pipe.mjs +0 -22
- package/esm2020/src/employee/pipes/is-member-of.pipe.mjs +0 -17
- package/esm2020/src/employee/pipes/sort-employees.pipe.mjs +0 -44
- package/esm2020/src/employee/services/employee.service.mjs +0 -41
- package/esm2020/src/file-upload/components/upload/upload.component.mjs +0 -34
- package/esm2020/src/file-upload/components/upload-dialog/upload-dialog.component.mjs +0 -102
- package/esm2020/src/file-upload/model/database-file-info.mjs +0 -2
- package/esm2020/src/file-upload/model/file-upload-request.mjs +0 -2
- package/esm2020/src/file-upload/model/filesystem-file-info.mjs +0 -2
- package/esm2020/src/file-upload/model/upload.service.config.mjs +0 -3
- package/esm2020/src/file-upload/services/upload.service.mjs +0 -93
- package/esm2020/src/file-upload/upload.module.mjs +0 -93
- package/esm2020/src/sharepoint/model/sharepoint-calendar-event.mjs +0 -2
- package/esm2020/src/sharepoint/model/sharepoint-customer-visit.mjs +0 -2
- package/esm2020/src/sharepoint/model/sharepoint-employee-picture.mjs +0 -2
- package/esm2020/src/sharepoint/model/sharepoint-list-item.mjs +0 -2
- package/esm2020/src/sharepoint/model/sharepoint-list.mjs +0 -2
- package/esm2020/src/sharepoint/model/sharepoint-person.mjs +0 -2
- package/esm2020/src/sharepoint/model/sharepoint-picture.mjs +0 -2
- package/esm2020/src/sharepoint/model/sharepoint.service.config.mjs +0 -3
- package/esm2020/src/sharepoint/pipes/sharepoint-photo-url.pipe.mjs +0 -16
- package/esm2020/src/sharepoint/pipes/sharepoint-url.pipe.mjs +0 -16
- package/esm2020/src/sharepoint/services/sharepoint.service.mjs +0 -77
- package/esm2020/src/sharepoint/sharepoint.module.mjs +0 -69
- package/esm2020/src/url/pipes/safe-url.pipe.mjs +0 -21
- package/esm2020/src/url/pipes/uri-scheme.pipe.mjs +0 -103
- package/esm2020/src/url/url.module.mjs +0 -38
- package/src/authentication/authentication.module.d.ts +0 -31
- package/src/authentication/components/login/login.component.d.ts +0 -15
- package/src/authentication/components/login-form/login-form.component.d.ts +0 -20
- package/src/authentication/model/authentication.service.config.d.ts +0 -3
- package/src/authentication/services/authentication.service.d.ts +0 -68
- package/src/dialog/components/_dialog/dialog.component.d.ts +0 -22
- package/src/dialog/components/confirmation-dialog/confirmation-dialog.component.d.ts +0 -9
- package/src/dialog/components/input-dialog/input-dialog.component.d.ts +0 -9
- package/src/dialog/components/message-dialog/message-dialog.component.d.ts +0 -9
- package/src/dialog/dialog.module.d.ts +0 -20
- package/src/email/email.module.d.ts +0 -14
- package/src/email/model/email-dto.d.ts +0 -13
- package/src/email/model/email-sender.d.ts +0 -6
- package/src/email/model/email.d.ts +0 -9
- package/src/email/model/email.service.config.d.ts +0 -7
- package/src/email/services/email.service.d.ts +0 -13
- package/src/employee/employee.module.d.ts +0 -28
- package/src/employee/model/employee.d.ts +0 -35
- package/src/employee/model/employee.service.config.d.ts +0 -3
- package/src/employee/pipes/departments.pipe.d.ts +0 -8
- package/src/employee/pipes/employee-by-dn.pipe.d.ts +0 -8
- package/src/employee/pipes/employee-photo-url.pipe.d.ts +0 -9
- package/src/employee/pipes/employees-with-property-value.pipe.d.ts +0 -8
- package/src/employee/pipes/filter-employees.pipe.d.ts +0 -8
- package/src/employee/pipes/is-member-of.pipe.d.ts +0 -8
- package/src/employee/pipes/sort-employees.pipe.d.ts +0 -9
- package/src/employee/services/employee.service.d.ts +0 -15
- package/src/file-upload/upload.module.d.ts +0 -26
- package/src/sharepoint/model/sharepoint-calendar-event.d.ts +0 -6
- package/src/sharepoint/model/sharepoint-customer-visit.d.ts +0 -8
- package/src/sharepoint/model/sharepoint-employee-picture.d.ts +0 -5
- package/src/sharepoint/model/sharepoint-list-item.d.ts +0 -11
- package/src/sharepoint/model/sharepoint-list.d.ts +0 -8
- package/src/sharepoint/model/sharepoint-person.d.ts +0 -9
- package/src/sharepoint/model/sharepoint-picture.d.ts +0 -14
- package/src/sharepoint/model/sharepoint.service.config.d.ts +0 -5
- package/src/sharepoint/pipes/sharepoint-photo-url.pipe.d.ts +0 -8
- package/src/sharepoint/pipes/sharepoint-url.pipe.d.ts +0 -7
- package/src/sharepoint/services/sharepoint.service.d.ts +0 -23
- package/src/sharepoint/sharepoint.module.d.ts +0 -24
- package/src/url/url.module.d.ts +0 -11
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { UserOrGroup } from './user-or-group';
|
|
2
|
+
export interface User extends UserOrGroup {
|
|
3
|
+
birthDate: Date;
|
|
4
|
+
department: string;
|
|
5
|
+
employeeNumber: string;
|
|
6
|
+
facsimileTelephoneNumber: string;
|
|
7
|
+
givenName: string;
|
|
8
|
+
initials: string;
|
|
9
|
+
l: string;
|
|
10
|
+
lastBadPasswordAttempt: Date;
|
|
11
|
+
lastLogonDate: Date;
|
|
12
|
+
manager: string;
|
|
13
|
+
mobile: string;
|
|
14
|
+
scriptPath: string;
|
|
15
|
+
sn: string;
|
|
16
|
+
st: string;
|
|
17
|
+
telephoneNumber: string;
|
|
18
|
+
title: string;
|
|
19
|
+
thumbnailPhoto: number[];
|
|
20
|
+
userAccountControl: number;
|
|
21
|
+
userPrincipalName: string;
|
|
22
|
+
enabled: boolean;
|
|
23
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './model/ad-object';
|
|
2
|
+
export * from './model/caching-config';
|
|
3
|
+
export * from './model/logging-config';
|
|
4
|
+
export * from './model/service-config';
|
|
5
|
+
export * from './model/user-or-group';
|
|
6
|
+
export * from './model/user';
|
|
7
|
+
export * from './services/active-directory.service';
|
|
8
|
+
export * from './active-directory.module';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { ServiceConfig } from '../model/service-config';
|
|
4
|
+
import { User } from '../model/user';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class ActiveDirectoryService {
|
|
7
|
+
private config;
|
|
8
|
+
private http;
|
|
9
|
+
private cache;
|
|
10
|
+
private defaultCacheLifeMinutes;
|
|
11
|
+
private get cacheExpired();
|
|
12
|
+
constructor(config: ServiceConfig, http: HttpClient);
|
|
13
|
+
getUsers(includePhoto?: boolean, includeDisabled?: boolean, parentOU?: string): Observable<User[]>;
|
|
14
|
+
getUser(accountName: string, includePhoto?: boolean): Observable<User>;
|
|
15
|
+
clearCache(): void;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ActiveDirectoryService, [{ optional: true; }, null]>;
|
|
17
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ActiveDirectoryService>;
|
|
18
|
+
}
|
|
@@ -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 AuthenticationModule {
|
|
15
|
+
static forRoot(config: ServiceConfig): ModuleWithProviders<AuthenticationModule>;
|
|
16
|
+
constructor(parentModule: AuthenticationModule);
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationModule, [{ optional: true; skipSelf: true; }]>;
|
|
18
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AuthenticationModule, [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<AuthenticationModule>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
2
|
+
import { AuthenticationService } from '../../services/authentication.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class LoginComponent {
|
|
5
|
+
private dialog;
|
|
6
|
+
authenticationService: AuthenticationService;
|
|
7
|
+
adminGroup: string;
|
|
8
|
+
constructor(dialog: MatDialog, authenticationService: AuthenticationService);
|
|
9
|
+
login(): void;
|
|
10
|
+
confirmLogout(): void;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoginComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoginComponent, "authentication-login", never, { "adminGroup": "adminGroup"; }, {}, never, never, false>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { OnInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { UntypedFormGroup } from '@angular/forms';
|
|
3
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
4
|
+
import { Subscription } from 'rxjs';
|
|
5
|
+
import { AuthenticationService } from '../../services/authentication.service';
|
|
6
|
+
import { LoginFormData } from '../../model/login-form-data';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class LoginFormComponent implements OnInit, OnDestroy {
|
|
9
|
+
dialogRef: MatDialogRef<LoginFormComponent>;
|
|
10
|
+
authenticationService: AuthenticationService;
|
|
11
|
+
errorMessage: string | null;
|
|
12
|
+
authenticatedChangedSubscription: Subscription;
|
|
13
|
+
authenticationErrorSubscription: Subscription;
|
|
14
|
+
form: UntypedFormGroup;
|
|
15
|
+
constructor(data: LoginFormData, dialogRef: MatDialogRef<LoginFormComponent>, authenticationService: AuthenticationService);
|
|
16
|
+
ngOnInit(): void;
|
|
17
|
+
ngOnDestroy(): void;
|
|
18
|
+
authenticate(): void;
|
|
19
|
+
private authChangedHandler;
|
|
20
|
+
private errorHandler;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoginFormComponent, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoginFormComponent, "authentication-login-form", never, {}, {}, never, never, false>;
|
|
23
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './model/authenticated-user';
|
|
2
|
+
export * from './model/authentication-request';
|
|
3
|
+
export * from './model/authentication-token';
|
|
4
|
+
export * from './model/login-form-data';
|
|
5
|
+
export * from './model/service-config';
|
|
6
|
+
export * from './components/login/login.component';
|
|
7
|
+
export * from './components/login-form/login-form.component';
|
|
8
|
+
export * from './services/authentication.service';
|
|
9
|
+
export * from './authentication.module';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { ServiceConfig } from '../model/service-config';
|
|
4
|
+
import { SharepointService } from '@cleavelandprice/ngx-lib/sharepoint';
|
|
5
|
+
import { AuthenticatedUser } from '../model/authenticated-user';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class AuthenticationService {
|
|
8
|
+
private config;
|
|
9
|
+
private http;
|
|
10
|
+
private sharePointService;
|
|
11
|
+
authenticatedChanged: EventEmitter<boolean>;
|
|
12
|
+
authenticatingChanged: EventEmitter<boolean>;
|
|
13
|
+
authenticationError: EventEmitter<any>;
|
|
14
|
+
authenticating: boolean;
|
|
15
|
+
authenticated: boolean;
|
|
16
|
+
authenticatedUser: AuthenticatedUser | null;
|
|
17
|
+
constructor(config: ServiceConfig, http: HttpClient, sharePointService: SharepointService);
|
|
18
|
+
login(username: string, password: string, adminGroup?: string): void;
|
|
19
|
+
logout(): void;
|
|
20
|
+
private validateUser;
|
|
21
|
+
private getPhoto;
|
|
22
|
+
private checkForExistingToken;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationService, [{ optional: true; }, null, null]>;
|
|
24
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationService>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { ConfirmationDialogMode } from '../../model/confirmation-dialog-mode';
|
|
3
|
+
import { DialogBaseData } from '../../model/dialog-base-data';
|
|
4
|
+
import { DialogType } from '../../model/dialog-type';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class BaseComponent {
|
|
7
|
+
DialogType: typeof DialogType;
|
|
8
|
+
dialogType: DialogType;
|
|
9
|
+
data: DialogBaseData;
|
|
10
|
+
closed: EventEmitter<any>;
|
|
11
|
+
ConfirmationDialogMode: typeof ConfirmationDialogMode;
|
|
12
|
+
userInput: string;
|
|
13
|
+
checkboxValue: boolean;
|
|
14
|
+
get customTrueText(): string | null;
|
|
15
|
+
get customFalseText(): string | null;
|
|
16
|
+
close(): void;
|
|
17
|
+
cancel(): void;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseComponent, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseComponent, "dialog-base", never, { "dialogType": "dialogType"; "data": "data"; }, { "closed": "closed"; }, never, never, false>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
+
import { DialogBaseData } from '../../model/dialog-base-data';
|
|
3
|
+
import { DialogType } from '../../model/dialog-type';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ConfirmationComponent {
|
|
6
|
+
data: DialogBaseData;
|
|
7
|
+
dialogRef: MatDialogRef<ConfirmationComponent>;
|
|
8
|
+
dialogType: DialogType;
|
|
9
|
+
constructor(data: DialogBaseData, dialogRef: MatDialogRef<ConfirmationComponent>);
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmationComponent, "dialog-confirmation", never, {}, {}, never, never, false>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
+
import { DialogBaseData } from '../../model/dialog-base-data';
|
|
3
|
+
import { DialogType } from '../../model/dialog-type';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class InputComponent {
|
|
6
|
+
data: DialogBaseData;
|
|
7
|
+
dialogRef: MatDialogRef<InputComponent>;
|
|
8
|
+
dialogType: DialogType;
|
|
9
|
+
constructor(data: DialogBaseData, dialogRef: MatDialogRef<InputComponent>);
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "dialog-input", never, {}, {}, never, never, false>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
+
import { DialogBaseData } from '../../model/dialog-base-data';
|
|
3
|
+
import { DialogType } from '../../model/dialog-type';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class MessageComponent {
|
|
6
|
+
data: DialogBaseData;
|
|
7
|
+
dialogRef: MatDialogRef<MessageComponent>;
|
|
8
|
+
dialogType: DialogType;
|
|
9
|
+
constructor(data: DialogBaseData, dialogRef: MatDialogRef<MessageComponent>);
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MessageComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MessageComponent, "dialog-message", never, {}, {}, never, never, false>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./components/base/base.component";
|
|
3
|
+
import * as i2 from "./components/confirmation/confirmation.component";
|
|
4
|
+
import * as i3 from "./components/input/input.component";
|
|
5
|
+
import * as i4 from "./components/message/message.component";
|
|
6
|
+
import * as i5 from "@angular/common";
|
|
7
|
+
import * as i6 from "@angular/forms";
|
|
8
|
+
import * as i7 from "@angular/material/button";
|
|
9
|
+
import * as i8 from "@angular/material/checkbox";
|
|
10
|
+
import * as i9 from "@angular/material/dialog";
|
|
11
|
+
import * as i10 from "@angular/material/form-field";
|
|
12
|
+
import * as i11 from "@angular/material/input";
|
|
13
|
+
export declare class DialogModule {
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DialogModule, never>;
|
|
15
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DialogModule, [typeof i1.BaseComponent, typeof i2.ConfirmationComponent, typeof i3.InputComponent, typeof i4.MessageComponent], [typeof i5.CommonModule, typeof i6.FormsModule, typeof i7.MatButtonModule, typeof i8.MatCheckboxModule, typeof i9.MatDialogModule, typeof i10.MatFormFieldModule, typeof i11.MatInputModule], [typeof i1.BaseComponent, typeof i2.ConfirmationComponent, typeof i3.InputComponent, typeof i4.MessageComponent]>;
|
|
16
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<DialogModule>;
|
|
17
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ConfirmationDialogMode } from "./confirmation-dialog-mode";
|
|
2
|
+
export interface DialogBaseData {
|
|
3
|
+
checkboxMessage?: string;
|
|
4
|
+
customTrueFalseText?: string[];
|
|
5
|
+
message?: string;
|
|
6
|
+
mode?: ConfirmationDialogMode;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
title?: string;
|
|
9
|
+
value?: string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './model/confirmation-dialog-mode';
|
|
2
|
+
export * from './model/dialog-base-data';
|
|
3
|
+
export * from './model/dialog-type';
|
|
4
|
+
export * from './components/base/base.component';
|
|
5
|
+
export * from './components/confirmation/confirmation.component';
|
|
6
|
+
export * from './components/input/input.component';
|
|
7
|
+
export * from './components/message/message.component';
|
|
8
|
+
export * from './dialog.module';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NgModule, Optional, SkipSelf } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ServiceConfig } from './model/service-config';
|
|
4
|
+
import { ActiveDirectoryService } from './services/active-directory.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ActiveDirectoryModule {
|
|
7
|
+
constructor(parentModule) {
|
|
8
|
+
if (parentModule) {
|
|
9
|
+
throw new Error('ActiveDirectoryModule is already loaded. Import it in the AppModule only');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
static forRoot(config) {
|
|
13
|
+
return {
|
|
14
|
+
ngModule: ActiveDirectoryModule,
|
|
15
|
+
providers: [
|
|
16
|
+
ActiveDirectoryService,
|
|
17
|
+
{ provide: ServiceConfig, useValue: config }
|
|
18
|
+
]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ActiveDirectoryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ActiveDirectoryModule, deps: [{ token: ActiveDirectoryModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
23
|
+
ActiveDirectoryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ActiveDirectoryModule, imports: [CommonModule] });
|
|
24
|
+
ActiveDirectoryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ActiveDirectoryModule, imports: [CommonModule] });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ActiveDirectoryModule, decorators: [{
|
|
26
|
+
type: NgModule,
|
|
27
|
+
args: [{
|
|
28
|
+
declarations: [],
|
|
29
|
+
imports: [
|
|
30
|
+
CommonModule
|
|
31
|
+
]
|
|
32
|
+
}]
|
|
33
|
+
}], ctorParameters: function () { return [{ type: ActiveDirectoryModule, decorators: [{
|
|
34
|
+
type: Optional
|
|
35
|
+
}, {
|
|
36
|
+
type: SkipSelf
|
|
37
|
+
}] }]; } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWRpcmVjdG9yeS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hY3RpdmUtZGlyZWN0b3J5L3NyYy9hY3RpdmUtZGlyZWN0b3J5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBUTdFLE1BQU0sT0FBTyxxQkFBcUI7SUFXaEMsWUFBcUMsWUFBbUM7UUFDdEUsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FDYiwwRUFBMEUsQ0FBQyxDQUFDO1NBQy9FO0lBQ0gsQ0FBQztJQWZELE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBcUI7UUFDbEMsT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFO2dCQUNULHNCQUFzQjtnQkFDdEIsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7YUFDN0M7U0FDRixDQUFDO0lBQ0osQ0FBQzs7a0hBVFUscUJBQXFCLGtCQVdtQixxQkFBcUI7bUhBWDdELHFCQUFxQixZQUg5QixZQUFZO21IQUdILHFCQUFxQixZQUg5QixZQUFZOzJGQUdILHFCQUFxQjtrQkFOakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7aUJBQ0Y7MERBWW9ELHFCQUFxQjswQkFBMUQsUUFBUTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XG5pbXBvcnQgeyBBY3RpdmVEaXJlY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hY3RpdmUtZGlyZWN0b3J5LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZlRGlyZWN0b3J5TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBTZXJ2aWNlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBY3RpdmVEaXJlY3RvcnlNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFjdGl2ZURpcmVjdG9yeU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBBY3RpdmVEaXJlY3RvcnlTZXJ2aWNlLFxuICAgICAgICB7IHByb3ZpZGU6IFNlcnZpY2VDb25maWcsIHVzZVZhbHVlOiBjb25maWcgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvciggQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBBY3RpdmVEaXJlY3RvcnlNb2R1bGUpIHtcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdBY3RpdmVEaXJlY3RvcnlNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBpbiB0aGUgQXBwTW9kdWxlIG9ubHknKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXZlbGFuZHByaWNlLW5neC1saWItYWN0aXZlLWRpcmVjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2FjdGl2ZS1kaXJlY3Rvcnkvc3JjL2NsZWF2ZWxhbmRwcmljZS1uZ3gtbGliLWFjdGl2ZS1kaXJlY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWQtb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYWN0aXZlLWRpcmVjdG9yeS9zcmMvbW9kZWwvYWQtb2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFET2JqZWN0IHtcclxuICAgIGNhbm9uaWNhbE5hbWU6IHN0cmluZztcclxuICAgIGNuOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcclxuICAgIGRpc3Rpbmd1aXNoZWROYW1lOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RDYXRlZ29yeTogc3RyaW5nO1xyXG4gICAgb2JqZWN0Q2xhc3M6IHN0cmluZ1tdO1xyXG4gICAgb2JqZWN0R1VJRDogc3RyaW5nO1xyXG4gICAgd2hlbkNoYW5nZWQ6IERhdGU7XHJcbiAgICB3aGVuQ3JlYXRlZDogRGF0ZTtcclxuICB9Il19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// This interface is internal only, no need to export in public-api.ts
|
|
2
|
+
export {};
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYWN0aXZlLWRpcmVjdG9yeS9zcmMvbW9kZWwvY2FjaGUtb2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgaW50ZXJmYWNlIGlzIGludGVybmFsIG9ubHksIG5vIG5lZWQgdG8gZXhwb3J0IGluIHB1YmxpYy1hcGkudHNcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVPYmplY3Q8VD4ge1xyXG4gICAgZGF0YTogVFtdLFxyXG4gICAgbGFzdFVwZGF0ZTogbW9tZW50Lk1vbWVudFxyXG4gIH0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGluZy1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hY3RpdmUtZGlyZWN0b3J5L3NyYy9tb2RlbC9jYWNoaW5nLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDYWNoaW5nQ29uZmlnIHtcclxuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgbGlmZU1pbnV0ZXM/OiBudW1iZXI7XHJcbiAgfSJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const defaultCachingConfig = {
|
|
2
|
+
enabled: false,
|
|
3
|
+
lifeMinutes: 720
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jYWNoaW5nLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2FjdGl2ZS1kaXJlY3Rvcnkvc3JjL21vZGVsL2RlZmF1bHQtY2FjaGluZy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWtCO0lBQy9DLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFLEdBQUc7Q0FDbkIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhY2hpbmdDb25maWcgfSBmcm9tIFwiLi9jYWNoaW5nLWNvbmZpZ1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDYWNoaW5nQ29uZmlnOiBDYWNoaW5nQ29uZmlnID0ge1xyXG4gICAgZW5hYmxlZDogZmFsc2UsXHJcbiAgICBsaWZlTWludXRlczogNzIwXHJcbn0iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { defaultCachingConfig } from './default-caching-config';
|
|
2
|
+
import { defaultLoggingConfig } from "./default-logging-config";
|
|
3
|
+
export const defaultConfig = {
|
|
4
|
+
apiUrl: 'http://utilityapi/users',
|
|
5
|
+
caching: defaultCachingConfig,
|
|
6
|
+
logging: defaultLoggingConfig
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hY3RpdmUtZGlyZWN0b3J5L3NyYy9tb2RlbC9kZWZhdWx0LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCO0lBQ3hDLE1BQU0sRUFBRSx5QkFBeUI7SUFDakMsT0FBTyxFQUFFLG9CQUFvQjtJQUM3QixPQUFPLEVBQUUsb0JBQW9CO0NBQ2hDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlQ29uZmlnIH0gZnJvbSBcIi4vc2VydmljZS1jb25maWdcIjtcclxuaW1wb3J0IHsgZGVmYXVsdENhY2hpbmdDb25maWcgfSBmcm9tICcuL2RlZmF1bHQtY2FjaGluZy1jb25maWcnO1xyXG5pbXBvcnQgeyBkZWZhdWx0TG9nZ2luZ0NvbmZpZyB9IGZyb20gXCIuL2RlZmF1bHQtbG9nZ2luZy1jb25maWdcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBkZWZhdWx0Q29uZmlnOiBTZXJ2aWNlQ29uZmlnID0ge1xyXG4gICAgYXBpVXJsOiAnaHR0cDovL3V0aWxpdHlhcGkvdXNlcnMnLFxyXG4gICAgY2FjaGluZzogZGVmYXVsdENhY2hpbmdDb25maWcsXHJcbiAgICBsb2dnaW5nOiBkZWZhdWx0TG9nZ2luZ0NvbmZpZ1xyXG59Il19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const defaultLoggingConfig = {
|
|
2
|
+
dataCached: false,
|
|
3
|
+
cachedDataReturned: false,
|
|
4
|
+
freshDataReturned: false,
|
|
5
|
+
cacheCleared: false
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1sb2dnaW5nLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2FjdGl2ZS1kaXJlY3Rvcnkvc3JjL21vZGVsL2RlZmF1bHQtbG9nZ2luZy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWtCO0lBQy9DLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGtCQUFrQixFQUFFLEtBQUs7SUFDekIsaUJBQWlCLEVBQUUsS0FBSztJQUN4QixZQUFZLEVBQUUsS0FBSztDQUN0QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2luZ0NvbmZpZyB9IGZyb20gXCIuL2xvZ2dpbmctY29uZmlnXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZGVmYXVsdExvZ2dpbmdDb25maWc6IExvZ2dpbmdDb25maWcgPSB7XHJcbiAgICBkYXRhQ2FjaGVkOiBmYWxzZSxcclxuICAgIGNhY2hlZERhdGFSZXR1cm5lZDogZmFsc2UsXHJcbiAgICBmcmVzaERhdGFSZXR1cm5lZDogZmFsc2UsXHJcbiAgICBjYWNoZUNsZWFyZWQ6IGZhbHNlXHJcbn0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hY3RpdmUtZGlyZWN0b3J5L3NyYy9tb2RlbC9sb2dnaW5nLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMb2dnaW5nQ29uZmlnIHtcclxuICAgIGRhdGFDYWNoZWQ/OiBib29sZWFuO1xyXG4gICAgY2FjaGVkRGF0YVJldHVybmVkPzogYm9vbGVhbjtcclxuICAgIGZyZXNoRGF0YVJldHVybmVkPzogYm9vbGVhbjtcclxuICAgIGNhY2hlQ2xlYXJlZD86IGJvb2xlYW47XHJcbiAgfSJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class ServiceConfig {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hY3RpdmUtZGlyZWN0b3J5L3NyYy9tb2RlbC9zZXJ2aWNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sYUFBYTtDQUl6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhY2hpbmdDb25maWcgfSBmcm9tIFwiLi9jYWNoaW5nLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBMb2dnaW5nQ29uZmlnIH0gZnJvbSAnLi9sb2dnaW5nLWNvbmZpZyc7XHJcblxyXG5leHBvcnQgY2xhc3MgU2VydmljZUNvbmZpZyB7XHJcbiAgYXBpVXJsITogc3RyaW5nO1xyXG4gIGNhY2hpbmc/OiBDYWNoaW5nQ29uZmlnO1xyXG4gIGxvZ2dpbmc/OiBMb2dnaW5nQ29uZmlnO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1vci1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2FjdGl2ZS1kaXJlY3Rvcnkvc3JjL21vZGVsL3VzZXItb3ItZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFET2JqZWN0IH0gZnJvbSAnLi9hZC1vYmplY3QnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VyT3JHcm91cCBleHRlbmRzIEFET2JqZWN0IHtcclxuICBtYWlsOiBzdHJpbmc7XHJcbiAgbWVtYmVyT2Y6IHN0cmluZ1tdO1xyXG4gIG9iamVjdFNpZDogc3RyaW5nO1xyXG4gIHNBTUFjY291bnROYW1lOiBzdHJpbmc7XHJcbn0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2FjdGl2ZS1kaXJlY3Rvcnkvc3JjL21vZGVsL3VzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJPckdyb3VwIH0gZnJvbSAnLi91c2VyLW9yLWdyb3VwJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlciBleHRlbmRzIFVzZXJPckdyb3VwIHtcclxuICBiaXJ0aERhdGU6IERhdGU7XHJcbiAgZGVwYXJ0bWVudDogc3RyaW5nO1xyXG4gIGVtcGxveWVlTnVtYmVyOiBzdHJpbmc7XHJcbiAgZmFjc2ltaWxlVGVsZXBob25lTnVtYmVyOiBzdHJpbmc7XHJcbiAgZ2l2ZW5OYW1lOiBzdHJpbmc7IC8vIEZpcnN0IG5hbWVcclxuICBpbml0aWFsczogc3RyaW5nO1xyXG4gIGw6IHN0cmluZzsgLy8gQ2l0eVxyXG4gIGxhc3RCYWRQYXNzd29yZEF0dGVtcHQ6IERhdGU7XHJcbiAgbGFzdExvZ29uRGF0ZTogRGF0ZTtcclxuICBtYW5hZ2VyOiBzdHJpbmc7XHJcbiAgbW9iaWxlOiBzdHJpbmc7XHJcbiAgc2NyaXB0UGF0aDogc3RyaW5nO1xyXG4gIHNuOiBzdHJpbmc7IC8vIFN1cm5hbWUgKExhc3QgbmFtZSlcclxuICBzdDogc3RyaW5nOyAvLyBTdGF0ZVxyXG4gIHRlbGVwaG9uZU51bWJlcjogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdGh1bWJuYWlsUGhvdG86IG51bWJlcltdO1xyXG4gIHVzZXJBY2NvdW50Q29udHJvbDogbnVtYmVyO1xyXG4gIHVzZXJQcmluY2lwYWxOYW1lOiBzdHJpbmc7XHJcblxyXG4gIGVuYWJsZWQ6IGJvb2xlYW47IC8vIE5vdCBhIHJlYWwgQUQgcHJvcGVydHkgLSBjYWxjdWxhdGVkIGJ5IEFQSVxyXG59Il19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './model/ad-object';
|
|
2
|
+
export * from './model/caching-config';
|
|
3
|
+
export * from './model/logging-config';
|
|
4
|
+
export * from './model/service-config';
|
|
5
|
+
export * from './model/user-or-group';
|
|
6
|
+
export * from './model/user';
|
|
7
|
+
export * from './services/active-directory.service';
|
|
8
|
+
export * from './active-directory.module';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2FjdGl2ZS1kaXJlY3Rvcnkvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsY0FBYyxDQUFDO0FBRTdCLGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWwvYWQtb2JqZWN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9jYWNoaW5nLWNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvbG9nZ2luZy1jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVsL3NlcnZpY2UtY29uZmlnJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC91c2VyLW9yLWdyb3VwJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC91c2VyJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYWN0aXZlLWRpcmVjdG9yeS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vYWN0aXZlLWRpcmVjdG9yeS5tb2R1bGUnOyJdfQ==
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
//#region Imports
|
|
2
|
+
import { Injectable, Optional } from '@angular/core';
|
|
3
|
+
import { of } from 'rxjs';
|
|
4
|
+
import { defaultConfig } from '../model/default-config';
|
|
5
|
+
import { defaultCachingConfig } from '../model/default-caching-config';
|
|
6
|
+
import { defaultLoggingConfig } from '../model/default-logging-config';
|
|
7
|
+
import moment from 'moment';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../model/service-config";
|
|
10
|
+
import * as i2 from "@angular/common/http";
|
|
11
|
+
//#endregion
|
|
12
|
+
export class ActiveDirectoryService {
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region Initialization
|
|
15
|
+
// If a ServiceConfig object is not provided when the module is imported, then default values are pulled in from default-config.ts.
|
|
16
|
+
constructor(config, http) {
|
|
17
|
+
this.config = config;
|
|
18
|
+
this.http = http;
|
|
19
|
+
this.cache = null;
|
|
20
|
+
this.defaultCacheLifeMinutes = 720;
|
|
21
|
+
this.config = this.config ?? defaultConfig;
|
|
22
|
+
this.config.caching = this.config.caching ?? defaultCachingConfig;
|
|
23
|
+
this.config.logging = this.config.logging ?? defaultLoggingConfig;
|
|
24
|
+
}
|
|
25
|
+
//#region Properties
|
|
26
|
+
get cacheExpired() {
|
|
27
|
+
if (!this.cache) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
const lifeMinutes = this.config.caching?.lifeMinutes ?? this.defaultCacheLifeMinutes;
|
|
31
|
+
const expiration = moment(this.cache.lastUpdate)
|
|
32
|
+
.add(lifeMinutes, 'minutes');
|
|
33
|
+
return moment().isAfter(expiration);
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
getUsers(includePhoto = false, includeDisabled = false, parentOU) {
|
|
37
|
+
// If caching is enabled, there will be two calls to the API if the cache is null/expired
|
|
38
|
+
// One call is to update the cache and the other is to return the data that the user requested
|
|
39
|
+
// Subsequent calls will bypass the API and returned cached data until it expires
|
|
40
|
+
const observable$ = this.http.get(`${this.config.apiUrl}/${includePhoto}/${includeDisabled}/${parentOU ?? ''}`);
|
|
41
|
+
if (this.config.caching?.enabled) {
|
|
42
|
+
if (this.cacheExpired) {
|
|
43
|
+
// Get the data and cache it
|
|
44
|
+
observable$.subscribe(data => {
|
|
45
|
+
this.cache = {
|
|
46
|
+
data,
|
|
47
|
+
lastUpdate: moment()
|
|
48
|
+
};
|
|
49
|
+
if (this.config.logging?.dataCached) {
|
|
50
|
+
const lifeMinutes = this.config.caching?.lifeMinutes ?? this.defaultCacheLifeMinutes;
|
|
51
|
+
console.log(`Data cached for ${lifeMinutes} minutes`);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// Cache exists and hasn't expired yet
|
|
57
|
+
if (this.config.logging?.cachedDataReturned) {
|
|
58
|
+
console.log('Returning cached users');
|
|
59
|
+
}
|
|
60
|
+
return of(this.cache.data);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Cache is either disabled or expired, return data from API
|
|
64
|
+
if (this.config.logging?.freshDataReturned) {
|
|
65
|
+
console.log('Returning fresh users');
|
|
66
|
+
}
|
|
67
|
+
return observable$;
|
|
68
|
+
}
|
|
69
|
+
getUser(accountName, includePhoto = false) {
|
|
70
|
+
return this.http.get(`${this.config.apiUrl}/name/${accountName}/${includePhoto}`);
|
|
71
|
+
}
|
|
72
|
+
clearCache() {
|
|
73
|
+
this.cache = null;
|
|
74
|
+
if (this.config.logging?.cacheCleared) {
|
|
75
|
+
console.log('Cache cleared');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
ActiveDirectoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ActiveDirectoryService, deps: [{ token: i1.ServiceConfig, optional: true }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
80
|
+
ActiveDirectoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ActiveDirectoryService, providedIn: 'root' });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ActiveDirectoryService, decorators: [{
|
|
82
|
+
type: Injectable,
|
|
83
|
+
args: [{
|
|
84
|
+
providedIn: 'root'
|
|
85
|
+
}]
|
|
86
|
+
}], ctorParameters: function () { return [{ type: i1.ServiceConfig, decorators: [{
|
|
87
|
+
type: Optional
|
|
88
|
+
}] }, { type: i2.HttpClient }]; } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWRpcmVjdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYWN0aXZlLWRpcmVjdG9yeS9zcmMvc2VydmljZXMvYWN0aXZlLWRpcmVjdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU12RSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7QUFDNUIsWUFBWTtBQUtaLE1BQU0sT0FBTyxzQkFBc0I7SUFnQmpDLFlBQVk7SUFFWix3QkFBd0I7SUFDeEIsbUlBQW1JO0lBQ25JLFlBQWdDLE1BQXFCLEVBQ2pDLElBQWdCO1FBREosV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNqQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBcEI1QixVQUFLLEdBQTZCLElBQUksQ0FBQztRQUN2Qyw0QkFBdUIsR0FBRyxHQUFHLENBQUM7UUFxQnhCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksb0JBQW9CLENBQUM7UUFDbEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksb0JBQW9CLENB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Q29udGVudCI6WyIvLyNyZWdpb24gSW1wb3J0c1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBkZWZhdWx0Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvZGVmYXVsdC1jb25maWcnO1xuaW1wb3J0IHsgZGVmYXVsdENhY2hpbmdDb25maWcgfSBmcm9tICcuLi9tb2RlbC9kZWZhdWx0LWNhY2hpbmctY29uZmlnJztcbmltcG9ydCB7IGRlZmF1bHRMb2dnaW5nQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvZGVmYXVsdC1sb2dnaW5nLWNvbmZpZyc7XG5cbmltcG9ydCB7IENhY2hlT2JqZWN0IH0gZnJvbSAnLi4vbW9kZWwvY2FjaGUtb2JqZWN0JztcbmltcG9ydCB7IFNlcnZpY2VDb25maWcgfSBmcm9tICcuLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vbW9kZWwvdXNlcic7XG5cbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50Jztcbi8vI2VuZHJlZ2lvblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBY3RpdmVEaXJlY3RvcnlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjYWNoZTogQ2FjaGVPYmplY3Q8VXNlcj4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBkZWZhdWx0Q2FjaGVMaWZlTWludXRlcyA9IDcyMDtcblxuICAvLyNyZWdpb24gUHJvcGVydGllc1xuICBwcml2YXRlIGdldCBjYWNoZUV4cGlyZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBsaWZlTWludXRlcyA9IHRoaXMuY29uZmlnLmNhY2hpbmc/LmxpZmVNaW51dGVzID8/IHRoaXMuZGVmYXVsdENhY2hlTGlmZU1pbnV0ZXM7XG4gICAgY29uc3QgZXhwaXJhdGlvbiA9IG1vbWVudCh0aGlzLmNhY2hlLmxhc3RVcGRhdGUpXG4gICAgICAuYWRkKGxpZmVNaW51dGVzLCAnbWludXRlcycpO1xuXG4gICAgcmV0dXJuIG1vbWVudCgpLmlzQWZ0ZXIoZXhwaXJhdGlvbik7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIEluaXRpYWxpemF0aW9uXG4gIC8vIElmIGEgU2VydmljZUNvbmZpZyBvYmplY3QgaXMgbm90IHByb3ZpZGVkIHdoZW4gdGhlIG1vZHVsZSBpcyBpbXBvcnRlZCwgdGhlbiBkZWZhdWx0IHZhbHVlcyBhcmUgcHVsbGVkIGluIGZyb20gZGVmYXVsdC1jb25maWcudHMuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlnOiBTZXJ2aWNlQ29uZmlnLFxuICAgICAgICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcblxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnID0gdGhpcy5jb25maWcgPz8gZGVmYXVsdENvbmZpZztcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5jYWNoaW5nID0gdGhpcy5jb25maWcuY2FjaGluZyA/PyBkZWZhdWx0Q2FjaGluZ0NvbmZpZztcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5sb2dnaW5nID0gdGhpcy5jb25maWcubG9nZ2luZyA/PyBkZWZhdWx0TG9nZ2luZ0NvbmZpZztcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBnZXRVc2VycyhpbmNsdWRlUGhvdG8gPSBmYWxzZSwgaW5jbHVkZURpc2FibGVkID0gZmFsc2UsIHBhcmVudE9VPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VyW10+IHtcbiAgICAvLyBJZiBjYWNoaW5nIGlzIGVuYWJsZWQsIHRoZXJlIHdpbGwgYmUgdHdvIGNhbGxzIHRvIHRoZSBBUEkgaWYgdGhlIGNhY2hlIGlzIG51bGwvZXhwaXJlZFxuICAgIC8vIE9uZSBjYWxsIGlzIHRvIHVwZGF0ZSB0aGUgY2FjaGUgYW5kIHRoZSBvdGhlciBpcyB0byByZXR1cm4gdGhlIGRhdGEgdGhhdCB0aGUgdXNlciByZXF1ZXN0ZWRcbiAgICAvLyBTdWJzZXF1ZW50IGNhbGxzIHdpbGwgYnlwYXNzIHRoZSBBUEkgYW5kIHJldHVybmVkIGNhY2hlZCBkYXRhIHVudGlsIGl0IGV4cGlyZXNcblxuICAgIGNvbnN0IG9ic2VydmFibGUkID0gdGhpcy5odHRwLmdldDxVc2VyW10+KGAke3RoaXMuY29uZmlnLmFwaVVybH0vJHtpbmNsdWRlUGhvdG99LyR7aW5jbHVkZURpc2FibGVkfS8ke3BhcmVudE9VID8/ICcnfWApO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLmNhY2hpbmc/LmVuYWJsZWQpIHtcbiAgICAgIGlmICh0aGlzLmNhY2hlRXhwaXJlZCkge1xuICAgICAgICAvLyBHZXQgdGhlIGRhdGEgYW5kIGNhY2hlIGl0XG4gICAgICAgIG9ic2VydmFibGUkLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0ge1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGxhc3RVcGRhdGU6IG1vbWVudCgpXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5sb2dnaW5nPy5kYXRhQ2FjaGVkKSB7XG4gICAgICAgICAgICBjb25zdCBsaWZlTWludXRlcyA9IHRoaXMuY29uZmlnLmNhY2hpbmc/LmxpZmVNaW51dGVzID8/IHRoaXMuZGVmYXVsdENhY2hlTGlmZU1pbnV0ZXM7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRGF0YSBjYWNoZWQgZm9yICR7bGlmZU1pbnV0ZXN9IG1pbnV0ZXNgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQ2FjaGUgZXhpc3RzIGFuZCBoYXNuJ3QgZXhwaXJlZCB5ZXRcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmxvZ2dpbmc/LmNhY2hlZERhdGFSZXR1cm5lZCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdSZXR1cm5pbmcgY2FjaGVkIHVzZXJzJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YodGhpcy5jYWNoZSEuZGF0YSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2FjaGUgaXMgZWl0aGVyIGRpc2FibGVkIG9yIGV4cGlyZWQsIHJldHVybiBkYXRhIGZyb20gQVBJXG4gICAgaWYgKHRoaXMuY29uZmlnLmxvZ2dpbmc/LmZyZXNoRGF0YVJldHVybmVkKSB7XG4gICAgICBjb25zb2xlLmxvZygnUmV0dXJuaW5nIGZyZXNoIHVzZXJzJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9ic2VydmFibGUkO1xuICB9XG5cbiAgZ2V0VXNlcihhY2NvdW50TmFtZTogc3RyaW5nLCBpbmNsdWRlUGhvdG8gPSBmYWxzZSk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFVzZXI+KGAke3RoaXMuY29uZmlnLmFwaVVybH0vbmFtZS8ke2FjY291bnROYW1lfS8ke2luY2x1ZGVQaG90b31gKTtcbiAgfVxuXG4gIGNsZWFyQ2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5jYWNoZSA9IG51bGw7XG5cbiAgICBpZiAodGhpcy5jb25maWcubG9nZ2luZz8uY2FjaGVDbGVhcmVkKSB7XG4gICAgICBjb25zb2xlLmxvZygnQ2FjaGUgY2xlYXJlZCcpO1xuICAgIH1cbiAgfVxufVxuIl19
|