@sumaris-net/ngx-components 18.23.12 → 18.23.14
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/esm2022/src/app/admin/users/person.service.mjs +139 -2
- package/esm2022/src/app/admin/users/person.validator.mjs +3 -3
- package/esm2022/src/app/admin/users/users.mjs +3 -3
- package/esm2022/src/app/core/account/account.page.mjs +4 -4
- package/esm2022/src/app/core/menu/menu.component.mjs +2 -2
- package/esm2022/src/app/core/services/account.service.mjs +34 -11
- package/esm2022/src/app/core/services/model/account.model.mjs +1 -1
- package/esm2022/src/app/core/services/model/person.model.mjs +2 -2
- package/esm2022/src/app/core/services/validator/account.validator.mjs +2 -1
- package/esm2022/src/app/social/message/message.service.mjs +2 -2
- package/fesm2022/sumaris-net.ngx-components.mjs +70 -32
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/admin/users/person.service.d.ts +19 -1
- package/src/app/core/account/account.page.d.ts +1 -1
- package/src/app/core/menu/menu.service.d.ts +1 -1
- package/src/app/core/services/account.service.d.ts +28 -6
- package/src/app/core/services/model/account.model.d.ts +1 -1
- package/src/app/core/services/model/person.model.d.ts +1 -1
- package/src/assets/manifest.json +1 -1
- package/esm2022/src/app/admin/users/testing/person.testing.sevice.mjs +0 -128
- package/src/app/admin/users/testing/person.testing.sevice.d.ts +0 -17
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import { Directive, inject, InjectionToken } from '@angular/core';
|
|
1
|
+
import { Directive, Injectable, inject, Inject, InjectionToken, Optional } from '@angular/core';
|
|
2
|
+
import { Person } from '../../core/services/model/person.model';
|
|
2
3
|
import { StatusIds } from '../../core/services/model/model.enum';
|
|
4
|
+
import { PersonFilter } from './person.filter';
|
|
3
5
|
import { BaseEntityService, } from '../../core/services/base-entity-service.class';
|
|
4
6
|
import { isNotEmptyArray } from '../../shared/functions';
|
|
5
7
|
import { NetworkService } from '../../core/services/network.service';
|
|
6
8
|
import { EntitiesStorage } from '../../core/services/storage/entities-storage.service';
|
|
7
9
|
import { ENVIRONMENT } from '../../../environments/environment.class';
|
|
10
|
+
import { gql } from 'apollo-angular';
|
|
8
11
|
import * as i0 from "@angular/core";
|
|
9
12
|
import * as i1 from "../../core/graphql/graphql.service";
|
|
10
13
|
import * as i2 from "../../core/services/platform.service";
|
|
11
14
|
export const APP_PERSON_SERVICE = new InjectionToken('PersonService');
|
|
15
|
+
export const APP_PERSON_SERVICE_OPTIONS = new InjectionToken('PersonServiceOptions');
|
|
12
16
|
// This class is under GPLv3 license
|
|
13
17
|
export class AbstractPersonService extends BaseEntityService {
|
|
14
18
|
dataType;
|
|
@@ -86,4 +90,137 @@ export class AbstractPersonService extends BaseEntityService {
|
|
|
86
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractPersonService, decorators: [{
|
|
87
91
|
type: Directive
|
|
88
92
|
}], ctorParameters: () => [{ type: i1.GraphqlService }, { type: i2.PlatformService }, { type: undefined }, { type: undefined }, { type: undefined }] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2FkbWluL3VzZXJzL3BlcnNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFZakUsT0FBTyxFQUlMLGlCQUFpQixHQUVsQixNQUFNLCtDQUErQyxDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7OztBQUV0RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBMkIsZUFBZSxDQUFDLENBQUM7QUFvQ2hHLG9DQUFvQztBQUVwQyxNQUFNLE9BQWdCLHFCQVVwQixTQUFRLGlCQUF1QztJQVNuQztJQUNBO0lBQ0E7SUFSRixPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLFFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFN0MsWUFDRSxPQUF1QixFQUN2QixRQUF5QixFQUNmLFFBQXFCLEVBQ3JCLFVBQXVCLEVBQ3ZCLE9BQVU7UUFFcEIsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUo5QyxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLGVBQVUsR0FBVixVQUFVLENBQWE7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBRztRQUlw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LENBQUMsTUFBTSxFQUFFLElBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQWMsRUFBRSxJQUErQjtRQUNoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBVyxFQUFFLElBQVcsRUFBRSxFQUFFLE1BQU0sRUFBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFJLElBQVksRUFBRSxDQUFDLENBQUM7UUFDL0gsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsQ0FBQyxDQUFTLENBQUMsQ0FBQyxDQUFFLEVBQUUsTUFBTSxFQUFVLENBQUM7UUFDOUUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRVMsUUFBUSxDQUFDLE1BQWU7UUFDaEMsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7d0dBeEhtQixxQkFBcUI7NEZBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEMUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JhcGhxbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2dyYXBocWwvZ3JhcGhxbC5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNvbiB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvcGVyc29uLm1vZGVsJztcbmltcG9ydCB7IFN0YXR1c0lkcyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvbW9kZWwuZW51bSc7XG5pbXBvcnQgeyBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQge1xuICBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9ucyxcbiAgRW50aXRpZXNTZXJ2aWNlV2F0Y2hPcHRpb25zLFxuICBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnMsXG4gIElFbnRpdGllc1NlcnZpY2UsXG4gIExvYWRSZXN1bHQsXG4gIFN1Z2dlc3RTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNvbkZpbHRlciB9IGZyb20gJy4vcGVyc29uLmZpbHRlcic7XG5pbXBvcnQge1xuICBCYXNlRW50aXR5R3JhcGhxbE11dGF0aW9ucyxcbiAgQmFzZUVudGl0eUdyYXBocWxRdWVyaWVzLFxuICBCYXNlRW50aXR5R3JhcGhxbFN1YnNjcmlwdGlvbnMsXG4gIEJhc2VFbnRpdHlTZXJ2aWNlLFxuICBCYXNlRW50aXR5U2VydmljZU9wdGlvbnMsXG59IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvYmFzZS1lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBJU3RhcnRhYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9zdGFydGFibGUtc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBpc05vdEVtcHR5QXJyYXkgfSBmcm9tICcuLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW50aXRpZXNTdG9yYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9zdG9yYWdlL2VudGl0aWVzLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBFTlZJUk9OTUVOVCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBBUFBfUEVSU09OX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVBlcnNvblNlcnZpY2U8YW55LCBhbnk+PignUGVyc29uU2VydmljZScpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElQZXJzb25TZXJ2aWNlPFxuICBFIGV4dGVuZHMgUGVyc29uPEU+ID0gUGVyc29uPGFueT4sXG4gIEYgZXh0ZW5kcyBQZXJzb25GaWx0ZXIgPSBQZXJzb25GaWx0ZXIsXG4gIElEID0gbnVtYmVyLFxuICBXTyBleHRlbmRzIEVudGl0aWVzU2VydmljZVdhdGNoT3B0aW9uczxFPiA9IEVudGl0aWVzU2VydmljZVdhdGNoT3B0aW9uczxFPixcbiAgTE8gZXh0ZW5kcyBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9uczxFPiA9IEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zPEU+LFxuPiBleHRlbmRzIElFbnRpdGllc1NlcnZpY2U8RSwgRiwgV08+LFxuICAgIFN1Z2dlc3RTZXJ2aWNlPEUsIEY+LFxuICAgIElTdGFydGFibGVTZXJ2aWNlIHtcbiAgbG9hZEFsbChcbiAgICBvZmZzZXQ6IG51bWJlcixcbiAgICBzaXplOiBudW1iZXIsXG4gICAgc29ydEJ5Pzoga2V5b2YgUGVyc29uIHwgc3RyaW5nLFxuICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uLFxuICAgIGZpbHRlcj86IFBhcnRpYWw8UGVyc29uRmlsdGVyPixcbiAgICBvcHRzPzogTE8gJiB7XG4gICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgfVxuICApOiBQcm9taXNlPExvYWRSZXN1bHQ8UGVyc29uPj47XG5cbiAgbG9hZEJ5SWQoaWQ6IG51bWJlciwgb3B0cz86IEVudGl0eVNlcnZpY2VMb2FkT3B0aW9ucyk6IFByb21pc2U8UGVyc29uPjtcblxuICBsb2FkQnlQdWJrZXkocHVia2V5OiBzdHJpbmcsIG9wdHM/OiBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnMpOiBQcm9taXNlPFBlcnNvbj47XG5cbiAgY291bnRBbGwoZmlsdGVyPzogUGFydGlhbDxGPiwgb3B0cz86IExPKTogUHJvbWlzZTxudW1iZXI+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFic3RyYWN0UGVyc29uU2VydmljZU9wdGlvbnM8XG4gIFQgZXh0ZW5kcyBQZXJzb248YW55PixcbiAgUSBleHRlbmRzIEJhc2VFbnRpdHlHcmFwaHFsUXVlcmllcyA9IEJhc2VFbnRpdHlHcmFwaHFsUXVlcmllcyxcbiAgTSBleHRlbmRzIEJhc2VFbnRpdHlHcmFwaHFsTXV0YXRpb25zID0gQmFzZUVudGl0eUdyYXBocWxNdXRhdGlvbnMsXG4gIFMgZXh0ZW5kcyBCYXNlRW50aXR5R3JhcGhxbFN1YnNjcmlwdGlvbnMgPSBCYXNlRW50aXR5R3JhcGhxbFN1YnNjcmlwdGlvbnMsXG4+IGV4dGVuZHMgQmFzZUVudGl0eVNlcnZpY2VPcHRpb25zPFQsIG51bWJlciwgUSwgTSwgUz4ge31cblxuLy8gVGhpcyBjbGFzcyBpcyB1bmRlciBHUEx2MyBsaWNlbnNlXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFBlcnNvblNlcnZpY2U8XG4gICAgRSBleHRlbmRzIFBlcnNvbjxFPiA9IFBlcnNvbjxhbnk+LFxuICAgIEYgZXh0ZW5kcyBQZXJzb25GaWx0ZXI8RiwgRT4gPSBQZXJzb25GaWx0ZXI8YW55LCBFPixcbiAgICBRIGV4dGVuZHMgQmFzZUVudGl0eUdyYXBocWxRdWVyaWVzID0gQmFzZUVudGl0eUdyYXBocWxRdWVyaWVzLFxuICAgIE0gZXh0ZW5kcyBCYXNlRW50aXR5R3JhcGhxbE11dGF0aW9ucyA9IEJhc2VFbnRpdHlHcmFwaHFsTXV0YXRpb25zLFxuICAgIFMgZXh0ZW5kcyBCYXNlRW50aXR5R3JhcGhxbFN1YnNjcmlwdGlvbnMgPSBCYXNlRW50aXR5R3JhcGhxbFN1YnNjcmlwdGlvbnMsXG4gICAgV08gZXh0ZW5kcyBFbnRpdGllc1NlcnZpY2VXYXRjaE9wdGlvbnM8RT4gPSBFbnRpdGllc1NlcnZpY2VXYXRjaE9wdGlvbnM8RT4sXG4gICAgTE8gZXh0ZW5kcyBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9uczxFPiA9IEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zPEU+LFxuICAgIE8gZXh0ZW5kcyBBYnN0cmFjdFBlcnNvblNlcnZpY2VPcHRpb25zPEUsIFEsIE0sIFM+ID0gQWJzdHJhY3RQZXJzb25TZXJ2aWNlT3B0aW9uczxFLCBRLCBNLCBTPixcbiAgPlxuICBleHRlbmRzIEJhc2VFbnRpdHlTZXJ2aWNlPEUsIEYsIG51bWJlciwgV08sIExPPlxuICBpbXBsZW1lbnRzIElQZXJzb25TZXJ2aWNlPEUsIEY+XG57XG4gIHByb3RlY3RlZCBuZXR3b3JrID0gaW5qZWN0KE5ldHdvcmtTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGVudGl0aWVzID0gaW5qZWN0KEVudGl0aWVzU3RvcmFnZSk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGdyYXBocWw6IEdyYXBocWxTZXJ2aWNlLFxuICAgIHBsYXRmb3JtOiBQbGF0Zm9ybVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGRhdGFUeXBlOiBuZXcgKCkgPT4gRSxcbiAgICBwcm90ZWN0ZWQgZmlsdGVyVHlwZTogbmV3ICgpID0+IEYsXG4gICAgcHJvdGVjdGVkIG9wdGlvbnM6IE9cbiAgKSB7XG4gICAgc3VwZXIoZ3JhcGhxbCwgcGxhdGZvcm0sIGRhdGFUeXBlLCBmaWx0ZXJUeXBlLCBvcHRpb25zKTtcblxuICAgIC8vIGZvciBERVYgb25seSAtLS0tLVxuICAgIHRoaXMuX2RlYnVnID0gIWluamVjdChFTlZJUk9OTUVOVCkucHJvZHVjdGlvbjtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGwoXG4gICAgb2Zmc2V0OiBudW1iZXIsXG4gICAgc2l6ZTogbnVtYmVyLFxuICAgIHNvcnRCeT86IGtleW9mIEUgfCBzdHJpbmcsXG4gICAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24sXG4gICAgZmlsdGVyPzogUGFydGlhbDxGPixcbiAgICBvcHRzPzogRW50aXRpZXNTZXJ2aWNlTG9hZE9wdGlvbnMgJiB7IGRlYnVnPzogYm9vbGVhbiB9XG4gICk6IFByb21pc2U8TG9hZFJlc3VsdDxFPj4ge1xuICAgIGNvbnN0IG9mZmxpbmUgPSB0aGlzLm5ldHdvcmsub2ZmbGluZSAmJiAoIW9wdHMgfHwgb3B0cy5mZXRjaFBvbGljeSAhPT0gJ25ldHdvcmstb25seScpO1xuICAgIGlmIChvZmZsaW5lKSB7XG4gICAgICByZXR1cm4gdGhpcy5sb2FkQWxsTG9jYWxseShvZmZzZXQsIHNpemUsIHNvcnRCeSBhcyBzdHJpbmcsIHNvcnREaXJlY3Rpb24sIGZpbHRlciwgb3B0cyk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5sb2FkQWxsKG9mZnNldCwgc2l6ZSwgc29ydEJ5IGFzIGFueSwgc29ydERpcmVjdGlvbiwgZmlsdGVyLCBvcHRzIGFzIGFueSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbG9hZEFsbExvY2FsbHkoXG4gICAgb2Zmc2V0OiBudW1iZXIsXG4gICAgc2l6ZTogbnVtYmVyLFxuICAgIHNvcnRCeT86IHN0cmluZyxcbiAgICBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICBmaWx0ZXI/OiBQYXJ0aWFsPEY+LFxuICAgIG9wdHM/OiBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9ucyAmIHsgZGVidWc/OiBib29sZWFuIH1cbiAgKTogUHJvbWlzZTxMb2FkUmVzdWx0PEU+PiB7XG4gICAgZmlsdGVyID0gdGhpcy5hc0ZpbHRlcihmaWx0ZXIpO1xuXG4gICAgY29uc3QgdmFyaWFibGVzID0ge1xuICAgICAgb2Zmc2V0OiBvZmZzZXQgfHwgMCxcbiAgICAgIHNpemU6IHNpemUgfHwgMTAwLFxuICAgICAgc29ydEJ5OiBzb3J0QnkgfHwgKHRoaXMuZGVmYXVsdFNvcnRCeSBhcyBzdHJpbmcpLFxuICAgICAgc29ydERpcmVjdGlvbjogc29ydERpcmVjdGlvbiB8fCB0aGlzLmRlZmF1bHRTb3J0RGlyZWN0aW9uLFxuICAgICAgZmlsdGVyOiAoZmlsdGVyIGFzIGFueSkgJiYgKGZpbHRlciBhcyBhbnkpLmFzRmlsdGVyRm4gPyAoZmlsdGVyIGFzIGFueSkuYXNGaWx0ZXJGbigpIDogZmlsdGVyLFxuICAgIH07XG5cbiAgICBjb25zdCB0eXBlbmFtZSA9ICh0aGlzLmRhdGFUeXBlIGFzIGFueSkuVFlQRU5BTUUgfHwgbmV3IHRoaXMuZGF0YVR5cGUoKS5fX3R5cGVuYW1lIHx8ICdQZXJzb25WTyc7XG4gICAgY29uc3QgeyBkYXRhLCB0b3RhbCB9ID0gYXdhaXQgdGhpcy5lbnRpdGllcy5sb2FkQWxsPEU+KHR5cGVuYW1lLCB2YXJpYWJsZXMpO1xuXG4gICAgY29uc3QgZW50aXRpZXMgPSB0aGlzLmZyb21PYmplY3RzKGRhdGEsIG9wdHMgYXMgYW55KTtcbiAgICBjb25zdCByZXM6IExvYWRSZXN1bHQ8RT4gPSB7IGRhdGE6IGVudGl0aWVzLCB0b3RhbCB9IGFzIGFueTtcblxuICAgIC8vIEFkZCBmZXRjaCBtb3JlIGZ1bmN0aW9uXG4gICAgY29uc3QgbmV4dE9mZnNldCA9IChvZmZzZXQgfHwgMCkgKyBlbnRpdGllcy5sZW5ndGg7XG4gICAgaWYgKG5leHRPZmZzZXQgPCB0b3RhbCkge1xuICAgICAgcmVzLmZldGNoTW9yZSA9ICgpID0+IHRoaXMubG9hZEFsbExvY2FsbHkobmV4dE9mZnNldCwgc2l6ZSwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uLCBmaWx0ZXIsIG9wdHMpO1xuICAgIH1cblxuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBhc3luYyBzdWdnZXN0KFxuICAgIHZhbHVlOiBhbnksXG4gICAgZmlsdGVyPzogUGFydGlhbDxGPixcbiAgICBzb3J0Qnk/OiBrZXlvZiBFIHwgc3RyaW5nLFxuICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uLFxuICAgIG9wdHM/OiBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9uc1xuICApOiBQcm9taXNlPExvYWRSZXN1bHQ8RT4+IHtcbiAgICBpZiAoKHZhbHVlIGFzIGFueSk/LmlkICE9IG51bGwpIHJldHVybiB7IGRhdGE6IFt2YWx1ZV0gfSBhcyBhbnk7XG4gICAgdmFsdWUgPSAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZSAhPT0gJyonICYmIHZhbHVlKSB8fCB1bmRlZmluZWQ7XG4gICAgY29uc3QgZiA9IChmaWx0ZXIgYXMgYW55KSB8fCB7fTtcbiAgICBzb3J0QnkgPSAoc29ydEJ5IGFzIGFueSkgfHwgZi5zZWFyY2hBdHRyaWJ1dGUgfHwgKGYuc2VhcmNoQXR0cmlidXRlcyAmJiBmLnNlYXJjaEF0dHJpYnV0ZXNbMF0pO1xuICAgIHJldHVybiB0aGlzLmxvYWRBbGwoXG4gICAgICAwLFxuICAgICAgIXZhbHVlID8gMzAgOiAxMCxcbiAgICAgIHNvcnRCeSxcbiAgICAgIHNvcnREaXJlY3Rpb24sXG4gICAgICB7XG4gICAgICAgIC4uLihmaWx0ZXIgYXMgYW55KSxcbiAgICAgICAgc2VhcmNoVGV4dDogdmFsdWUgYXMgc3RyaW5nLFxuICAgICAgICBzdGF0dXNJZHM6IChmICYmIGYuc3RhdHVzSWRzKSB8fCBbU3RhdHVzSWRzLkVOQUJMRSwgU3RhdHVzSWRzLlRFTVBPUkFSWV0sXG4gICAgICAgIHVzZXJQcm9maWxlczogZiAmJiBmLnVzZXJQcm9maWxlcyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHdpdGhUb3RhbDogdHJ1ZSAvKiBuZWVkIGJ5IGF1dG9jb21wbGV0ZSAqLyxcbiAgICAgICAgLi4uKG9wdHMgYXMgYW55KSxcbiAgICAgIH0gYXMgYW55XG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRCeUlkKGlkOiBudW1iZXIsIG9wdHM/OiBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnMpOiBQcm9taXNlPEU+IHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMubG9hZEFsbCgwLCAxLCBudWxsIGFzIGFueSwgbnVsbCBhcyBhbnksIHsgaW5jbHVkZWRJZHM6IFtpZF0gfSBhcyBhbnksIHsgd2l0aFRvdGFsOiBmYWxzZSwgLi4uKG9wdHMgYXMgYW55KSB9KTtcbiAgICBjb25zdCBzb3VyY2UgPSBpc05vdEVtcHR5QXJyYXkoZGF0YSkgPyAoZGF0YVswXSBhcyBhbnkpIDogKHsgaWQgfSBhcyBhbnkpO1xuICAgIHJldHVybiB0aGlzLmZyb21PYmplY3Qoc291cmNlLCBvcHRzIGFzIGFueSk7XG4gIH1cblxuICBhc3luYyBsb2FkQnlQdWJrZXkocHVia2V5OiBzdHJpbmcsIG9wdHM/OiBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnMpOiBQcm9taXNlPEU+IHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMubG9hZEFsbCgwLCAxLCBudWxsIGFzIGFueSwgbnVsbCBhcyBhbnksIHsgcHVia2V5IH0gYXMgYW55LCB7IHdpdGhUb3RhbDogZmFsc2UsIC4uLihvcHRzIGFzIGFueSkgfSk7XG4gICAgY29uc3Qgc291cmNlID0gaXNOb3RFbXB0eUFycmF5KGRhdGEpID8gKGRhdGFbMF0gYXMgYW55KSA6ICh7IHB1YmtleSB9IGFzIGFueSk7XG4gICAgcmV0dXJuIHRoaXMuZnJvbU9iamVjdChzb3VyY2UsIG9wdHMgYXMgYW55KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc09iamVjdChzb3VyY2U6IEUgfCBhbnkpOiBhbnkge1xuICAgIHJldHVybiBzdXBlci5hc09iamVjdChzb3VyY2UpO1xuICB9XG59XG4iXX0=
|
|
93
|
+
/* ------------------------------------
|
|
94
|
+
* Default GraphQL (from former testing service)
|
|
95
|
+
* ------------------------------------*/
|
|
96
|
+
export const PersonFragments = {
|
|
97
|
+
lightPerson: gql `
|
|
98
|
+
fragment LightPersonFragment on PersonVO {
|
|
99
|
+
id
|
|
100
|
+
firstName
|
|
101
|
+
lastName
|
|
102
|
+
avatar
|
|
103
|
+
department {
|
|
104
|
+
id
|
|
105
|
+
label
|
|
106
|
+
name
|
|
107
|
+
__typename
|
|
108
|
+
}
|
|
109
|
+
__typename
|
|
110
|
+
}
|
|
111
|
+
`,
|
|
112
|
+
person: gql `
|
|
113
|
+
fragment PersonFragment on PersonVO {
|
|
114
|
+
id
|
|
115
|
+
firstName
|
|
116
|
+
lastName
|
|
117
|
+
email
|
|
118
|
+
pubkey
|
|
119
|
+
avatar
|
|
120
|
+
statusId
|
|
121
|
+
updateDate
|
|
122
|
+
creationDate
|
|
123
|
+
profiles
|
|
124
|
+
username
|
|
125
|
+
usernameExtranet
|
|
126
|
+
department {
|
|
127
|
+
id
|
|
128
|
+
label
|
|
129
|
+
name
|
|
130
|
+
logo
|
|
131
|
+
__typename
|
|
132
|
+
}
|
|
133
|
+
__typename
|
|
134
|
+
}
|
|
135
|
+
`,
|
|
136
|
+
personFilter: gql `
|
|
137
|
+
fragment PersonFilterFragment on PersonFilterVO {
|
|
138
|
+
email
|
|
139
|
+
pubkey
|
|
140
|
+
searchText
|
|
141
|
+
statusIds
|
|
142
|
+
userProfiles
|
|
143
|
+
includedIds
|
|
144
|
+
excludedIds
|
|
145
|
+
searchAttribute
|
|
146
|
+
searchAttributes
|
|
147
|
+
}
|
|
148
|
+
`,
|
|
149
|
+
};
|
|
150
|
+
const DefaultPersonQueries = {
|
|
151
|
+
loadAll: gql `
|
|
152
|
+
query Persons($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput) {
|
|
153
|
+
data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection) {
|
|
154
|
+
...PersonFragment
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
${PersonFragments.person}
|
|
158
|
+
`,
|
|
159
|
+
loadAllWithTotal: gql `
|
|
160
|
+
query PersonsWithTotal($offset: Int, $size: Int, $sortBy: String, $sortDirection: String, $filter: PersonFilterVOInput) {
|
|
161
|
+
data: persons(filter: $filter, offset: $offset, size: $size, sortBy: $sortBy, sortDirection: $sortDirection) {
|
|
162
|
+
...PersonFragment
|
|
163
|
+
}
|
|
164
|
+
total: personsCount(filter: $filter)
|
|
165
|
+
}
|
|
166
|
+
${PersonFragments.person}
|
|
167
|
+
`,
|
|
168
|
+
};
|
|
169
|
+
const DefaultPersonMutations = {
|
|
170
|
+
saveAll: gql `
|
|
171
|
+
mutation savePersons($data: [PersonVOInput]) {
|
|
172
|
+
data: savePersons(persons: $data) {
|
|
173
|
+
...PersonFragment
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
${PersonFragments.person}
|
|
177
|
+
`,
|
|
178
|
+
deleteAll: gql `
|
|
179
|
+
mutation deletePersons($ids: [Int]) {
|
|
180
|
+
deletePersons(ids: $ids)
|
|
181
|
+
}
|
|
182
|
+
`,
|
|
183
|
+
};
|
|
184
|
+
export class PersonService extends AbstractPersonService {
|
|
185
|
+
constructor(graphql, platform, options) {
|
|
186
|
+
super(graphql, platform, Person, PersonFilter, {
|
|
187
|
+
queries: { ...DefaultPersonQueries, ...(options?.queries || {}) },
|
|
188
|
+
mutations: { ...DefaultPersonMutations, ...(options?.mutations || {}) },
|
|
189
|
+
subscriptions: options?.subscriptions,
|
|
190
|
+
defaultSortBy: 'lastName',
|
|
191
|
+
defaultSortDirection: 'asc',
|
|
192
|
+
watchQueriesDeletePolicy: 'refetch-queries',
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
/* -- protected methods -- */
|
|
196
|
+
asObject(source) {
|
|
197
|
+
if (!source)
|
|
198
|
+
return undefined;
|
|
199
|
+
if (!(source instanceof Person)) {
|
|
200
|
+
source = Person.fromObject(source);
|
|
201
|
+
}
|
|
202
|
+
const target = source.asObject();
|
|
203
|
+
// Not known in server GraphQL schema
|
|
204
|
+
delete target.mainProfile;
|
|
205
|
+
target.department = source.department?.asObject();
|
|
206
|
+
return target;
|
|
207
|
+
}
|
|
208
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PersonService, deps: [{ token: i1.GraphqlService }, { token: i2.PlatformService }, { token: APP_PERSON_SERVICE_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
209
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PersonService, providedIn: 'root' });
|
|
210
|
+
}
|
|
211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PersonService, decorators: [{
|
|
212
|
+
type: Injectable,
|
|
213
|
+
args: [{ providedIn: 'root' }]
|
|
214
|
+
}], ctorParameters: () => [{ type: i1.GraphqlService }, { type: i2.PlatformService }, { type: undefined, decorators: [{
|
|
215
|
+
type: Optional
|
|
216
|
+
}, {
|
|
217
|
+
type: Inject,
|
|
218
|
+
args: [APP_PERSON_SERVICE_OPTIONS]
|
|
219
|
+
}] }] });
|
|
220
|
+
export function providePersonService() {
|
|
221
|
+
return {
|
|
222
|
+
provide: APP_PERSON_SERVICE,
|
|
223
|
+
useExisting: PersonService,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2FkbWluL3VzZXJzL3BlcnNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUUxRyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBV2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBSUwsaUJBQWlCLEdBRWxCLE1BQU0sK0NBQStDLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUVyQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBMkIsZUFBZSxDQUFDLENBQUM7QUEwQ2hHLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUF1QixzQkFBc0IsQ0FBQyxDQUFDO0FBRTNHLG9DQUFvQztBQUVwQyxNQUFNLE9BQWdCLHFCQVVwQixTQUFRLGlCQUF1QztJQVNuQztJQUNBO0lBQ0E7SUFSRixPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLFFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxD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O1lBQ2hDLE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakMscUNBQXFDO1FBQ3JDLE9BQVEsTUFBYyxDQUFDLFdBQVcsQ0FBQztRQUVsQyxNQUFjLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFFM0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt3R0EvQlUsYUFBYSwrRUFJRiwwQkFBMEI7NEdBSnJDLGFBQWEsY0FEQSxNQUFNOzs0RkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUs3QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLDBCQUEwQjs7QUE4QmxELE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBaUI7UUFDZixPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLFdBQVcsRUFBRSxhQUFhO0tBQzNCLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RhYmxlLCBpbmplY3QsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JhcGhxbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2dyYXBocWwvZ3JhcGhxbC5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNvbiB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvcGVyc29uLm1vZGVsJztcbmltcG9ydCB7IFN0YXR1c0lkcyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvbW9kZWwuZW51bSc7XG5pbXBvcnQgeyBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQge1xuICBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9ucyxcbiAgRW50aXRpZXNTZXJ2aWNlV2F0Y2hPcHRpb25zLFxuICBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnMsXG4gIElFbnRpdGllc1NlcnZpY2UsXG4gIExvYWRSZXN1bHQsXG4gIFN1Z2dlc3RTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNvbkZpbHRlciB9IGZyb20gJy4vcGVyc29uLmZpbHRlcic7XG5pbXBvcnQge1xuICBCYXNlRW50aXR5R3JhcGhxbE11dGF0aW9ucyxcbiAgQmFzZUVudGl0eUdyYXBocWxRdWVyaWVzLFxuICBCYXNlRW50aXR5R3JhcGhxbFN1YnNjcmlwdGlvbnMsXG4gIEJhc2VFbnRpdHlTZXJ2aWNlLFxuICBCYXNlRW50aXR5U2VydmljZU9wdGlvbnMsXG59IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvYmFzZS1lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBJU3RhcnRhYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9zdGFydGFibGUtc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBpc05vdEVtcHR5QXJyYXkgfSBmcm9tICcuLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW50aXRpZXNTdG9yYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9zdG9yYWdlL2VudGl0aWVzLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBFTlZJUk9OTUVOVCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XG5pbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5cbmV4cG9ydCBjb25zdCBBUFBfUEVSU09OX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVBlcnNvblNlcnZpY2U8YW55LCBhbnk+PignUGVyc29uU2VydmljZScpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElQZXJzb25TZXJ2aWNlPFxuICBFIGV4dGVuZHMgUGVyc29uPEU+ID0gUGVyc29uPGFueT4sXG4gIEYgZXh0ZW5kcyBQZXJzb25GaWx0ZXIgPSBQZXJzb25GaWx0ZXIsXG4gIElEID0gbnVtYmVyLFxuICBXTyBleHRlbmRzIEVudGl0aWVzU2VydmljZVdhdGNoT3B0aW9uczxFPiA9IEVudGl0aWVzU2VydmljZVdhdGNoT3B0aW9uczxFPixcbiAgTE8gZXh0ZW5kcyBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9uczxFPiA9IEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zPEU+LFxuPiBleHRlbmRzIElFbnRpdGllc1NlcnZpY2U8RSwgRiwgV08+LFxuICAgIFN1Z2dlc3RTZXJ2aWNlPEUsIEY+LFxuICAgIElTdGFydGFibGVTZXJ2aWNlIHtcbiAgbG9hZEFsbChcbiAgICBvZmZzZXQ6IG51bWJlcixcbiAgICBzaXplOiBudW1iZXIsXG4gICAgc29ydEJ5Pzoga2V5b2YgUGVyc29uIHwgc3RyaW5nLFxuICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uLFxuICAgIGZpbHRlcj86IFBhcnRpYWw8UGVyc29uRmlsdGVyPixcbiAgICBvcHRzPzogTE8gJiB7XG4gICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgfVxuICApOiBQcm9taXNlPExvYWRSZXN1bHQ8UGVyc29uPj47XG5cbiAgbG9hZEJ5SWQoaWQ6IG51bWJlciwgb3B0cz86IEVudGl0eVNlcnZpY2VMb2FkT3B0aW9ucyk6IFByb21pc2U8UGVyc29uPjtcblxuICBsb2FkQnlQdWJrZXkocHVia2V5OiBzdHJpbmcsIG9wdHM/OiBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnMpOiBQcm9taXNlPFBlcnNvbj47XG5cbiAgY291bnRBbGwoZmlsdGVyPzogUGFydGlhbDxGPiwgb3B0cz86IExPKTogUHJvbWlzZTxudW1iZXI+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFic3RyYWN0UGVyc29uU2VydmljZU9wdGlvbnM8XG4gIFQgZXh0ZW5kcyBQZXJzb248YW55PixcbiAgUSBleHRlbmRzIEJhc2VFbnRpdHlHcmFwaHFsUXVlcmllcyA9IEJhc2VFbnRpdHlHcmFwaHFsUXVlcmllcyxcbiAgTSBleHRlbmRzIEJhc2VFbnRpdHlHcmFwaHFsTXV0YXRpb25zID0gQmFzZUVudGl0eUdyYXBocWxNdXRhdGlvbnMsXG4gIFMgZXh0ZW5kcyBCYXNlRW50aXR5R3JhcGhxbFN1YnNjcmlwdGlvbnMgPSBCYXNlRW50aXR5R3JhcGhxbFN1YnNjcmlwdGlvbnMsXG4+IGV4dGVuZHMgQmFzZUVudGl0eVNlcnZpY2VPcHRpb25zPFQsIG51bWJlciwgUSwgTSwgUz4ge31cblxuLy8gQWxsb3cgYXBwcyB0byBvdmVycmlkZSBHcmFwaFFMIG9wZXJhdGlvbnMgdXNlZCBieSBQZXJzb25TZXJ2aWNlXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNvblNlcnZpY2VPcHRpb25zIHtcbiAgcXVlcmllcz86IFBhcnRpYWw8QmFzZUVudGl0eUdyYXBocWxRdWVyaWVzPjtcbiAgbXV0YXRpb25zPzogUGFydGlhbDxCYXNlRW50aXR5R3JhcGhxbE11dGF0aW9ucz47XG4gIHN1YnNjcmlwdGlvbnM/OiBQYXJ0aWFsPEJhc2VFbnRpdHlHcmFwaHFsU3Vic2NyaXB0aW9ucz47XG59XG5leHBvcnQgY29uc3QgQVBQX1BFUlNPTl9TRVJWSUNFX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGVyc29uU2VydmljZU9wdGlvbnM+KCdQZXJzb25TZXJ2aWNlT3B0aW9ucycpO1xuXG4vLyBUaGlzIGNsYXNzIGlzIHVuZGVyIEdQTHYzIGxpY2Vuc2VcbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UGVyc29uU2VydmljZTxcbiAgICBFIGV4dGVuZHMgUGVyc29uPEU+ID0gUGVyc29uPGFueT4sXG4gICAgRiBleHRlbmRzIFBlcnNvbkZpbHRlcjxGLCBFPiA9IFBlcnNvbkZpbHRlcjxhbnksIEU+LFxuICAgIFEgZXh0ZW5kcyBCYXNlRW50aXR5R3JhcGhxbFF1ZXJpZXMgPSBCYXNlRW50aXR5R3JhcGhxbFF1ZXJpZXMsXG4gICAgTSBleHRlbmRzIEJhc2VFbnRpdHlHcmFwaHFsTXV0YXRpb25zID0gQmFzZUVudGl0eUdyYXBocWxNdXRhdGlvbnMsXG4gICAgUyBleHRlbmRzIEJhc2VFbnRpdHlHcmFwaHFsU3Vic2NyaXB0aW9ucyA9IEJhc2VFbnRpdHlHcmFwaHFsU3Vic2NyaXB0aW9ucyxcbiAgICBXTyBleHRlbmRzIEVudGl0aWVzU2VydmljZVdhdGNoT3B0aW9uczxFPiA9IEVudGl0aWVzU2VydmljZVdhdGNoT3B0aW9uczxFPixcbiAgICBMTyBleHRlbmRzIEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zPEU+ID0gRW50aXRpZXNTZXJ2aWNlTG9hZE9wdGlvbnM8RT4sXG4gICAgTyBleHRlbmRzIEFic3RyYWN0UGVyc29uU2VydmljZU9wdGlvbnM8RSwgUSwgTSwgUz4gPSBBYnN0cmFjdFBlcnNvblNlcnZpY2VPcHRpb25zPEUsIFEsIE0sIFM+LFxuICA+XG4gIGV4dGVuZHMgQmFzZUVudGl0eVNlcnZpY2U8RSwgRiwgbnVtYmVyLCBXTywgTE8+XG4gIGltcGxlbWVudHMgSVBlcnNvblNlcnZpY2U8RSwgRj5cbntcbiAgcHJvdGVjdGVkIG5ldHdvcmsgPSBpbmplY3QoTmV0d29ya1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgZW50aXRpZXMgPSBpbmplY3QoRW50aXRpZXNTdG9yYWdlKTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgZ3JhcGhxbDogR3JhcGhxbFNlcnZpY2UsXG4gICAgcGxhdGZvcm06IFBsYXRmb3JtU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZGF0YVR5cGU6IG5ldyAoKSA9PiBFLFxuICAgIHByb3RlY3RlZCBmaWx0ZXJUeXBlOiBuZXcgKCkgPT4gRixcbiAgICBwcm90ZWN0ZWQgb3B0aW9uczogT1xuICApIHtcbiAgICBzdXBlcihncmFwaHFsLCBwbGF0Zm9ybSwgZGF0YVR5cGUsIGZpbHRlclR5cGUsIG9wdGlvbnMpO1xuXG4gICAgLy8gZm9yIERFViBvbmx5IC0tLS0tXG4gICAgdGhpcy5fZGVidWcgPSAhaW5qZWN0KEVOVklST05NRU5UKS5wcm9kdWN0aW9uO1xuICB9XG5cbiAgYXN5bmMgbG9hZEFsbChcbiAgICBvZmZzZXQ6IG51bWJlcixcbiAgICBzaXplOiBudW1iZXIsXG4gICAgc29ydEJ5Pzoga2V5b2YgRSB8IHN0cmluZyxcbiAgICBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICBmaWx0ZXI/OiBQYXJ0aWFsPEY+LFxuICAgIG9wdHM/OiBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9ucyAmIHsgZGVidWc/OiBib29sZWFuIH1cbiAgKTogUHJvbWlzZTxMb2FkUmVzdWx0PEU+PiB7XG4gICAgY29uc3Qgb2ZmbGluZSA9IHRoaXMubmV0d29yay5vZmZsaW5lICYmICghb3B0cyB8fCBvcHRzLmZldGNoUG9saWN5ICE9PSAnbmV0d29yay1vbmx5Jyk7XG4gICAgaWYgKG9mZmxpbmUpIHtcbiAgICAgIHJldHVybiB0aGlzLmxvYWRBbGxMb2NhbGx5KG9mZnNldCwgc2l6ZSwgc29ydEJ5IGFzIHN0cmluZywgc29ydERpcmVjdGlvbiwgZmlsdGVyLCBvcHRzKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLmxvYWRBbGwob2Zmc2V0LCBzaXplLCBzb3J0QnkgYXMgYW55LCBzb3J0RGlyZWN0aW9uLCBmaWx0ZXIsIG9wdHMgYXMgYW55KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBsb2FkQWxsTG9jYWxseShcbiAgICBvZmZzZXQ6IG51bWJlcixcbiAgICBzaXplOiBudW1iZXIsXG4gICAgc29ydEJ5Pzogc3RyaW5nLFxuICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uLFxuICAgIGZpbHRlcj86IFBhcnRpYWw8Rj4sXG4gICAgb3B0cz86IEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zICYgeyBkZWJ1Zz86IGJvb2xlYW4gfVxuICApOiBQcm9taXNlPExvYWRSZXN1bHQ8RT4+IHtcbiAgICBmaWx0ZXIgPSB0aGlzLmFzRmlsdGVyKGZpbHRlcik7XG5cbiAgICBjb25zdCB2YXJpYWJsZXMgPSB7XG4gICAgICBvZmZzZXQ6IG9mZnNldCB8fCAwLFxuICAgICAgc2l6ZTogc2l6ZSB8fCAxMDAsXG4gICAgICBzb3J0Qnk6IHNvcnRCeSB8fCAodGhpcy5kZWZhdWx0U29ydEJ5IGFzIHN0cmluZyksXG4gICAgICBzb3J0RGlyZWN0aW9uOiBzb3J0RGlyZWN0aW9uIHx8IHRoaXMuZGVmYXVsdFNvcnREaXJlY3Rpb24sXG4gICAgICBmaWx0ZXI6IChmaWx0ZXIgYXMgYW55KSAmJiAoZmlsdGVyIGFzIGFueSkuYXNGaWx0ZXJGbiA/IChmaWx0ZXIgYXMgYW55KS5hc0ZpbHRlckZuKCkgOiBmaWx0ZXIsXG4gICAgfTtcblxuICAgIGNvbnN0IHR5cGVuYW1lID0gKHRoaXMuZGF0YVR5cGUgYXMgYW55KS5UWVBFTkFNRSB8fCBuZXcgdGhpcy5kYXRhVHlwZSgpLl9fdHlwZW5hbWUgfHwgJ1BlcnNvblZPJztcbiAgICBjb25zdCB7IGRhdGEsIHRvdGFsIH0gPSBhd2FpdCB0aGlzLmVudGl0aWVzLmxvYWRBbGw8RT4odHlwZW5hbWUsIHZhcmlhYmxlcyk7XG5cbiAgICBjb25zdCBlbnRpdGllcyA9IHRoaXMuZnJvbU9iamVjdHMoZGF0YSwgb3B0cyBhcyBhbnkpO1xuICAgIGNvbnN0IHJlczogTG9hZFJlc3VsdDxFPiA9IHsgZGF0YTogZW50aXRpZXMsIHRvdGFsIH0gYXMgYW55O1xuXG4gICAgLy8gQWRkIGZldGNoIG1vcmUgZnVuY3Rpb25cbiAgICBjb25zdCBuZXh0T2Zmc2V0ID0gKG9mZnNldCB8fCAwKSArIGVudGl0aWVzLmxlbmd0aDtcbiAgICBpZiAobmV4dE9mZnNldCA8IHRvdGFsKSB7XG4gICAgICByZXMuZmV0Y2hNb3JlID0gKCkgPT4gdGhpcy5sb2FkQWxsTG9jYWxseShuZXh0T2Zmc2V0LCBzaXplLCBzb3J0QnksIHNvcnREaXJlY3Rpb24sIGZpbHRlciwgb3B0cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIGFzeW5jIHN1Z2dlc3QoXG4gICAgdmFsdWU6IGFueSxcbiAgICBmaWx0ZXI/OiBQYXJ0aWFsPEY+LFxuICAgIHNvcnRCeT86IGtleW9mIEUgfCBzdHJpbmcsXG4gICAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24sXG4gICAgb3B0cz86IEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zXG4gICk6IFByb21pc2U8TG9hZFJlc3VsdDxFPj4ge1xuICAgIGlmICgodmFsdWUgYXMgYW55KT8uaWQgIT0gbnVsbCkgcmV0dXJuIHsgZGF0YTogW3ZhbHVlXSB9IGFzIGFueTtcbiAgICB2YWx1ZSA9ICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlICE9PSAnKicgJiYgdmFsdWUpIHx8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmID0gKGZpbHRlciBhcyBhbnkpIHx8IHt9O1xuICAgIHNvcnRCeSA9IChzb3J0QnkgYXMgYW55KSB8fCBmLnNlYXJjaEF0dHJpYnV0ZSB8fCAoZi5zZWFyY2hBdHRyaWJ1dGVzICYmIGYuc2VhcmNoQXR0cmlidXRlc1swXSk7XG4gICAgcmV0dXJuIHRoaXMubG9hZEFsbChcbiAgICAgIDAsXG4gICAgICAhdmFsdWUgPyAzMCA6IDEwLFxuICAgICAgc29ydEJ5LFxuICAgICAgc29ydERpcmVjdGlvbixcbiAgICAgIHtcbiAgICAgICAgLi4uKGZpbHRlciBhcyBhbnkpLFxuICAgICAgICBzZWFyY2hUZXh0OiB2YWx1ZSBhcyBzdHJpbmcsXG4gICAgICAgIHN0YXR1c0lkczogKGYgJiYgZi5zdGF0dXNJZHMpIHx8IFtTdGF0dXNJZHMuRU5BQkxFLCBTdGF0dXNJZHMuVEVNUE9SQVJZXSxcbiAgICAgICAgdXNlclByb2ZpbGVzOiBmICYmIGYudXNlclByb2ZpbGVzLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgd2l0aFRvdGFsOiB0cnVlIC8qIG5lZWQgYnkgYXV0b2NvbXBsZXRlICovLFxuICAgICAgICAuLi4ob3B0cyBhcyBhbnkpLFxuICAgICAgfSBhcyBhbnlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgbG9hZEJ5SWQoaWQ6IG51bWJlciwgb3B0cz86IEVudGl0eVNlcnZpY2VMb2FkT3B0aW9ucyk6IFByb21pc2U8RT4ge1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5sb2FkQWxsKDAsIDEsIG51bGwgYXMgYW55LCBudWxsIGFzIGFueSwgeyBpbmNsdWRlZElkczogW2lkXSB9IGFzIGFueSwgeyB3aXRoVG90YWw6IGZhbHNlLCAuLi4ob3B0cyBhcyBhbnkpIH0pO1xuICAgIGNvbnN0IHNvdXJjZSA9IGlzTm90RW1wdHlBcnJheShkYXRhKSA/IChkYXRhWzBdIGFzIGFueSkgOiAoeyBpZCB9IGFzIGFueSk7XG4gICAgcmV0dXJuIHRoaXMuZnJvbU9iamVjdChzb3VyY2UsIG9wdHMgYXMgYW55KTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRCeVB1YmtleShwdWJrZXk6IHN0cmluZywgb3B0cz86IEVudGl0eVNlcnZpY2VMb2FkT3B0aW9ucyk6IFByb21pc2U8RT4ge1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5sb2FkQWxsKDAsIDEsIG51bGwgYXMgYW55LCBudWxsIGFzIGFueSwgeyBwdWJrZXkgfSBhcyBhbnksIHsgd2l0aFRvdGFsOiBmYWxzZSwgLi4uKG9wdHMgYXMgYW55KSB9KTtcbiAgICBjb25zdCBzb3VyY2UgPSBpc05vdEVtcHR5QXJyYXkoZGF0YSkgPyAoZGF0YVswXSBhcyBhbnkpIDogKHsgcHVia2V5IH0gYXMgYW55KTtcbiAgICByZXR1cm4gdGhpcy5mcm9tT2JqZWN0KHNvdXJjZSwgb3B0cyBhcyBhbnkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzT2JqZWN0KHNvdXJjZTogRSB8IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHN1cGVyLmFzT2JqZWN0KHNvdXJjZSk7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEZWZhdWx0IEdyYXBoUUwgKGZyb20gZm9ybWVyIHRlc3Rpbmcgc2VydmljZSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5leHBvcnQgY29uc3QgUGVyc29uRnJhZ21lbnRzID0ge1xuICBsaWdodFBlcnNvbjogZ3FsYFxuICAgIGZyYWdtZW50IExpZ2h0UGVyc29uRnJhZ21lbnQgb24gUGVyc29uVk8ge1xuICAgICAgaWRcbiAgICAgIGZpcnN0TmFtZVxuICAgICAgbGFzdE5hbWVcbiAgICAgIGF2YXRhclxuICAgICAgZGVwYXJ0bWVudCB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIG5hbWVcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgYCxcblxuICBwZXJzb246IGdxbGBcbiAgICBmcmFnbWVudCBQZXJzb25GcmFnbWVudCBvbiBQZXJzb25WTyB7XG4gICAgICBpZFxuICAgICAgZmlyc3ROYW1lXG4gICAgICBsYXN0TmFtZVxuICAgICAgZW1haWxcbiAgICAgIHB1YmtleVxuICAgICAgYXZhdGFyXG4gICAgICBzdGF0dXNJZFxuICAgICAgdXBkYXRlRGF0ZVxuICAgICAgY3JlYXRpb25EYXRlXG4gICAgICBwcm9maWxlc1xuICAgICAgdXNlcm5hbWVcbiAgICAgIHVzZXJuYW1lRXh0cmFuZXRcbiAgICAgIGRlcGFydG1lbnQge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICBuYW1lXG4gICAgICAgIGxvZ29cbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgYCxcblxuICBwZXJzb25GaWx0ZXI6IGdxbGBcbiAgICBmcmFnbWVudCBQZXJzb25GaWx0ZXJGcmFnbWVudCBvbiBQZXJzb25GaWx0ZXJWTyB7XG4gICAgICBlbWFpbFxuICAgICAgcHVia2V5XG4gICAgICBzZWFyY2hUZXh0XG4gICAgICBzdGF0dXNJZHNcbiAgICAgIHVzZXJQcm9maWxlc1xuICAgICAgaW5jbHVkZWRJZHNcbiAgICAgIGV4Y2x1ZGVkSWRzXG4gICAgICBzZWFyY2hBdHRyaWJ1dGVcbiAgICAgIHNlYXJjaEF0dHJpYnV0ZXNcbiAgICB9XG4gIGAsXG59O1xuXG5jb25zdCBEZWZhdWx0UGVyc29uUXVlcmllczogQmFzZUVudGl0eUdyYXBocWxRdWVyaWVzID0ge1xuICBsb2FkQWxsOiBncWxgXG4gICAgcXVlcnkgUGVyc29ucygkb2Zmc2V0OiBJbnQsICRzaXplOiBJbnQsICRzb3J0Qnk6IFN0cmluZywgJHNvcnREaXJlY3Rpb246IFN0cmluZywgJGZpbHRlcjogUGVyc29uRmlsdGVyVk9JbnB1dCkge1xuICAgICAgZGF0YTogcGVyc29ucyhmaWx0ZXI6ICRmaWx0ZXIsIG9mZnNldDogJG9mZnNldCwgc2l6ZTogJHNpemUsIHNvcnRCeTogJHNvcnRCeSwgc29ydERpcmVjdGlvbjogJHNvcnREaXJlY3Rpb24pIHtcbiAgICAgICAgLi4uUGVyc29uRnJhZ21lbnRcbiAgICAgIH1cbiAgICB9XG4gICAgJHtQZXJzb25GcmFnbWVudHMucGVyc29ufVxuICBgLFxuXG4gIGxvYWRBbGxXaXRoVG90YWw6IGdxbGBcbiAgICBxdWVyeSBQZXJzb25zV2l0aFRvdGFsKCRvZmZzZXQ6IEludCwgJHNpemU6IEludCwgJHNvcnRCeTogU3RyaW5nLCAkc29ydERpcmVjdGlvbjogU3RyaW5nLCAkZmlsdGVyOiBQZXJzb25GaWx0ZXJWT0lucHV0KSB7XG4gICAgICBkYXRhOiBwZXJzb25zKGZpbHRlcjogJGZpbHRlciwgb2Zmc2V0OiAkb2Zmc2V0LCBzaXplOiAkc2l6ZSwgc29ydEJ5OiAkc29ydEJ5LCBzb3J0RGlyZWN0aW9uOiAkc29ydERpcmVjdGlvbikge1xuICAgICAgICAuLi5QZXJzb25GcmFnbWVudFxuICAgICAgfVxuICAgICAgdG90YWw6IHBlcnNvbnNDb3VudChmaWx0ZXI6ICRmaWx0ZXIpXG4gICAgfVxuICAgICR7UGVyc29uRnJhZ21lbnRzLnBlcnNvbn1cbiAgYCxcbn07XG5cbmNvbnN0IERlZmF1bHRQZXJzb25NdXRhdGlvbnM6IEJhc2VFbnRpdHlHcmFwaHFsTXV0YXRpb25zID0ge1xuICBzYXZlQWxsOiBncWxgXG4gICAgbXV0YXRpb24gc2F2ZVBlcnNvbnMoJGRhdGE6IFtQZXJzb25WT0lucHV0XSkge1xuICAgICAgZGF0YTogc2F2ZVBlcnNvbnMocGVyc29uczogJGRhdGEpIHtcbiAgICAgICAgLi4uUGVyc29uRnJhZ21lbnRcbiAgICAgIH1cbiAgICB9XG4gICAgJHtQZXJzb25GcmFnbWVudHMucGVyc29ufVxuICBgLFxuICBkZWxldGVBbGw6IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVQZXJzb25zKCRpZHM6IFtJbnRdKSB7XG4gICAgICBkZWxldGVQZXJzb25zKGlkczogJGlkcylcbiAgICB9XG4gIGAsXG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFBlcnNvblNlcnZpY2UgZXh0ZW5kcyBBYnN0cmFjdFBlcnNvblNlcnZpY2U8UGVyc29uLCBQZXJzb25GaWx0ZXI+IGltcGxlbWVudHMgSVBlcnNvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBncmFwaHFsOiBHcmFwaHFsU2VydmljZSxcbiAgICBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVBQX1BFUlNPTl9TRVJWSUNFX09QVElPTlMpIG9wdGlvbnM/OiBQZXJzb25TZXJ2aWNlT3B0aW9uc1xuICApIHtcbiAgICBzdXBlcihncmFwaHFsLCBwbGF0Zm9ybSwgUGVyc29uLCBQZXJzb25GaWx0ZXIsIHtcbiAgICAgIHF1ZXJpZXM6IHsgLi4uRGVmYXVsdFBlcnNvblF1ZXJpZXMsIC4uLihvcHRpb25zPy5xdWVyaWVzIHx8IHt9KSB9LFxuICAgICAgbXV0YXRpb25zOiB7IC4uLkRlZmF1bHRQZXJzb25NdXRhdGlvbnMsIC4uLihvcHRpb25zPy5tdXRhdGlvbnMgfHwge30pIH0sXG4gICAgICBzdWJzY3JpcHRpb25zOiBvcHRpb25zPy5zdWJzY3JpcHRpb25zIGFzIGFueSxcbiAgICAgIGRlZmF1bHRTb3J0Qnk6ICdsYXN0TmFtZScsXG4gICAgICBkZWZhdWx0U29ydERpcmVjdGlvbjogJ2FzYycsXG4gICAgICB3YXRjaFF1ZXJpZXNEZWxldGVQb2xpY3k6ICdyZWZldGNoLXF1ZXJpZXMnLFxuICAgIH0pO1xuICB9XG5cbiAgLyogLS0gcHJvdGVjdGVkIG1ldGhvZHMgLS0gKi9cbiAgcHJvdGVjdGVkIGFzT2JqZWN0KHNvdXJjZTogUGVyc29uIHwgYW55KTogYW55IHtcbiAgICBpZiAoIXNvdXJjZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGlmICghKHNvdXJjZSBpbnN0YW5jZW9mIFBlcnNvbikpIHtcbiAgICAgIHNvdXJjZSA9IFBlcnNvbi5mcm9tT2JqZWN0KHNvdXJjZSk7XG4gICAgfVxuICAgIGNvbnN0IHRhcmdldCA9IHNvdXJjZS5hc09iamVjdCgpO1xuXG4gICAgLy8gTm90IGtub3duIGluIHNlcnZlciBHcmFwaFFMIHNjaGVtYVxuICAgIGRlbGV0ZSAodGFyZ2V0IGFzIGFueSkubWFpblByb2ZpbGU7XG5cbiAgICAodGFyZ2V0IGFzIGFueSkuZGVwYXJ0bWVudCA9IHNvdXJjZS5kZXBhcnRtZW50Py5hc09iamVjdCgpO1xuXG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVBlcnNvblNlcnZpY2UoKSB7XG4gIHJldHVybiA8UHJvdmlkZXI+e1xuICAgIHByb3ZpZGU6IEFQUF9QRVJTT05fU0VSVklDRSxcbiAgICB1c2VFeGlzdGluZzogUGVyc29uU2VydmljZSxcbiAgfVxufVxuIl19
|
|
@@ -25,10 +25,10 @@ export class PersonValidatorService extends AppValidatorService {
|
|
|
25
25
|
email: [data?.email || null, Validators.compose([Validators.required, Validators.email])],
|
|
26
26
|
mainProfile: [data?.mainProfile || PersonUtils.getMainProfile(data?.profiles) || 'GUEST', Validators.required],
|
|
27
27
|
statusId: [data?.statusId || StatusIds.TEMPORARY, Validators.required],
|
|
28
|
-
pubkey: [data?.pubkey || null, SharedValidators.pubkey]
|
|
28
|
+
pubkey: [data?.pubkey || null, SharedValidators.pubkey]
|
|
29
29
|
};
|
|
30
30
|
if (opts.withAvatar) {
|
|
31
|
-
formConfig.avatar = [
|
|
31
|
+
formConfig.avatar = [data?.avatar || null];
|
|
32
32
|
}
|
|
33
33
|
if (opts.withUsername) {
|
|
34
34
|
formConfig.username = [(data && data.username) || null, Validators.minLength(2)];
|
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
75
75
|
type: Injectable,
|
|
76
76
|
args: [{ providedIn: 'root' }]
|
|
77
77
|
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.TranslateService }, { type: i3.AccountService }] });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvYWRtaW4vdXNlcnMvcGVyc29uLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBbUMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUdqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7QUFVekYsTUFBTSxPQUFPLHNCQUE2RyxTQUFRLG1CQUdqSTtJQUlhO0lBSFosWUFDRSxXQUErQixFQUMvQixTQUEyQixFQUNqQixjQUE4QjtRQUV4QyxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRnBCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUcxQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBUSxFQUFFLElBQVE7UUFDbkMsSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxNQUFNLFVBQVUsR0FBNkI7WUFDM0MsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ1IsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hCLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsQixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FB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WSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDMUgsQ0FBQztJQUVELDZCQUE2QjtJQUVuQixrQkFBa0IsQ0FBQyxJQUFRO1FBQ25DLE9BQU87WUFDTCxVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsSUFBSTtZQUNsQixvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLEdBQUcsSUFBSTtTQUNSLENBQUM7SUFDSixDQUFDO3dHQXpFVSxzQkFBc0I7NEdBQXRCLHNCQUFzQixjQURULE1BQU07OzRGQUNuQixzQkFBc0I7a0JBRGxDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBlcnNvbiwgUGVyc29uVXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL3BlcnNvbi5tb2RlbCc7XG5pbXBvcnQgeyBTaGFyZWRWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3ZhbGlkYXRvci92YWxpZGF0b3JzJztcbmltcG9ydCB7IFN0YXR1c0lkcyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvbW9kZWwuZW51bSc7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1GaWVsZERlZmluaXRpb24gfSBmcm9tICcuLi8uLi9zaGFyZWQvZm9ybS9maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBBcHBWYWxpZGF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy92YWxpZGF0b3IvYmFzZS52YWxpZGF0b3IuY2xhc3MnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNvblZhbGlkYXRvck9wdGlvbnMge1xuICB3aXRoQXZhdGFyPzogYm9vbGVhbjtcbiAgd2l0aFVzZXJuYW1lPzogYm9vbGVhbjtcbiAgd2l0aFVzZXJuYW1lRXh0cmFuZXQ/OiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFBlcnNvblZhbGlkYXRvclNlcnZpY2U8VCBleHRlbmRzIFBlcnNvbiA9IFBlcnNvbiwgTyBleHRlbmRzIFBlcnNvblZhbGlkYXRvck9wdGlvbnMgPSBQZXJzb25WYWxpZGF0b3JPcHRpb25zPiBleHRlbmRzIEFwcFZhbGlkYXRvclNlcnZpY2U8XG4gIFQsXG4gIE9cbj4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGZvcm1CdWlsZGVyLCB0cmFuc2xhdGUpO1xuICB9XG5cbiAgZ2V0Rm9ybUdyb3VwQ29uZmlnKGRhdGE/OiBULCBvcHRzPzogTyk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIG9wdHMgPSB0aGlzLmZpbGxEZWZhdWx0T3B0aW9ucyhvcHRzKTtcblxuICAgIGNvbnN0IGZvcm1Db25maWc6IHsgW2tleTogc3RyaW5nXTogYW55W10gfSA9IHtcbiAgICAgIGlkOiBbJyddLFxuICAgICAgdXBkYXRlRGF0ZTogWycnXSxcbiAgICAgIGNyZWF0aW9uRGF0ZTogWycnXSxcbiAgICAgIGxhc3ROYW1lOiBbZGF0YT8ubGFzdE5hbWUgfHwgbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyKV0pXSxcbiAgICAgIGZpcnN0TmFtZTogW2RhdGE/LmZpcnN0TmFtZSB8fCBudWxsLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDIpXSldLFxuICAgICAgZW1haWw6IFtkYXRhPy5lbWFpbCB8fCBudWxsLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdKV0sXG4gICAgICBtYWluUHJvZmlsZTogW2RhdGE/Lm1haW5Qcm9maWxlIHx8IFBlcnNvblV0aWxzLmdldE1haW5Qcm9maWxlKGRhdGE/LnByb2ZpbGVzKSB8fCAnR1VFU1QnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHN0YXR1c0lkOiBbZGF0YT8uc3RhdHVzSWQgfHwgU3RhdHVzSWRzLlRFTVBPUkFSWSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBwdWJrZXk6IFtkYXRhPy5wdWJrZXkgfHwgbnVsbCwgU2hhcmVkVmFsaWRhdG9ycy5wdWJrZXldXG4gICAgfTtcblxuICAgIGlmIChvcHRzLndpdGhBdmF0YXIpIHtcbiAgICAgIGZvcm1Db25maWcuYXZhdGFyID0gW2RhdGE/LmF2YXRhciB8fCBudWxsXTtcbiAgICB9XG4gICAgaWYgKG9wdHMud2l0aFVzZXJuYW1lKSB7XG4gICAgICBmb3JtQ29uZmlnLnVzZXJuYW1lID0gWyhkYXRhICYmIGRhdGEudXNlcm5hbWUpIHx8IG51bGwsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDIpXTtcbiAgICB9XG4gICAgaWYgKG9wdHMud2l0aFVzZXJuYW1lRXh0cmFuZXQpIHtcbiAgICAgIGZvcm1Db25maWcudXNlcm5hbWVFeHRyYW5ldCA9IFsoZGF0YSAmJiBkYXRhLnVzZXJuYW1lRXh0cmFuZXQpIHx8IG51bGwsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDIpXTtcbiAgICB9XG5cbiAgICAvLyBBZGQgYWRkaXRpb25hbCBmaWVsZHNcbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlLmFkZGl0aW9uYWxGaWVsZHNcbiAgICAgIC5maWx0ZXIoZmllbGQgPT4gZmllbGQuZXh0cmEucmVnaXN0cmF0aW9uIHx8IGZpZWxkLmV4dHJhLmFjY291bnQpXG4gICAgICAuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgLy9jb25zb2xlLmRlYnVnKFwiW3JlZ2lzdGVyLWZvcm1dIEFkZCBhZGRpdGlvbmFsIGZpZWxkIHtcIiArIGZpZWxkLm5hbWUgKyBcIn0gdG8gZm9ybVwiLCBmaWVsZCk7XG4gICAgICAgIGZvcm1Db25maWdbZmllbGQua2V5XSA9IFsoZGF0YSAmJiBkYXRhW2ZpZWxkLmtleV0pIHx8IG51bGwsIHRoaXMuZ2V0VmFsaWRhdG9ycyhmaWVsZCldO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZm9ybUNvbmZpZztcbiAgfVxuXG4gIGdldFZhbGlkYXRvcnMoZmllbGQ6IEZvcm1GaWVsZERlZmluaXRpb24sIHJlcXVpcmVkPzogYm9vbGVhbik6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yRm5zOiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgcmVxdWlyZWQgPSByZXF1aXJlZCA/PyBmaWVsZC5leHRyYT8uYWNjb3VudD8ucmVxdWlyZWQgPz8gZmFsc2U7XG4gICAgaWYgKHJlcXVpcmVkKSB7XG4gICAgICB2YWxpZGF0b3JGbnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9XG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdlbnRpdHknKSB7XG4gICAgICB2YWxpZGF0b3JGbnMucHVzaChTaGFyZWRWYWxpZGF0b3JzLmVudGl0eSk7XG4gICAgfVxuICAgIGlmIChmaWVsZC50eXBlID09PSAnZW50aXRpZXMnKSB7XG4gICAgICB2YWxpZGF0b3JGbnMucHVzaChTaGFyZWRWYWxpZGF0b3JzLmVudGl0aWVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWRhdG9yRm5zLmxlbmd0aCA/IFZhbGlkYXRvcnMuY29tcG9zZSh2YWxpZGF0b3JGbnMpIDogdmFsaWRhdG9yRm5zLmxlbmd0aCA9PT0gMSA/IHZhbGlkYXRvckZuc1swXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2RzIC0tICovXG5cbiAgcHJvdGVjdGVkIGZpbGxEZWZhdWx0T3B0aW9ucyhvcHRzPzogTyk6IE8ge1xuICAgIHJldHVybiB7XG4gICAgICB3aXRoQXZhdGFyOiB0cnVlLFxuICAgICAgd2l0aFVzZXJuYW1lOiB0cnVlLFxuICAgICAgd2l0aFVzZXJuYW1lRXh0cmFuZXQ6IHRydWUsXG4gICAgICAuLi5vcHRzLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|