@hmcts/rpx-xui-common-lib 2.0.19-upgrade-ld-client → 2.0.20

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.
@@ -2,4 +2,4 @@ export class AnonymousFeatureUser {
2
2
  }
3
3
  export class LoggedInFeatureUser {
4
4
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS11c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvbW9kZWxzL2ZlYXR1cmUtdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sb0JBQW9CO0NBRWhDO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtDQUsvQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBbm9ueW1vdXNGZWF0dXJlVXNlciB7XG4gIHB1YmxpYyBhbm9ueW1vdXM6IHRydWU7XG59XG5cbmV4cG9ydCBjbGFzcyBMb2dnZWRJbkZlYXR1cmVVc2VyIHtcbiAgcHVibGljIGtleTogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIHB1YmxpYyByb2xlczogc3RyaW5nW107XG4gIHB1YmxpYyBvcmdJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBGZWF0dXJlVXNlciA9IEFub255bW91c0ZlYXR1cmVVc2VyIHwgTG9nZ2VkSW5GZWF0dXJlVXNlcjtcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS11c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvbW9kZWxzL2ZlYXR1cmUtdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sb0JBQW9CO0NBRWhDO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtDQU8vQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBbm9ueW1vdXNGZWF0dXJlVXNlciB7XG4gICAgcHVibGljIGFub255bW91czogdHJ1ZTtcbn1cblxuZXhwb3J0IGNsYXNzIExvZ2dlZEluRmVhdHVyZVVzZXIge1xuICAgIHB1YmxpYyBrZXk6IHN0cmluZztcbiAgICBwdWJsaWMgY3VzdG9tOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueSxcbiAgICAgICAgcm9sZXM6IHN0cmluZ1tdLFxuICAgICAgICBvcmdJZDogc3RyaW5nXG4gICAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRmVhdHVyZVVzZXIgPSBBbm9ueW1vdXNGZWF0dXJlVXNlciB8IExvZ2dlZEluRmVhdHVyZVVzZXI7XG4iXX0=
@@ -7,16 +7,16 @@ export class LaunchDarklyService {
7
7
  constructor() {
8
8
  this.ready = new BehaviorSubject(false);
9
9
  this.features = {};
10
- this.context = { kind: 'user', anonymous: true };
10
+ this.user = { anonymous: true };
11
11
  this.clientId = '';
12
12
  }
13
13
  initialize(user = { anonymous: true }, clientId) {
14
14
  this.ready.next(false);
15
- this.context = { kind: 'user', ...user };
15
+ this.user = user;
16
16
  this.clientId = clientId;
17
- this.client = initialize(this.clientId, this.context, {});
17
+ this.client = initialize(this.clientId, this.user, {});
18
18
  this.client.on('ready', () => {
19
- this.client.identify(this.context).then(() => this.ready.next(true));
19
+ this.client.identify(this.user).then(() => this.ready.next(true));
20
20
  });
21
21
  }
22
22
  isEnabled(feature, defaultValue = false) {
@@ -29,7 +29,7 @@ export class LaunchDarklyService {
29
29
  getValue(feature, defaultValue) {
30
30
  if (!this.features.hasOwnProperty(feature)) {
31
31
  this.features[feature] = new BehaviorSubject(defaultValue);
32
- this.ready.pipe(filter((ready) => ready), map(() => this.client.variation(feature, defaultValue))).subscribe((value) => {
32
+ this.ready.pipe(filter(ready => ready), map(() => this.client.variation(feature, defaultValue))).subscribe(value => {
33
33
  this.features[feature].next(value);
34
34
  this.client.on(`change:${feature}`, (val) => {
35
35
  this.features[feature].next(val);
@@ -39,16 +39,16 @@ export class LaunchDarklyService {
39
39
  return this.features[feature].pipe(distinctUntilChanged());
40
40
  }
41
41
  /**
42
- * This method returns an observable that will only get the state of the feature toggle
43
- * once. It calls the LD SDK directly, and should only be used in circumstances where
44
- * only one value should be emitted, that value coming directly from LD. This will likely
45
- * only apply for Guards, and should be used only when absolutely necessary.
46
- * @see getValue for regular usage.
47
- * @param feature string
48
- * @param defaultValue R
49
- */
42
+ * This method returns an observable that will only get the state of the feature toggle
43
+ * once. It calls the LD SDK directly, and should only be used in circumstances where
44
+ * only one value should be emitted, that value coming directly from LD. This will likely
45
+ * only apply for Guards, and should be used only when absolutely necessary.
46
+ * @see getValue for regular usage.
47
+ * @param feature string
48
+ * @param defaultValue R
49
+ */
50
50
  getValueOnce(feature, defaultValue) {
51
- return this.ready.pipe(filter((ready) => ready), map(() => this.client.variation(feature, defaultValue)));
51
+ return this.ready.pipe(filter(ready => ready), map(() => this.client.variation(feature, defaultValue)));
52
52
  }
53
53
  getValueSync(feature, defaultValue) {
54
54
  return this.client.variation(feature, defaultValue);
@@ -62,4 +62,4 @@ export class LaunchDarklyService {
62
62
  providedIn: 'root'
63
63
  }]
64
64
  }], null, null); })();
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWRhcmtseS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvZmVhdHVyZS10b2dnbGUvbGF1bmNoLWRhcmtseS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBdUIsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT25FLE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFLbUIsVUFBSyxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN0RSxhQUFRLEdBQXlDLEVBQUUsQ0FBQztRQUM3RCxZQUFPLEdBQWMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN2RCxhQUFRLEdBQVcsRUFBRSxDQUFDO0tBMEQvQjtJQXhEUSxVQUFVLENBQUMsT0FBb0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsUUFBZ0I7UUFDekUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sU0FBUyxDQUFDLE9BQWUsRUFBRSxlQUF3QixLQUFLO1FBQzdELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBVSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLFFBQVEsQ0FBVSxPQUFlO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBTSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELHFHQUFxRztJQUM5RixRQUFRLENBQUksT0FBZSxFQUFFLFlBQWU7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLGVBQWUsQ0FBSSxZQUFZLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUN4QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQ3hELENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLENBQUMsR0FBTSxFQUFFLEVBQUU7b0JBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ2hDLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7O1NBUUs7SUFDRSxZQUFZLENBQUksT0FBZSxFQUFFLFlBQWU7UUFDckQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDcEIsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFDeEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVksQ0FBSSxPQUFlLEVBQUUsWUFBZTtRQUNyRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN0RCxDQUFDO29GQTlEVSxtQkFBbUI7dUVBQW5CLG1CQUFtQixXQUFuQixtQkFBbUIsbUJBRmxCLE1BQU07O2lGQUVQLG1CQUFtQjtjQUgvQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbml0aWFsaXplLCBMRENsaWVudCwgTERDb250ZXh0IH0gZnJvbSAnbGF1bmNoZGFya2x5LWpzLWNsaWVudC1zZGsnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGZWF0dXJlVXNlciB9IGZyb20gJy4uLy4uL21vZGVscy9mZWF0dXJlLXVzZXInO1xuaW1wb3J0IHsgRmVhdHVyZVRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuL2ZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMYXVuY2hEYXJrbHlTZXJ2aWNlIGltcGxlbWVudHMgRmVhdHVyZVRvZ2dsZVNlcnZpY2Uge1xuICBwcml2YXRlIGNsaWVudDogTERDbGllbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVhZHk6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZlYXR1cmVzOiBSZWNvcmQ8c3RyaW5nLCBCZWhhdmlvclN1YmplY3Q8YW55Pj4gPSB7fTtcbiAgcHJpdmF0ZSBjb250ZXh0OiBMRENvbnRleHQgPSB7IGtpbmQ6ICd1c2VyJywgYW5vbnltb3VzOiB0cnVlIH07XG4gIHByaXZhdGUgY2xpZW50SWQ6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBpbml0aWFsaXplKHVzZXI6IEZlYXR1cmVVc2VyID0geyBhbm9ueW1vdXM6IHRydWUgfSwgY2xpZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVhZHkubmV4dChmYWxzZSk7XG4gICAgdGhpcy5jb250ZXh0ID0geyBraW5kOiAndXNlcicsIC4uLnVzZXIgfTtcbiAgICB0aGlzLmNsaWVudElkID0gY2xpZW50SWQ7XG4gICAgdGhpcy5jbGllbnQgPSBpbml0aWFsaXplKHRoaXMuY2xpZW50SWQsIHRoaXMuY29udGV4dCwge30pO1xuICAgIHRoaXMuY2xpZW50Lm9uKCdyZWFkeScsICgpID0+IHtcbiAgICAgIHRoaXMuY2xpZW50LmlkZW50aWZ5KHRoaXMuY29udGV4dCkudGhlbigoKSA9PiB0aGlzLnJlYWR5Lm5leHQodHJ1ZSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGlzRW5hYmxlZChmZWF0dXJlOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWU8Ym9vbGVhbj4oZmVhdHVyZSwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBcnJheTxSID0gYW55PihmZWF0dXJlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldFZhbHVlPFJbXT4oZmVhdHVyZSwgW10pO1xuICB9XG5cbiAgLy8gTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gYWx3YXlzIGVtaXRzIGl0cyBkZWZhdWx0IHZhbHVlIGZpcnN0LCB3aGljaCBjYW4gbGVhZCB0byB1bmV4cGVjdGVkIHJlc3VsdHNcbiAgcHVibGljIGdldFZhbHVlPFI+KGZlYXR1cmU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgaWYgKCF0aGlzLmZlYXR1cmVzLmhhc093blByb3BlcnR5KGZlYXR1cmUpKSB7XG4gICAgICB0aGlzLmZlYXR1cmVzW2ZlYXR1cmVdID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSPihkZWZhdWx0VmFsdWUpO1xuICAgICAgdGhpcy5yZWFkeS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHJlYWR5KSA9PiByZWFkeSksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmNsaWVudC52YXJpYXRpb24oZmVhdHVyZSwgZGVmYXVsdFZhbHVlKSlcbiAgICAgICkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmZlYXR1cmVzW2ZlYXR1cmVdLm5leHQodmFsdWUpO1xuICAgICAgICB0aGlzLmNsaWVudC5vbihgY2hhbmdlOiR7ZmVhdHVyZX1gLCAodmFsOiBSKSA9PiB7XG4gICAgICAgICAgdGhpcy5mZWF0dXJlc1tmZWF0dXJlXS5uZXh0KHZhbCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZlYXR1cmVzW2ZlYXR1cmVdLnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IHdpbGwgb25seSBnZXQgdGhlIHN0YXRlIG9mIHRoZSBmZWF0dXJlIHRvZ2dsZVxuICAgICAqIG9uY2UuIEl0IGNhbGxzIHRoZSBMRCBTREsgZGlyZWN0bHksIGFuZCBzaG91bGQgb25seSBiZSB1c2VkIGluIGNpcmN1bXN0YW5jZXMgd2hlcmVcbiAgICAgKiBvbmx5IG9uZSB2YWx1ZSBzaG91bGQgYmUgZW1pdHRlZCwgdGhhdCB2YWx1ZSBjb21pbmcgZGlyZWN0bHkgZnJvbSBMRC4gVGhpcyB3aWxsIGxpa2VseVxuICAgICAqIG9ubHkgYXBwbHkgZm9yIEd1YXJkcywgYW5kIHNob3VsZCBiZSB1c2VkIG9ubHkgd2hlbiBhYnNvbHV0ZWx5IG5lY2Vzc2FyeS5cbiAgICAgKiBAc2VlIGdldFZhbHVlIGZvciByZWd1bGFyIHVzYWdlLlxuICAgICAqIEBwYXJhbSBmZWF0dXJlIHN0cmluZ1xuICAgICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgUlxuICAgICAqL1xuICBwdWJsaWMgZ2V0VmFsdWVPbmNlPFI+KGZlYXR1cmU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMucmVhZHkucGlwZShcbiAgICAgIGZpbHRlcigocmVhZHkpID0+IHJlYWR5KSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmNsaWVudC52YXJpYXRpb24oZmVhdHVyZSwgZGVmYXVsdFZhbHVlKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFZhbHVlU3luYzxSPihmZWF0dXJlOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogUik6IFIge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC52YXJpYXRpb24oZmVhdHVyZSwgZGVmYXVsdFZhbHVlKTtcbiAgfVxufVxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWRhcmtseS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvZmVhdHVyZS10b2dnbGUvbGF1bmNoLWRhcmtseS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBVyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPbkUsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQU1xQixVQUFLLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLGFBQVEsR0FBeUMsRUFBRSxDQUFDO1FBQzdELFNBQUksR0FBZ0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDeEMsYUFBUSxHQUFXLEVBQUUsQ0FBQztLQTBEakM7SUF4RFUsVUFBVSxDQUFDLE9BQW9CLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLFFBQWdCO1FBQ3ZFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxTQUFTLENBQUMsT0FBZSxFQUFFLGVBQXdCLEtBQUs7UUFDM0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFVLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sUUFBUSxDQUFVLE9BQWU7UUFDcEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFNLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQscUdBQXFHO0lBQzlGLFFBQVEsQ0FBSSxPQUFlLEVBQUUsWUFBZTtRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksZUFBZSxDQUFJLFlBQVksQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQzFELENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQU0sRUFBRSxFQUFFO29CQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDckMsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM5QixvQkFBb0IsRUFBRSxDQUN6QixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksWUFBWSxDQUFJLE9BQWUsRUFBRSxZQUFlO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQzFELENBQUM7SUFDTixDQUFDO0lBRU0sWUFBWSxDQUFJLE9BQWUsRUFBRSxZQUFlO1FBQ3JELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RELENBQUM7b0ZBL0RRLG1CQUFtQjt1RUFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQixtQkFGaEIsTUFBTTs7aUZBRVQsbUJBQW1CO2NBSC9CLFVBQVU7ZUFBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluaXRpYWxpemUsIExEQ2xpZW50fSBmcm9tICdsYXVuY2hkYXJrbHktanMtY2xpZW50LXNkayc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZlYXR1cmVVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZlYXR1cmUtdXNlcic7XG5pbXBvcnQgeyBGZWF0dXJlVG9nZ2xlU2VydmljZSB9IGZyb20gJy4vZmVhdHVyZS10b2dnbGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTGF1bmNoRGFya2x5U2VydmljZSBpbXBsZW1lbnRzIEZlYXR1cmVUb2dnbGVTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgY2xpZW50OiBMRENsaWVudDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlYWR5OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZlYXR1cmVzOiBSZWNvcmQ8c3RyaW5nLCBCZWhhdmlvclN1YmplY3Q8YW55Pj4gPSB7fTtcbiAgICBwcml2YXRlIHVzZXI6IEZlYXR1cmVVc2VyID0geyBhbm9ueW1vdXM6IHRydWUgfTtcbiAgICBwcml2YXRlIGNsaWVudElkOiBzdHJpbmcgPSAnJztcblxuICAgIHB1YmxpYyBpbml0aWFsaXplKHVzZXI6IEZlYXR1cmVVc2VyID0geyBhbm9ueW1vdXM6IHRydWUgfSwgY2xpZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlYWR5Lm5leHQoZmFsc2UpO1xuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgICB0aGlzLmNsaWVudElkID0gY2xpZW50SWQ7XG4gICAgICAgIHRoaXMuY2xpZW50ID0gaW5pdGlhbGl6ZSh0aGlzLmNsaWVudElkLCB0aGlzLnVzZXIsIHt9KTtcbiAgICAgICAgdGhpcy5jbGllbnQub24oJ3JlYWR5JywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbGllbnQuaWRlbnRpZnkodGhpcy51c2VyKS50aGVuKCgpID0+IHRoaXMucmVhZHkubmV4dCh0cnVlKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0VuYWJsZWQoZmVhdHVyZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZTxib29sZWFuPihmZWF0dXJlLCBkZWZhdWx0VmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBcnJheTxSID0gYW55PihmZWF0dXJlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZTxSW10+KGZlYXR1cmUsIFtdKTtcbiAgICB9XG5cbiAgICAvLyBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBhbHdheXMgZW1pdHMgaXRzIGRlZmF1bHQgdmFsdWUgZmlyc3QsIHdoaWNoIGNhbiBsZWFkIHRvIHVuZXhwZWN0ZWQgcmVzdWx0c1xuICAgIHB1YmxpYyBnZXRWYWx1ZTxSPihmZWF0dXJlOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogUik6IE9ic2VydmFibGU8Uj4ge1xuICAgICAgICBpZiAoIXRoaXMuZmVhdHVyZXMuaGFzT3duUHJvcGVydHkoZmVhdHVyZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZmVhdHVyZXNbZmVhdHVyZV0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFI+KGRlZmF1bHRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnJlYWR5LnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKHJlYWR5ID0+IHJlYWR5KSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5jbGllbnQudmFyaWF0aW9uKGZlYXR1cmUsIGRlZmF1bHRWYWx1ZSkpXG4gICAgICAgICAgICApLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mZWF0dXJlc1tmZWF0dXJlXS5uZXh0KHZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNsaWVudC5vbihgY2hhbmdlOiR7ZmVhdHVyZX1gLCAodmFsOiBSKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmVhdHVyZXNbZmVhdHVyZV0ubmV4dCh2YWwpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZmVhdHVyZXNbZmVhdHVyZV0ucGlwZShcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIG9ubHkgZ2V0IHRoZSBzdGF0ZSBvZiB0aGUgZmVhdHVyZSB0b2dnbGVcbiAgICAgKiBvbmNlLiBJdCBjYWxscyB0aGUgTEQgU0RLIGRpcmVjdGx5LCBhbmQgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjaXJjdW1zdGFuY2VzIHdoZXJlXG4gICAgICogb25seSBvbmUgdmFsdWUgc2hvdWxkIGJlIGVtaXR0ZWQsIHRoYXQgdmFsdWUgY29taW5nIGRpcmVjdGx5IGZyb20gTEQuIFRoaXMgd2lsbCBsaWtlbHlcbiAgICAgKiBvbmx5IGFwcGx5IGZvciBHdWFyZHMsIGFuZCBzaG91bGQgYmUgdXNlZCBvbmx5IHdoZW4gYWJzb2x1dGVseSBuZWNlc3NhcnkuXG4gICAgICogQHNlZSBnZXRWYWx1ZSBmb3IgcmVndWxhciB1c2FnZS5cbiAgICAgKiBAcGFyYW0gZmVhdHVyZSBzdHJpbmdcbiAgICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFJcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VmFsdWVPbmNlPFI+KGZlYXR1cmU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlYWR5LnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIocmVhZHkgPT4gcmVhZHkpLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuY2xpZW50LnZhcmlhdGlvbihmZWF0dXJlLCBkZWZhdWx0VmFsdWUpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRWYWx1ZVN5bmM8Uj4oZmVhdHVyZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFIpOiBSIHtcbiAgICAgIHJldHVybiB0aGlzLmNsaWVudC52YXJpYXRpb24oZmVhdHVyZSwgZGVmYXVsdFZhbHVlKTtcbiAgICB9XG59XG4iXX0=
@@ -1,8 +1,6 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { Injectable } from '@angular/core';
3
- import { of } from 'rxjs';
4
- import { map, tap } from 'rxjs/operators';
5
- import { getAllCaseworkersFromServices, getSessionStorageKeyForServiceId, setCaseworkers } from '../../gov-ui/util/session-storage/session-storage-utils';
3
+ import { map } from 'rxjs/operators';
6
4
  import { PersonRole, RoleCategory } from '../../models';
7
5
  import { SessionStorageService } from '../storage/session-storage/session-storage.service';
8
6
  import * as i0 from "@angular/core";
@@ -33,35 +31,8 @@ export class FindAPersonService {
33
31
  }
34
32
  this.assignedUser = searchOptions.assignedUser ? searchOptions.assignedUser : null;
35
33
  const fullServices = searchOptions.services;
36
- const storedServices = [];
37
- const newServices = [];
38
- const storedCaseworkersByService = [];
39
- fullServices.forEach(serviceId => {
40
- const serviceKey = getSessionStorageKeyForServiceId(serviceId);
41
- if (this.sessionStorageService.getItem(serviceKey)) {
42
- storedServices.push(serviceId);
43
- storedCaseworkersByService.push({ service: serviceId, caseworkers: JSON.parse(this.sessionStorageService.getItem(serviceKey)) });
44
- }
45
- else {
46
- newServices.push(serviceId);
47
- }
48
- });
49
- // if all services are stored then return the stored caseworkers by service
50
- if (storedServices.length === fullServices.length) {
51
- const storedCaseworkers = getAllCaseworkersFromServices(storedCaseworkersByService);
52
- return of(this.searchInCaseworkers(storedCaseworkers, searchOptions));
53
- }
54
- // all serviceIds passed in as node layer getting used anyway and caseworkers also stored there
55
- return this.http.post('/workallocation/retrieveCaseWorkersForServices', { fullServices }).pipe(tap(caseworkersByService => {
56
- caseworkersByService.forEach(caseworkerListByService => {
57
- // for any new service, ensure that they are then stored in the session
58
- if (newServices.includes(caseworkerListByService.service)) {
59
- setCaseworkers(caseworkerListByService.service, caseworkerListByService.caseworkers, this.sessionStorageService);
60
- }
61
- });
62
- }), map(caseworkersByService => {
63
- const givenCaseworkers = getAllCaseworkersFromServices(caseworkersByService);
64
- return this.searchInCaseworkers(givenCaseworkers, searchOptions);
34
+ return this.http.post('/workallocation/caseworker/getUsersByServiceName', { services: fullServices, term: searchOptions.searchTerm }).pipe(map(caseworkers => {
35
+ return this.searchInCaseworkers(caseworkers, searchOptions);
65
36
  }));
66
37
  }
67
38
  mapCaseworkers(caseworkers, roleCategory) {
@@ -93,11 +64,9 @@ export class FindAPersonService {
93
64
  roleCategory = RoleCategory.CTSC;
94
65
  }
95
66
  }
96
- const searchTerm = searchOptions && searchOptions.searchTerm ? searchOptions.searchTerm.toLowerCase() : '';
97
67
  const people = caseworkers ? this.mapCaseworkers(caseworkers, roleCategory) : [];
98
- const finalPeopleList = people.filter(person => person && person.name && person.name.toLowerCase().includes(searchTerm));
99
- return searchOptions.userIncluded ? finalPeopleList.filter(person => person && person.id !== this.assignedUser)
100
- : finalPeopleList.filter(person => person?.id !== this.assignedUser);
68
+ return searchOptions.userIncluded ? people.filter(person => person && person.id !== this.assignedUser)
69
+ : people.filter(person => person && person.id !== this.userId && person.id !== this.assignedUser);
101
70
  }
102
71
  searchJudicial(value, serviceId) {
103
72
  return this.http.post('api/prd/judicial/getJudicialUsersSearch', { searchString: value, serviceCode: serviceId });
@@ -111,4 +80,4 @@ export class FindAPersonService {
111
80
  providedIn: 'root'
112
81
  }]
113
82
  }], () => [{ type: i1.HttpClient }, { type: i2.SessionStorageService }], null); })();
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wZXJzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsZ0NBQWdDLEVBQ2hDLGNBQWMsRUFDZixNQUFNLHlEQUF5RCxDQUFDO0FBQ2pFLE9BQU8sRUFLTCxVQUFVLEVBQ1YsWUFBWSxFQUViLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7O0FBSzNGLE1BQU0sT0FBTyxrQkFBa0I7YUFFZixtQkFBYyxHQUFXLGFBQWEsQUFBeEIsQ0FBeUI7SUFJckQsWUFBNkIsSUFBZ0IsRUFBbUIscUJBQTRDO1FBQS9FLFNBQUksR0FBSixJQUFJLENBQVk7UUFBbUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUM1RyxDQUFDO0lBRU0sSUFBSSxDQUFDLGFBQTRCO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEUsSUFBSSxXQUFXLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN6QyxJQUFJ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QUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDekgsT0FBTyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQztZQUM3RyxDQUFDLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBYSxFQUFFLFNBQWlCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXNCLHlDQUF5QyxFQUNsRixFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzttRkFyR1Usa0JBQWtCO3VFQUFsQixrQkFBa0IsV0FBbEIsa0JBQWtCLG1CQUZqQixNQUFNOztpRkFFUCxrQkFBa0I7Y0FIOUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGdldEFsbENhc2V3b3JrZXJzRnJvbVNlcnZpY2VzLFxuICBnZXRTZXNzaW9uU3RvcmFnZUtleUZvclNlcnZpY2VJZCxcbiAgc2V0Q2FzZXdvcmtlcnNcbn0gZnJvbSAnLi4vLi4vZ292LXVpL3V0aWwvc2Vzc2lvbi1zdG9yYWdlL3Nlc3Npb24tc3RvcmFnZS11dGlscyc7XG5pbXBvcnQge1xuICBDYXNld29ya2VyLFxuICBDYXNld29ya2Vyc0J5U2VydmljZSxcbiAgSnVkaWNpYWxVc2VyTW9kZWwsXG4gIFBlcnNvbixcbiAgUGVyc29uUm9sZSxcbiAgUm9sZUNhdGVnb3J5LFxuICBTZWFyY2hPcHRpb25zXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yYWdlL3Nlc3Npb24tc3RvcmFnZS9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZpbmRBUGVyc29uU2VydmljZSB7XG5cbiAgcHVibGljIHN0YXRpYyBjYXNld29ya2Vyc0tleTogc3RyaW5nID0gJ2Nhc2V3b3JrZXJzJztcbiAgcHVibGljIHVzZXJJZDogc3RyaW5nO1xuICBwdWJsaWMgYXNzaWduZWRVc2VyOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgZmluZChzZWFyY2hPcHRpb25zOiBTZWFyY2hPcHRpb25zKTogT2JzZXJ2YWJsZTxQZXJzb25bXT4ge1xuICAgIGNvbnN0IHVzZXJJbmZvU3RyID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcbiAgICBpZiAodXNlckluZm9TdHIgJiYgIXNlYXJjaE9wdGlvbnMudXNlckluY2x1ZGVkKSB7XG4gICAgICBjb25zdCB1c2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgICAgdGhpcy51c2VySWQgPSB1c2VySW5mby5pZCA/IHVzZXJJbmZvLmlkIDogdXNlckluZm8udWlkO1xuICAgIH1cbiAgICB0aGlzLmFzc2lnbmVkVXNlciA9IHNlYXJjaE9wdGlvbnMuYXNzaWduZWRVc2VyID8gc2VhcmNoT3B0aW9ucy5hc3NpZ25lZFVzZXIgOiBudWxsO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQZXJzb25bXT4oJy93b3JrYWxsb2NhdGlvbi9maW5kUGVyc29uJywgeyBzZWFyY2hPcHRpb25zIH0pXG4gICAgICAucGlwZShtYXAoanVkaWNpYXJ5ID0+IGp1ZGljaWFyeS5maWx0ZXIoanVkZ2UgPT4gIShbdGhpcy5hc3NpZ25lZFVzZXJdLmluY2x1ZGVzKGp1ZGdlLmlkKSkpKSk7XG4gICAgLy8gUmVtb3ZlZCB0aGUgY3VycmVudCB1c2VyIGlkIHRvIGZpeCBFVUktODQ2NS5cbiAgfVxuXG4gIHB1YmxpYyBmaW5kQ2FzZXdvcmtlcnMoc2VhcmNoT3B0aW9uczogU2VhcmNoT3B0aW9ucyk6IE9ic2VydmFibGU8UGVyc29uW10+IHtcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG4gICAgaWYgKHVzZXJJbmZvU3RyKSB7XG4gICAgICBjb25zdCB1c2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgICAgdGhpcy51c2VySWQgPSB1c2VySW5mby5pZCA/IHVzZXJJbmZvLmlkIDogdXNlckluZm8udWlkO1xuICAgIH1cbiAgICB0aGlzLmFzc2lnbmVkVXNlciA9IHNlYXJjaE9wdGlvbnMuYXNzaWduZWRVc2VyID8gc2VhcmNoT3B0aW9ucy5hc3NpZ25lZFVzZXIgOiBudWxsO1xuICAgIGNvbnN0IGZ1bGxTZXJ2aWNlcyA9IHNlYXJjaE9wdGlvbnMuc2VydmljZXM7XG4gICAgY29uc3Qgc3RvcmVkU2VydmljZXMgPSBbXTtcbiAgICBjb25zdCBuZXdTZXJ2aWNlczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBzdG9yZWRDYXNld29ya2Vyc0J5U2VydmljZTogQ2FzZXdvcmtlcnNCeVNlcnZpY2VbXSA9IFtdO1xuICAgIGZ1bGxTZXJ2aWNlcy5mb3JFYWNoKHNlcnZpY2VJZCA9PiB7XG4gICAgICBjb25zdCBzZXJ2aWNlS2V5ID0gZ2V0U2Vzc2lvblN0b3JhZ2VLZXlGb3JTZXJ2aWNlSWQoc2VydmljZUlkKTtcbiAgICAgIGlmICh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKHNlcnZpY2VLZXkpKSB7XG4gICAgICAgIHN0b3JlZFNlcnZpY2VzLnB1c2goc2VydmljZUlkKTtcbiAgICAgICAgc3RvcmVkQ2FzZXdvcmtlcnNCeVNlcnZpY2UucHVzaCh7IHNlcnZpY2U6IHNlcnZpY2VJZCwgY2FzZXdvcmtlcnM6IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShzZXJ2aWNlS2V5KSkgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTZXJ2aWNlcy5wdXNoKHNlcnZpY2VJZCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gaWYgYWxsIHNlcnZpY2VzIGFyZSBzdG9yZWQgdGhlbiByZXR1cm4gdGhlIHN0b3JlZCBjYXNld29ya2VycyBieSBzZXJ2aWNlXG4gICAgaWYgKHN0b3JlZFNlcnZpY2VzLmxlbmd0aCA9PT0gZnVsbFNlcnZpY2VzLmxlbmd0aCkge1xuICAgICAgY29uc3Qgc3RvcmVkQ2FzZXdvcmtlcnMgPSBnZXRBbGxDYXNld29ya2Vyc0Zyb21TZXJ2aWNlcyhzdG9yZWRDYXNld29ya2Vyc0J5U2VydmljZSk7XG4gICAgICByZXR1cm4gb2YodGhpcy5zZWFyY2hJbkNhc2V3b3JrZXJzKHN0b3JlZENhc2V3b3JrZXJzLCBzZWFyY2hPcHRpb25zKSk7XG4gICAgfVxuICAgIC8vIGFsbCBzZXJ2aWNlSWRzIHBhc3NlZCBpbiBhcyBub2RlIGxheWVyIGdldHRpbmcgdXNlZCBhbnl3YXkgYW5kIGNhc2V3b3JrZXJzIGFsc28gc3RvcmVkIHRoZXJlXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENhc2V3b3JrZXJzQnlTZXJ2aWNlW10+KCcvd29ya2FsbG9jYXRpb24vcmV0cmlldmVDYXNlV29ya2Vyc0ZvclNlcnZpY2VzJywgeyBmdWxsU2VydmljZXMgfSkucGlwZShcbiAgICAgIHRhcChjYXNld29ya2Vyc0J5U2VydmljZSA9PiB7XG4gICAgICAgIGNhc2V3b3JrZXJzQnlTZXJ2aWNlLmZvckVhY2goY2FzZXdvcmtlckxpc3RCeVNlcnZpY2UgPT4ge1xuICAgICAgICAgIC8vIGZvciBhbnkgbmV3IHNlcnZpY2UsIGVuc3VyZSB0aGF0IHRoZXkgYXJlIHRoZW4gc3RvcmVkIGluIHRoZSBzZXNzaW9uXG4gICAgICAgICAgaWYgKG5ld1NlcnZpY2VzLmluY2x1ZGVzKGNhc2V3b3JrZXJMaXN0QnlTZXJ2aWNlLnNlcnZpY2UpKSB7XG4gICAgICAgICAgICBzZXRDYXNld29ya2VycyhjYXNld29ya2VyTGlzdEJ5U2VydmljZS5zZXJ2aWNlLCBjYXNld29ya2VyTGlzdEJ5U2VydmljZS5jYXNld29ya2VycywgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIG1hcChjYXNld29ya2Vyc0J5U2VydmljZSA9PiB7XG4gICAgICAgIGNvbnN0IGdpdmVuQ2FzZXdvcmtlcnMgPSBnZXRBbGxDYXNld29ya2Vyc0Zyb21TZXJ2aWNlcyhjYXNld29ya2Vyc0J5U2VydmljZSk7XG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaEluQ2FzZXdvcmtlcnMoZ2l2ZW5DYXNld29ya2Vycywgc2VhcmNoT3B0aW9ucyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbWFwQ2FzZXdvcmtlcnMoY2FzZXdvcmtlcnM6IENhc2V3b3JrZXJbXSwgcm9sZUNhdGVnb3J5OiBzdHJpbmcpOiBQZXJzb25bXSB7XG4gICAgY29uc3QgcGVvcGxlOiBQZXJzb25bXSA9IFtdO1xuICAgIGNhc2V3b3JrZXJzLmZvckVhY2goKGNhc2V3b3JrZXIpID0+IHtcbiAgICAgIGNvbnN0IHRoaXNQZXJzb246IFBlcnNvbiA9IHtcbiAgICAgICAgZW1haWw6IGNhc2V3b3JrZXIuZW1haWwsXG4gICAgICAgIG5hbWU6IGAke2Nhc2V3b3JrZXIuZmlyc3ROYW1lfSAke2Nhc2V3b3JrZXIubGFzdE5hbWV9YCxcbiAgICAgICAgaWQ6IGNhc2V3b3JrZXIuaWRhbUlkLFxuICAgICAgICBkb21haW46IGNhc2V3b3JrZXIucm9sZUNhdGVnb3J5ID09PSBSb2xlQ2F0ZWdvcnkuQ0FTRVdPUktFUiA/IFBlcnNvblJvbGUuQ0FTRVdPUktFUiA6IFBlcnNvblJvbGUuQURNSU4sXG4gICAgICAgIC8vIGtub3duQXMgY2FuIGJlIGFkZGVkIGlmIHJlcXVpcmVkXG4gICAgICB9O1xuICAgICAgaWYgKGNhc2V3b3JrZXIucm9sZUNhdGVnb3J5ID09PSByb2xlQ2F0ZWdvcnkgfHwgcm9sZUNhdGVnb3J5ID09PSBSb2xlQ2F0ZWdvcnkuQUxMKSB7XG4gICAgICAgIHBlb3BsZS5wdXNoKHRoaXNQZXJzb24pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwZW9wbGU7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoSW5DYXNld29ya2VycyhjYXNld29ya2VyczogQ2FzZXdvcmtlcltdLCBzZWFyY2hPcHRpb25zOiBTZWFyY2hPcHRpb25zKTogUGVyc29uW10ge1xuICAgIGxldCByb2xlQ2F0ZWdvcnkgPSBSb2xlQ2F0ZWdvcnkuQUxMO1xuICAgIGlmICghKHNlYXJjaE9wdGlvbnMudXNlclJvbGUgPT09IFBlcnNvblJvbGUuQUxMKSkge1xuICAgICAgaWYgKHNlYXJjaE9wdGlvbnMudXNlclJvbGUgPT09IFBlcnNvblJvbGUuQ0FTRVdPUktFUikge1xuICAgICAgICByb2xlQ2F0ZWdvcnkgPSBSb2xlQ2F0ZWdvcnkuQ0FTRVdPUktFUjtcbiAgICAgIH0gZWxzZSBpZiAoc2VhcmNoT3B0aW9ucy51c2VyUm9sZSA9PT0gUGVyc29uUm9sZS5BRE1JTikge1xuICAgICAgICByb2xlQ2F0ZWdvcnkgPSBSb2xlQ2F0ZWdvcnkuQURNSU47XG4gICAgICB9IGVsc2UgaWYgKHNlYXJjaE9wdGlvbnMudXNlclJvbGUgPT09IFBlcnNvblJvbGUuQ1RTQykge1xuICAgICAgICByb2xlQ2F0ZWdvcnkgPSBSb2xlQ2F0ZWdvcnkuQ1RTQztcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgc2VhcmNoVGVybSA9IHNlYXJjaE9wdGlvbnMgJiYgc2VhcmNoT3B0aW9ucy5zZWFyY2hUZXJtID8gc2VhcmNoT3B0aW9ucy5zZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkgOiAnJztcbiAgICBjb25zdCBwZW9wbGUgPSBjYXNld29ya2VycyA/IHRoaXMubWFwQ2FzZXdvcmtlcnMoY2FzZXdvcmtlcnMsIHJvbGVDYXRlZ29yeSkgOiBbXTtcbiAgICBjb25zdCBmaW5hbFBlb3BsZUxpc3QgPSBwZW9wbGUuZmlsdGVyKHBlcnNvbiA9PiBwZXJzb24gJiYgcGVyc29uLm5hbWUgJiYgcGVyc29uLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKSk7XG4gICAgcmV0dXJuIHNlYXJjaE9wdGlvbnMudXNlckluY2x1ZGVkID8gZmluYWxQZW9wbGVMaXN0LmZpbHRlcihwZXJzb24gPT4gcGVyc29uICYmIHBlcnNvbi5pZCAhPT0gdGhpcy5hc3NpZ25lZFVzZXIpXG4gICAgICA6IGZpbmFsUGVvcGxlTGlzdC5maWx0ZXIocGVyc29uID0+IHBlcnNvbj8uaWQgIT09IHRoaXMuYXNzaWduZWRVc2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hKdWRpY2lhbCh2YWx1ZTogc3RyaW5nLCBzZXJ2aWNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxKdWRpY2lhbFVzZXJNb2RlbFtdPignYXBpL3ByZC9qdWRpY2lhbC9nZXRKdWRpY2lhbFVzZXJzU2VhcmNoJyxcbiAgICAgIHsgc2VhcmNoU3RyaW5nOiB2YWx1ZSwgc2VydmljZUNvZGU6IHNlcnZpY2VJZCB9KTtcbiAgfVxufVxuXG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wZXJzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFJTCxVQUFVLEVBQ1YsWUFBWSxFQUViLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7O0FBSzNGLE1BQU0sT0FBTyxrQkFBa0I7YUFFZixtQkFBYyxHQUFXLGFBQWEsQUFBeEIsQ0FBeUI7SUFJckQsWUFBNkIsSUFBZ0IsRUFBbUIscUJBQTRDO1FBQS9FLFNBQUksR0FBSixJQUFJLENBQVk7UUFBbUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUM1RyxDQUFDO0lBRU0sSUFBSSxDQUFDLGFBQTRCO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEUsSUFBSSxXQUFXLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDekQsQ0FBQztRQUNELElBQUksQ0FB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ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDYXNld29ya2VyLFxuICBKdWRpY2lhbFVzZXJNb2RlbCxcbiAgUGVyc29uLFxuICBQZXJzb25Sb2xlLFxuICBSb2xlQ2F0ZWdvcnksXG4gIFNlYXJjaE9wdGlvbnNcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3N0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmluZEFQZXJzb25TZXJ2aWNlIHtcblxuICBwdWJsaWMgc3RhdGljIGNhc2V3b3JrZXJzS2V5OiBzdHJpbmcgPSAnY2FzZXdvcmtlcnMnO1xuICBwdWJsaWMgdXNlcklkOiBzdHJpbmc7XG4gIHB1YmxpYyBhc3NpZ25lZFVzZXI6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kKHNlYXJjaE9wdGlvbnM6IFNlYXJjaE9wdGlvbnMpOiBPYnNlcnZhYmxlPFBlcnNvbltdPiB7XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuICAgIGlmICh1c2VySW5mb1N0ciAmJiAhc2VhcmNoT3B0aW9ucy51c2VySW5jbHVkZWQpIHtcbiAgICAgIGNvbnN0IHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgICB0aGlzLnVzZXJJZCA9IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQ7XG4gICAgfVxuICAgIHRoaXMuYXNzaWduZWRVc2VyID0gc2VhcmNoT3B0aW9ucy5hc3NpZ25lZFVzZXIgPyBzZWFyY2hPcHRpb25zLmFzc2lnbmVkVXNlciA6IG51bGw7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFBlcnNvbltdPignL3dvcmthbGxvY2F0aW9uL2ZpbmRQZXJzb24nLCB7IHNlYXJjaE9wdGlvbnMgfSlcbiAgICAgIC5waXBlKG1hcChqdWRpY2lhcnkgPT4ganVkaWNpYXJ5LmZpbHRlcihqdWRnZSA9PiAhKFt0aGlzLmFzc2lnbmVkVXNlcl0uaW5jbHVkZXMoanVkZ2UuaWQpKSkpKTtcbiAgICAvLyBSZW1vdmVkIHRoZSBjdXJyZW50IHVzZXIgaWQgdG8gZml4IEVVSS04NDY1LlxuICB9XG5cbiAgcHVibGljIGZpbmRDYXNld29ya2VycyhzZWFyY2hPcHRpb25zOiBTZWFyY2hPcHRpb25zKTogT2JzZXJ2YWJsZTxQZXJzb25bXT4ge1xuICAgIGNvbnN0IHVzZXJJbmZvU3RyID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcbiAgICBpZiAodXNlckluZm9TdHIpIHtcbiAgICAgIGNvbnN0IHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgICB0aGlzLnVzZXJJZCA9IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQ7XG4gICAgfVxuICAgIHRoaXMuYXNzaWduZWRVc2VyID0gc2VhcmNoT3B0aW9ucy5hc3NpZ25lZFVzZXIgPyBzZWFyY2hPcHRpb25zLmFzc2lnbmVkVXNlciA6IG51bGw7XG4gICAgY29uc3QgZnVsbFNlcnZpY2VzID0gc2VhcmNoT3B0aW9ucy5zZXJ2aWNlcztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q2FzZXdvcmtlcltdPignL3dvcmthbGxvY2F0aW9uL2Nhc2V3b3JrZXIvZ2V0VXNlcnNCeVNlcnZpY2VOYW1lJywge3NlcnZpY2VzOiBmdWxsU2VydmljZXMsIHRlcm06IHNlYXJjaE9wdGlvbnMuc2VhcmNoVGVybX0pLnBpcGUoXG4gICAgICBtYXAoY2FzZXdvcmtlcnMgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2hJbkNhc2V3b3JrZXJzKGNhc2V3b3JrZXJzLCBzZWFyY2hPcHRpb25zKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBtYXBDYXNld29ya2VycyhjYXNld29ya2VyczogQ2FzZXdvcmtlcltdLCByb2xlQ2F0ZWdvcnk6IHN0cmluZyk6IFBlcnNvbltdIHtcbiAgICBjb25zdCBwZW9wbGU6IFBlcnNvbltdID0gW107XG4gICAgY2FzZXdvcmtlcnMuZm9yRWFjaCgoY2FzZXdvcmtlcikgPT4ge1xuICAgICAgY29uc3QgdGhpc1BlcnNvbjogUGVyc29uID0ge1xuICAgICAgICBlbWFpbDogY2FzZXdvcmtlci5lbWFpbCxcbiAgICAgICAgbmFtZTogYCR7Y2FzZXdvcmtlci5maXJzdE5hbWV9ICR7Y2FzZXdvcmtlci5sYXN0TmFtZX1gLFxuICAgICAgICBpZDogY2FzZXdvcmtlci5pZGFtSWQsXG4gICAgICAgIGRvbWFpbjogY2FzZXdvcmtlci5yb2xlQ2F0ZWdvcnkgPT09IFJvbGVDYXRlZ29yeS5DQVNFV09SS0VSID8gUGVyc29uUm9sZS5DQVNFV09SS0VSIDogUGVyc29uUm9sZS5BRE1JTixcbiAgICAgICAgLy8ga25vd25BcyBjYW4gYmUgYWRkZWQgaWYgcmVxdWlyZWRcbiAgICAgIH07XG4gICAgICBpZiAoY2FzZXdvcmtlci5yb2xlQ2F0ZWdvcnkgPT09IHJvbGVDYXRlZ29yeSB8fCByb2xlQ2F0ZWdvcnkgPT09IFJvbGVDYXRlZ29yeS5BTEwpIHtcbiAgICAgICAgcGVvcGxlLnB1c2godGhpc1BlcnNvbik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHBlb3BsZTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hJbkNhc2V3b3JrZXJzKGNhc2V3b3JrZXJzOiBDYXNld29ya2VyW10sIHNlYXJjaE9wdGlvbnM6IFNlYXJjaE9wdGlvbnMpOiBQZXJzb25bXSB7XG4gICAgbGV0IHJvbGVDYXRlZ29yeSA9IFJvbGVDYXRlZ29yeS5BTEw7XG4gICAgaWYgKCEoc2VhcmNoT3B0aW9ucy51c2VyUm9sZSA9PT0gUGVyc29uUm9sZS5BTEwpKSB7XG4gICAgICBpZiAoc2VhcmNoT3B0aW9ucy51c2VyUm9sZSA9PT0gUGVyc29uUm9sZS5DQVNFV09SS0VSKSB7XG4gICAgICAgIHJvbGVDYXRlZ29yeSA9IFJvbGVDYXRlZ29yeS5DQVNFV09SS0VSO1xuICAgICAgfSBlbHNlIGlmIChzZWFyY2hPcHRpb25zLnVzZXJSb2xlID09PSBQZXJzb25Sb2xlLkFETUlOKSB7XG4gICAgICAgIHJvbGVDYXRlZ29yeSA9IFJvbGVDYXRlZ29yeS5BRE1JTjtcbiAgICAgIH0gZWxzZSBpZiAoc2VhcmNoT3B0aW9ucy51c2VyUm9sZSA9PT0gUGVyc29uUm9sZS5DVFNDKSB7XG4gICAgICAgIHJvbGVDYXRlZ29yeSA9IFJvbGVDYXRlZ29yeS5DVFNDO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBwZW9wbGUgPSBjYXNld29ya2VycyA/IHRoaXMubWFwQ2FzZXdvcmtlcnMoY2FzZXdvcmtlcnMsIHJvbGVDYXRlZ29yeSkgOiBbXTtcbiAgICByZXR1cm4gc2VhcmNoT3B0aW9ucy51c2VySW5jbHVkZWQgPyBwZW9wbGUuZmlsdGVyKHBlcnNvbiA9PiBwZXJzb24gJiYgcGVyc29uLmlkICE9PSB0aGlzLmFzc2lnbmVkVXNlcilcbiAgICAgIDogcGVvcGxlLmZpbHRlcihwZXJzb24gPT4gcGVyc29uICYmIHBlcnNvbi5pZCAhPT0gdGhpcy51c2VySWQgJiYgcGVyc29uLmlkICE9PSB0aGlzLmFzc2lnbmVkVXNlcik7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoSnVkaWNpYWwodmFsdWU6IHN0cmluZywgc2VydmljZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEp1ZGljaWFsVXNlck1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SnVkaWNpYWxVc2VyTW9kZWxbXT4oJ2FwaS9wcmQvanVkaWNpYWwvZ2V0SnVkaWNpYWxVc2Vyc1NlYXJjaCcsXG4gICAgICB7IHNlYXJjaFN0cmluZzogdmFsdWUsIHNlcnZpY2VDb2RlOiBzZXJ2aWNlSWQgfSk7XG4gIH1cbn1cblxuIl19
@@ -1280,16 +1280,16 @@ class LaunchDarklyService {
1280
1280
  constructor() {
1281
1281
  this.ready = new BehaviorSubject(false);
1282
1282
  this.features = {};
1283
- this.context = { kind: 'user', anonymous: true };
1283
+ this.user = { anonymous: true };
1284
1284
  this.clientId = '';
1285
1285
  }
1286
1286
  initialize(user = { anonymous: true }, clientId) {
1287
1287
  this.ready.next(false);
1288
- this.context = { kind: 'user', ...user };
1288
+ this.user = user;
1289
1289
  this.clientId = clientId;
1290
- this.client = initialize(this.clientId, this.context, {});
1290
+ this.client = initialize(this.clientId, this.user, {});
1291
1291
  this.client.on('ready', () => {
1292
- this.client.identify(this.context).then(() => this.ready.next(true));
1292
+ this.client.identify(this.user).then(() => this.ready.next(true));
1293
1293
  });
1294
1294
  }
1295
1295
  isEnabled(feature, defaultValue = false) {
@@ -1302,7 +1302,7 @@ class LaunchDarklyService {
1302
1302
  getValue(feature, defaultValue) {
1303
1303
  if (!this.features.hasOwnProperty(feature)) {
1304
1304
  this.features[feature] = new BehaviorSubject(defaultValue);
1305
- this.ready.pipe(filter((ready) => ready), map(() => this.client.variation(feature, defaultValue))).subscribe((value) => {
1305
+ this.ready.pipe(filter(ready => ready), map(() => this.client.variation(feature, defaultValue))).subscribe(value => {
1306
1306
  this.features[feature].next(value);
1307
1307
  this.client.on(`change:${feature}`, (val) => {
1308
1308
  this.features[feature].next(val);
@@ -1312,16 +1312,16 @@ class LaunchDarklyService {
1312
1312
  return this.features[feature].pipe(distinctUntilChanged());
1313
1313
  }
1314
1314
  /**
1315
- * This method returns an observable that will only get the state of the feature toggle
1316
- * once. It calls the LD SDK directly, and should only be used in circumstances where
1317
- * only one value should be emitted, that value coming directly from LD. This will likely
1318
- * only apply for Guards, and should be used only when absolutely necessary.
1319
- * @see getValue for regular usage.
1320
- * @param feature string
1321
- * @param defaultValue R
1322
- */
1315
+ * This method returns an observable that will only get the state of the feature toggle
1316
+ * once. It calls the LD SDK directly, and should only be used in circumstances where
1317
+ * only one value should be emitted, that value coming directly from LD. This will likely
1318
+ * only apply for Guards, and should be used only when absolutely necessary.
1319
+ * @see getValue for regular usage.
1320
+ * @param feature string
1321
+ * @param defaultValue R
1322
+ */
1323
1323
  getValueOnce(feature, defaultValue) {
1324
- return this.ready.pipe(filter((ready) => ready), map(() => this.client.variation(feature, defaultValue)));
1324
+ return this.ready.pipe(filter(ready => ready), map(() => this.client.variation(feature, defaultValue)));
1325
1325
  }
1326
1326
  getValueSync(feature, defaultValue) {
1327
1327
  return this.client.variation(feature, defaultValue);
@@ -2116,28 +2116,6 @@ function getValues(options, values) {
2116
2116
  }, []);
2117
2117
  }
2118
2118
 
2119
- const getAllCaseworkersFromServices = (caseworkersByService) => {
2120
- let allCaseworkers = [];
2121
- caseworkersByService.forEach(caseworkerListByService => {
2122
- allCaseworkers = allCaseworkers.concat(caseworkerListByService.caseworkers);
2123
- });
2124
- return allCaseworkers;
2125
- };
2126
- const getSessionStorageKeyForServiceId = (serviceId) => {
2127
- return `${serviceId}-caseworkers`;
2128
- };
2129
- const getCaseworkers = (serviceId, sessionStorageService) => {
2130
- const sessionKey = getSessionStorageKeyForServiceId(serviceId);
2131
- const value = sessionStorageService.getItem(sessionKey);
2132
- if (value) {
2133
- return JSON.parse(value);
2134
- }
2135
- };
2136
- const setCaseworkers = (serviceId, caseworkers, sessionStorageService) => {
2137
- const sessionKey = getSessionStorageKeyForServiceId(serviceId);
2138
- sessionStorageService.setItem(sessionKey, JSON.stringify(caseworkers));
2139
- };
2140
-
2141
2119
  class SessionStorageService {
2142
2120
  /**
2143
2121
  * Get an item from the session storage.
@@ -2204,35 +2182,8 @@ class FindAPersonService {
2204
2182
  }
2205
2183
  this.assignedUser = searchOptions.assignedUser ? searchOptions.assignedUser : null;
2206
2184
  const fullServices = searchOptions.services;
2207
- const storedServices = [];
2208
- const newServices = [];
2209
- const storedCaseworkersByService = [];
2210
- fullServices.forEach(serviceId => {
2211
- const serviceKey = getSessionStorageKeyForServiceId(serviceId);
2212
- if (this.sessionStorageService.getItem(serviceKey)) {
2213
- storedServices.push(serviceId);
2214
- storedCaseworkersByService.push({ service: serviceId, caseworkers: JSON.parse(this.sessionStorageService.getItem(serviceKey)) });
2215
- }
2216
- else {
2217
- newServices.push(serviceId);
2218
- }
2219
- });
2220
- // if all services are stored then return the stored caseworkers by service
2221
- if (storedServices.length === fullServices.length) {
2222
- const storedCaseworkers = getAllCaseworkersFromServices(storedCaseworkersByService);
2223
- return of$1(this.searchInCaseworkers(storedCaseworkers, searchOptions));
2224
- }
2225
- // all serviceIds passed in as node layer getting used anyway and caseworkers also stored there
2226
- return this.http.post('/workallocation/retrieveCaseWorkersForServices', { fullServices }).pipe(tap(caseworkersByService => {
2227
- caseworkersByService.forEach(caseworkerListByService => {
2228
- // for any new service, ensure that they are then stored in the session
2229
- if (newServices.includes(caseworkerListByService.service)) {
2230
- setCaseworkers(caseworkerListByService.service, caseworkerListByService.caseworkers, this.sessionStorageService);
2231
- }
2232
- });
2233
- }), map(caseworkersByService => {
2234
- const givenCaseworkers = getAllCaseworkersFromServices(caseworkersByService);
2235
- return this.searchInCaseworkers(givenCaseworkers, searchOptions);
2185
+ return this.http.post('/workallocation/caseworker/getUsersByServiceName', { services: fullServices, term: searchOptions.searchTerm }).pipe(map(caseworkers => {
2186
+ return this.searchInCaseworkers(caseworkers, searchOptions);
2236
2187
  }));
2237
2188
  }
2238
2189
  mapCaseworkers(caseworkers, roleCategory) {
@@ -2264,11 +2215,9 @@ class FindAPersonService {
2264
2215
  roleCategory = RoleCategory.CTSC;
2265
2216
  }
2266
2217
  }
2267
- const searchTerm = searchOptions && searchOptions.searchTerm ? searchOptions.searchTerm.toLowerCase() : '';
2268
2218
  const people = caseworkers ? this.mapCaseworkers(caseworkers, roleCategory) : [];
2269
- const finalPeopleList = people.filter(person => person && person.name && person.name.toLowerCase().includes(searchTerm));
2270
- return searchOptions.userIncluded ? finalPeopleList.filter(person => person && person.id !== this.assignedUser)
2271
- : finalPeopleList.filter(person => person?.id !== this.assignedUser);
2219
+ return searchOptions.userIncluded ? people.filter(person => person && person.id !== this.assignedUser)
2220
+ : people.filter(person => person && person.id !== this.userId && person.id !== this.assignedUser);
2272
2221
  }
2273
2222
  searchJudicial(value, serviceId) {
2274
2223
  return this.http.post('api/prd/judicial/getJudicialUsersSearch', { searchString: value, serviceCode: serviceId });