@huntsman-cancer-institute/user 16.0.1 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,32 +1,32 @@
1
- /**
2
- * An immutable representation of an HCI role entity, which represents an authorization claim associated with an authenticated
3
- * subject.
4
- *
5
- * @since 1.0.0
6
- */
7
- export class RoleEntity {
8
- constructor(roleName, permissions) {
9
- this.roleName = roleName;
10
- this.permissions = permissions;
11
- }
12
- /**
13
- * An accessor for the name of this role.
14
- *
15
- * @returns {string} the role name
16
- * @constructor
17
- */
18
- get RoleName() {
19
- return this.roleName;
20
- }
21
- /**
22
- * An accessor for a collection of {@link PermissionEntity} authorization claims that define this role. Permissions
23
- * provide a finer grained authorization claim description and are not required.
24
- *
25
- * @returns {PermissionEntity[]} a collection of permission entities
26
- * @constructor
27
- */
28
- get Permissions() {
29
- return this.permissions;
30
- }
31
- }
1
+ /**
2
+ * An immutable representation of an HCI role entity, which represents an authorization claim associated with an authenticated
3
+ * subject.
4
+ *
5
+ * @since 1.0.0
6
+ */
7
+ export class RoleEntity {
8
+ constructor(roleName, permissions) {
9
+ this.roleName = roleName;
10
+ this.permissions = permissions;
11
+ }
12
+ /**
13
+ * An accessor for the name of this role.
14
+ *
15
+ * @returns {string} the role name
16
+ * @constructor
17
+ */
18
+ get RoleName() {
19
+ return this.roleName;
20
+ }
21
+ /**
22
+ * An accessor for a collection of {@link PermissionEntity} authorization claims that define this role. Permissions
23
+ * provide a finer grained authorization claim description and are not required.
24
+ *
25
+ * @returns {PermissionEntity[]} a collection of permission entities
26
+ * @constructor
27
+ */
28
+ get Permissions() {
29
+ return this.permissions;
30
+ }
31
+ }
32
32
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91c2VyL3NyYy9hdXRob3JpemF0aW9uL3JvbGUuZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFBcUIsUUFBZ0IsRUFBVSxXQUFnQztRQUExRCxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO0lBQUcsQ0FBQztJQUVuRjs7Ozs7T0FLRztJQUNILElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNiBIdW50c21hbiBDYW5jZXIgSW5zdGl0dXRlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIFV0YWgsIENvbmZpZGVudGlhbCBhbmQgUHJvcHJpZXRhcnlcclxuICovXHJcbmltcG9ydCB7UGVybWlzc2lvbkVudGl0eX0gZnJvbSBcIi4vcGVybWlzc2lvbi5lbnRpdHlcIjtcclxuXHJcbi8qKlxyXG4gKiBBbiBpbW11dGFibGUgcmVwcmVzZW50YXRpb24gb2YgYW4gSENJIHJvbGUgZW50aXR5LCB3aGljaCByZXByZXNlbnRzIGFuIGF1dGhvcml6YXRpb24gY2xhaW0gYXNzb2NpYXRlZCB3aXRoIGFuIGF1dGhlbnRpY2F0ZWRcclxuICogc3ViamVjdC5cclxuICpcclxuICogQHNpbmNlIDEuMC4wXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgUm9sZUVudGl0eSB7XHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgcm9sZU5hbWU6IHN0cmluZywgcHJpdmF0ZSBwZXJtaXNzaW9ucz86IFBlcm1pc3Npb25FbnRpdHlbXSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQW4gYWNjZXNzb3IgZm9yIHRoZSBuYW1lIG9mIHRoaXMgcm9sZS5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSByb2xlIG5hbWVcclxuICAgKiBAY29uc3RydWN0b3JcclxuICAgKi9cclxuICBnZXQgUm9sZU5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVOYW1lO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQW4gYWNjZXNzb3IgZm9yIGEgY29sbGVjdGlvbiBvZiB7QGxpbmsgUGVybWlzc2lvbkVudGl0eX0gYXV0aG9yaXphdGlvbiBjbGFpbXMgdGhhdCBkZWZpbmUgdGhpcyByb2xlLiBQZXJtaXNzaW9uc1xyXG4gICAqIHByb3ZpZGUgYSBmaW5lciBncmFpbmVkIGF1dGhvcml6YXRpb24gY2xhaW0gZGVzY3JpcHRpb24gYW5kIGFyZSBub3QgcmVxdWlyZWQuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7UGVybWlzc2lvbkVudGl0eVtdfSBhIGNvbGxlY3Rpb24gb2YgcGVybWlzc2lvbiBlbnRpdGllc1xyXG4gICAqIEBjb25zdHJ1Y3RvclxyXG4gICAqL1xyXG4gIGdldCBQZXJtaXNzaW9ucygpOiBQZXJtaXNzaW9uRW50aXR5W10ge1xyXG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVudHNtYW4tY2FuY2VyLWluc3RpdHV0ZS11c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvdXNlci9zcmMvaHVudHNtYW4tY2FuY2VyLWluc3RpdHV0ZS11c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
package/esm2022/index.mjs CHANGED
@@ -1,20 +1,20 @@
1
- /*
2
- * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
3
- */
4
- /**
5
- * A barrel file for the HCI ng2 user package.
6
- *
7
- * @since 1.0.0
8
- */
9
- export { UserModule } from "./user.module";
10
- export { UserEntity } from "./user.entity";
11
- export { RoleEntity } from "./authorization/role.entity";
12
- export { PermissionEntity } from "./authorization/permission.entity";
13
- /**
14
- * The opaque tokens for service configuration.
15
- */
16
- export { AUTHENTICATED_USER_ENDPOINT } from "./user.service";
17
- export { UserService } from "./user.service";
18
- export { RoleCheckDirective } from "./authorization/role-check.directive";
19
- export { RoleCheckUnlessNullDirective } from "./authorization/role-check-unless-null.directive";
1
+ /*
2
+ * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
3
+ */
4
+ /**
5
+ * A barrel file for the HCI ng2 user package.
6
+ *
7
+ * @since 1.0.0
8
+ */
9
+ export { UserModule } from "./user.module";
10
+ export { UserEntity } from "./user.entity";
11
+ export { RoleEntity } from "./authorization/role.entity";
12
+ export { PermissionEntity } from "./authorization/permission.entity";
13
+ /**
14
+ * The opaque tokens for service configuration.
15
+ */
16
+ export { AUTHENTICATED_USER_ENDPOINT } from "./user.service";
17
+ export { UserService } from "./user.service";
18
+ export { RoleCheckDirective } from "./authorization/role-check.directive";
19
+ export { RoleCheckUnlessNullDirective } from "./authorization/role-check-unless-null.directive";
20
20
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy91c2VyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVIOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFBO0FBQ3RELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFBO0FBRWxFOztHQUVHO0FBQ0gsT0FBTyxFQUNMLDJCQUEyQixFQUM1QixNQUFNLGdCQUFnQixDQUFBO0FBRXZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNiBIdW50c21hbiBDYW5jZXIgSW5zdGl0dXRlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIFV0YWgsIENvbmZpZGVudGlhbCBhbmQgUHJvcHJpZXRhcnlcclxuICovXHJcblxyXG4vKipcclxuICogQSBiYXJyZWwgZmlsZSBmb3IgdGhlIEhDSSBuZzIgdXNlciBwYWNrYWdlLlxyXG4gKlxyXG4gKiBAc2luY2UgMS4wLjBcclxuICovXHJcbmV4cG9ydCB7VXNlck1vZHVsZX0gZnJvbSBcIi4vdXNlci5tb2R1bGVcIlxyXG5leHBvcnQge1VzZXJFbnRpdHl9IGZyb20gXCIuL3VzZXIuZW50aXR5XCJcclxuZXhwb3J0IHtSb2xlRW50aXR5fSBmcm9tIFwiLi9hdXRob3JpemF0aW9uL3JvbGUuZW50aXR5XCJcclxuZXhwb3J0IHtQZXJtaXNzaW9uRW50aXR5fSBmcm9tIFwiLi9hdXRob3JpemF0aW9uL3Blcm1pc3Npb24uZW50aXR5XCJcclxuXHJcbi8qKlxyXG4gKiBUaGUgb3BhcXVlIHRva2VucyBmb3Igc2VydmljZSBjb25maWd1cmF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IHtcclxuICBBVVRIRU5USUNBVEVEX1VTRVJfRU5EUE9JTlRcclxufSBmcm9tIFwiLi91c2VyLnNlcnZpY2VcIlxyXG5cclxuZXhwb3J0IHtVc2VyU2VydmljZX0gZnJvbSBcIi4vdXNlci5zZXJ2aWNlXCJcclxuXHJcbmV4cG9ydCB7Um9sZUNoZWNrRGlyZWN0aXZlfSBmcm9tIFwiLi9hdXRob3JpemF0aW9uL3JvbGUtY2hlY2suZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7Um9sZUNoZWNrVW5sZXNzTnVsbERpcmVjdGl2ZX0gZnJvbSBcIi4vYXV0aG9yaXphdGlvbi9yb2xlLWNoZWNrLXVubGVzcy1udWxsLmRpcmVjdGl2ZVwiO1xyXG5cclxuIl19
@@ -1,70 +1,70 @@
1
- /**
2
- * An immutable representation of an HCI user entity.
3
- *
4
- * @since 1.0.0
5
- */
6
- export class UserEntity {
7
- constructor(id, username, roles, firstname, lastname, href) {
8
- this.id = id;
9
- this.username = username;
10
- this.roles = roles;
11
- this.firstname = firstname;
12
- this.lastname = lastname;
13
- this.href = href;
14
- }
15
- /**
16
- * An accessor for the users system id.
17
- *
18
- * @returns {string} the system id
19
- * @constructor
20
- */
21
- get Id() {
22
- return this.id;
23
- }
24
- /**
25
- * An accessor for the users application identifier/username.
26
- *
27
- * @returns {string} the application id/username
28
- * @constructor
29
- */
30
- get Username() {
31
- return this.username;
32
- }
33
- /**
34
- * An accessor for the users assigned role authorization claims.
35
- *
36
- * @returns {@code RoleEntity[]} the role authorization claims
37
- * @constructor
38
- */
39
- get Roles() {
40
- return this.roles;
41
- }
42
- /**
43
- * An accessor for the users firstname.
44
- *
45
- * @return {string} the firstname
46
- * @constructor
47
- */
48
- get Firstname() {
49
- return this.firstname;
50
- }
51
- /**
52
- * A accessor for the users lastname.
53
- *
54
- * @return {string} the lastname
55
- * @constructor
56
- */
57
- get Lastname() {
58
- return this.lastname;
59
- }
60
- /**
61
- * A access for the users fully qualified href location on the system.
62
- *
63
- * @return {string} the href location
64
- * @constructor
65
- */
66
- get Href() {
67
- return this.href;
68
- }
69
- }
1
+ /**
2
+ * An immutable representation of an HCI user entity.
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ export class UserEntity {
7
+ constructor(id, username, roles, firstname, lastname, href) {
8
+ this.id = id;
9
+ this.username = username;
10
+ this.roles = roles;
11
+ this.firstname = firstname;
12
+ this.lastname = lastname;
13
+ this.href = href;
14
+ }
15
+ /**
16
+ * An accessor for the users system id.
17
+ *
18
+ * @returns {string} the system id
19
+ * @constructor
20
+ */
21
+ get Id() {
22
+ return this.id;
23
+ }
24
+ /**
25
+ * An accessor for the users application identifier/username.
26
+ *
27
+ * @returns {string} the application id/username
28
+ * @constructor
29
+ */
30
+ get Username() {
31
+ return this.username;
32
+ }
33
+ /**
34
+ * An accessor for the users assigned role authorization claims.
35
+ *
36
+ * @returns {@code RoleEntity[]} the role authorization claims
37
+ * @constructor
38
+ */
39
+ get Roles() {
40
+ return this.roles;
41
+ }
42
+ /**
43
+ * An accessor for the users firstname.
44
+ *
45
+ * @return {string} the firstname
46
+ * @constructor
47
+ */
48
+ get Firstname() {
49
+ return this.firstname;
50
+ }
51
+ /**
52
+ * A accessor for the users lastname.
53
+ *
54
+ * @return {string} the lastname
55
+ * @constructor
56
+ */
57
+ get Lastname() {
58
+ return this.lastname;
59
+ }
60
+ /**
61
+ * A access for the users fully qualified href location on the system.
62
+ *
63
+ * @return {string} the href location
64
+ * @constructor
65
+ */
66
+ get Href() {
67
+ return this.href;
68
+ }
69
+ }
70
70
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy91c2VyL3NyYy91c2VyLmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFBb0IsRUFBVSxFQUNWLFFBQWdCLEVBQ2hCLEtBQW9CLEVBQ3BCLFNBQWtCLEVBQ2xCLFFBQWlCLEVBQ2pCLElBQWE7UUFMYixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQVM7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixTQUFJLEdBQUosSUFBSSxDQUFTO0lBQ2pDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNiBIdW50c21hbiBDYW5jZXIgSW5zdGl0dXRlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIFV0YWgsIENvbmZpZGVudGlhbCBhbmQgUHJvcHJpZXRhcnlcclxuICovXHJcbmltcG9ydCB7Um9sZUVudGl0eX0gZnJvbSBcIi4vYXV0aG9yaXphdGlvbi9yb2xlLmVudGl0eVwiO1xyXG5cclxuLyoqXHJcbiAqIEFuIGltbXV0YWJsZSByZXByZXNlbnRhdGlvbiBvZiBhbiBIQ0kgdXNlciBlbnRpdHkuXHJcbiAqXHJcbiAqIEBzaW5jZSAxLjAuMFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFVzZXJFbnRpdHkge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaWQ6IHN0cmluZyxcclxuICAgICAgICAgICAgICBwcml2YXRlIHVzZXJuYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByb2xlcz86IFJvbGVFbnRpdHlbXSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGZpcnN0bmFtZT86IHN0cmluZyxcclxuICAgICAgICAgICAgICBwcml2YXRlIGxhc3RuYW1lPzogc3RyaW5nLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgaHJlZj86IHN0cmluZykge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQW4gYWNjZXNzb3IgZm9yIHRoZSB1c2VycyBzeXN0ZW0gaWQuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgc3lzdGVtIGlkXHJcbiAgICogQGNvbnN0cnVjdG9yXHJcbiAgICovXHJcbiAgZ2V0IElkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuIGFjY2Vzc29yIGZvciB0aGUgdXNlcnMgYXBwbGljYXRpb24gaWRlbnRpZmllci91c2VybmFtZS5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSBhcHBsaWNhdGlvbiBpZC91c2VybmFtZVxyXG4gICAqIEBjb25zdHJ1Y3RvclxyXG4gICAqL1xyXG4gIGdldCBVc2VybmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlcm5hbWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBbiBhY2Nlc3NvciBmb3IgdGhlIHVzZXJzIGFzc2lnbmVkIHJvbGUgYXV0aG9yaXphdGlvbiBjbGFpbXMuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7QGNvZGUgUm9sZUVudGl0eVtdfSB0aGUgcm9sZSBhdXRob3JpemF0aW9uIGNsYWltc1xyXG4gICAqIEBjb25zdHJ1Y3RvclxyXG4gICAqL1xyXG4gIGdldCBSb2xlcygpOiBSb2xlRW50aXR5W10ge1xyXG4gICAgcmV0dXJuIHRoaXMucm9sZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBbiBhY2Nlc3NvciBmb3IgdGhlIHVzZXJzIGZpcnN0bmFtZS5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gdGhlIGZpcnN0bmFtZVxyXG4gICAqIEBjb25zdHJ1Y3RvclxyXG4gICAqL1xyXG4gIGdldCBGaXJzdG5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmZpcnN0bmFtZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgYWNjZXNzb3IgZm9yIHRoZSB1c2VycyBsYXN0bmFtZS5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gdGhlIGxhc3RuYW1lXHJcbiAgICogQGNvbnN0cnVjdG9yXHJcbiAgICovXHJcbiAgZ2V0IExhc3RuYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXN0bmFtZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgYWNjZXNzIGZvciB0aGUgdXNlcnMgZnVsbHkgcXVhbGlmaWVkIGhyZWYgbG9jYXRpb24gb24gdGhlIHN5c3RlbS5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gdGhlIGhyZWYgbG9jYXRpb25cclxuICAgKiBAY29uc3RydWN0b3JcclxuICAgKi9cclxuICBnZXQgSHJlZigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaHJlZjtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,53 +1,53 @@
1
- /*
2
- * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
3
- */
4
- import { NgModule } from "@angular/core";
5
- import { CommonModule } from "@angular/common";
6
- import { ReactiveFormsModule, FormsModule } from "@angular/forms";
7
- import { UserService } from "./user.service";
8
- import { RoleCheckDirective } from "./authorization/role-check.directive";
9
- import { RoleCheckUnlessNullDirective } from "./authorization/role-check-unless-null.directive";
10
- import * as i0 from "@angular/core";
11
- /**
12
- * A feature module for user related services, directives, pipes, etc...
13
- *
14
- * @since 1.0.0
15
- */
16
- export class UserModule {
17
- static forRoot() {
18
- return {
19
- providers: [
20
- UserService
21
- ],
22
- ngModule: UserModule
23
- };
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: UserModule, declarations: [RoleCheckDirective,
27
- RoleCheckUnlessNullDirective], imports: [CommonModule,
28
- ReactiveFormsModule,
29
- FormsModule], exports: [RoleCheckDirective,
30
- RoleCheckUnlessNullDirective] }); }
31
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserModule, imports: [CommonModule,
32
- ReactiveFormsModule,
33
- FormsModule] }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserModule, decorators: [{
36
- type: NgModule,
37
- args: [{
38
- imports: [
39
- CommonModule,
40
- ReactiveFormsModule,
41
- FormsModule
42
- ],
43
- declarations: [
44
- RoleCheckDirective,
45
- RoleCheckUnlessNullDirective
46
- ],
47
- exports: [
48
- RoleCheckDirective,
49
- RoleCheckUnlessNullDirective
50
- ]
51
- }]
52
- }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy91c2VyL3NyYy91c2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBc0IsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDOztBQUU5Rjs7OztHQUlHO0FBZ0JILE1BQU0sT0FBTyxVQUFVO0lBQ3JCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxXQUFXO2FBQ1o7WUFDRCxRQUFRLEVBQUUsVUFBVTtTQUNyQixDQUFDO0lBQ0osQ0FBQzsrR0FSVSxVQUFVO2dIQUFWLFVBQVUsaUJBUm5CLGtCQUFrQjtZQUNsQiw0QkFBNEIsYUFONUIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixXQUFXLGFBT1gsa0JBQWtCO1lBQ2xCLDRCQUE0QjtnSEFHbkIsVUFBVSxZQWJuQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFdBQVc7OzRGQVdGLFVBQVU7a0JBZnRCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3FCQUNaO29CQUNELFlBQVksRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsNEJBQTRCO3FCQUM3QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNiBIdW50c21hbiBDYW5jZXIgSW5zdGl0dXRlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIFV0YWgsIENvbmZpZGVudGlhbCBhbmQgUHJvcHJpZXRhcnlcclxuICovXHJcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuaW1wb3J0IHtVc2VyU2VydmljZX0gZnJvbSBcIi4vdXNlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Um9sZUNoZWNrRGlyZWN0aXZlfSBmcm9tIFwiLi9hdXRob3JpemF0aW9uL3JvbGUtY2hlY2suZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7Um9sZUNoZWNrVW5sZXNzTnVsbERpcmVjdGl2ZX0gZnJvbSBcIi4vYXV0aG9yaXphdGlvbi9yb2xlLWNoZWNrLXVubGVzcy1udWxsLmRpcmVjdGl2ZVwiO1xyXG5cclxuLyoqXHJcbiAqIEEgZmVhdHVyZSBtb2R1bGUgZm9yIHVzZXIgcmVsYXRlZCBzZXJ2aWNlcywgZGlyZWN0aXZlcywgcGlwZXMsIGV0Yy4uLlxyXG4gKlxyXG4gKiBAc2luY2UgMS4wLjBcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFJvbGVDaGVja0RpcmVjdGl2ZSxcclxuICAgIFJvbGVDaGVja1VubGVzc051bGxEaXJlY3RpdmVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJvbGVDaGVja0RpcmVjdGl2ZSxcclxuICAgIFJvbGVDaGVja1VubGVzc051bGxEaXJlY3RpdmVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFVzZXJNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFVzZXJTZXJ2aWNlXHJcbiAgICAgIF0sXHJcbiAgICAgIG5nTW9kdWxlOiBVc2VyTW9kdWxlXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ /*
2
+ * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
3
+ */
4
+ import { NgModule } from "@angular/core";
5
+ import { CommonModule } from "@angular/common";
6
+ import { ReactiveFormsModule, FormsModule } from "@angular/forms";
7
+ import { UserService } from "./user.service";
8
+ import { RoleCheckDirective } from "./authorization/role-check.directive";
9
+ import { RoleCheckUnlessNullDirective } from "./authorization/role-check-unless-null.directive";
10
+ import * as i0 from "@angular/core";
11
+ /**
12
+ * A feature module for user related services, directives, pipes, etc...
13
+ *
14
+ * @since 1.0.0
15
+ */
16
+ export class UserModule {
17
+ static forRoot() {
18
+ return {
19
+ providers: [
20
+ UserService
21
+ ],
22
+ ngModule: UserModule
23
+ };
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: UserModule, declarations: [RoleCheckDirective,
27
+ RoleCheckUnlessNullDirective], imports: [CommonModule,
28
+ ReactiveFormsModule,
29
+ FormsModule], exports: [RoleCheckDirective,
30
+ RoleCheckUnlessNullDirective] }); }
31
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserModule, imports: [CommonModule,
32
+ ReactiveFormsModule,
33
+ FormsModule] }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserModule, decorators: [{
36
+ type: NgModule,
37
+ args: [{
38
+ imports: [
39
+ CommonModule,
40
+ ReactiveFormsModule,
41
+ FormsModule
42
+ ],
43
+ declarations: [
44
+ RoleCheckDirective,
45
+ RoleCheckUnlessNullDirective
46
+ ],
47
+ exports: [
48
+ RoleCheckDirective,
49
+ RoleCheckUnlessNullDirective
50
+ ]
51
+ }]
52
+ }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy91c2VyL3NyYy91c2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBc0IsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDOztBQUU5Rjs7OztHQUlHO0FBZ0JILE1BQU0sT0FBTyxVQUFVO0lBQ3JCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxXQUFXO2FBQ1o7WUFDRCxRQUFRLEVBQUUsVUFBVTtTQUNyQixDQUFDO0lBQ0osQ0FBQzs4R0FSVSxVQUFVOytHQUFWLFVBQVUsaUJBUm5CLGtCQUFrQjtZQUNsQiw0QkFBNEIsYUFONUIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixXQUFXLGFBT1gsa0JBQWtCO1lBQ2xCLDRCQUE0QjsrR0FHbkIsVUFBVSxZQWJuQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFdBQVc7OzJGQVdGLFVBQVU7a0JBZnRCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3FCQUNaO29CQUNELFlBQVksRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsNEJBQTRCO3FCQUM3QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNiBIdW50c21hbiBDYW5jZXIgSW5zdGl0dXRlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIFV0YWgsIENvbmZpZGVudGlhbCBhbmQgUHJvcHJpZXRhcnlcclxuICovXHJcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuaW1wb3J0IHtVc2VyU2VydmljZX0gZnJvbSBcIi4vdXNlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Um9sZUNoZWNrRGlyZWN0aXZlfSBmcm9tIFwiLi9hdXRob3JpemF0aW9uL3JvbGUtY2hlY2suZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7Um9sZUNoZWNrVW5sZXNzTnVsbERpcmVjdGl2ZX0gZnJvbSBcIi4vYXV0aG9yaXphdGlvbi9yb2xlLWNoZWNrLXVubGVzcy1udWxsLmRpcmVjdGl2ZVwiO1xyXG5cclxuLyoqXHJcbiAqIEEgZmVhdHVyZSBtb2R1bGUgZm9yIHVzZXIgcmVsYXRlZCBzZXJ2aWNlcywgZGlyZWN0aXZlcywgcGlwZXMsIGV0Yy4uLlxyXG4gKlxyXG4gKiBAc2luY2UgMS4wLjBcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFJvbGVDaGVja0RpcmVjdGl2ZSxcclxuICAgIFJvbGVDaGVja1VubGVzc051bGxEaXJlY3RpdmVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJvbGVDaGVja0RpcmVjdGl2ZSxcclxuICAgIFJvbGVDaGVja1VubGVzc051bGxEaXJlY3RpdmVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFVzZXJNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFVzZXJTZXJ2aWNlXHJcbiAgICAgIF0sXHJcbiAgICAgIG5nTW9kdWxlOiBVc2VyTW9kdWxlXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,98 +1,98 @@
1
- /*
2
- * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
3
- */
4
- import { Injectable, InjectionToken, Inject, isDevMode } from "@angular/core";
5
- import { HttpClient, HttpHeaders } from "@angular/common/http";
6
- import { of, throwError } from "rxjs";
7
- import { catchError, map } from "rxjs/operators";
8
- import { UserEntity } from "./user.entity";
9
- import { RoleEntity } from "./authorization/role.entity";
10
- import { PermissionEntity } from "./authorization/permission.entity";
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common/http";
13
- export let AUTHENTICATED_USER_ENDPOINT = new InjectionToken("authenticated_user_url");
14
- /**
15
- * @since 1.0.0
16
- */
17
- export class UserService {
18
- /**
19
- * The generic error message used when a server error is thrown without a status.
20
- *
21
- * @type {string}
22
- */
23
- static { this.GENERIC_ERR_MSG = "Server error"; }
24
- constructor(_http, _authenticationUserEndpoint) {
25
- this._http = _http;
26
- this._authenticationUserEndpoint = _authenticationUserEndpoint;
27
- this._authenticatedUser = null;
28
- }
29
- /**
30
- * An accessor for an {@code Observable<UserEntity>} reflecting the currently authenticated user. If no subject is
31
- * available, the appropriate response status should be returned from the server to indicate that condition
32
- * (i.e. 404 - Not Found).
33
- *
34
- * @returns {Observable<UserEntity>} the currently authenticated user representation
35
- */
36
- getAuthenticatedUser() {
37
- if (isDevMode() && console && console.debug) {
38
- console.debug("getAuthenticatedUser");
39
- }
40
- if (!this._authenticatedUser) {
41
- if (isDevMode() && console && console.debug) {
42
- console.debug("_authenticationUserEndpoint: " + this._authenticationUserEndpoint);
43
- }
44
- return this._http.get(this._authenticationUserEndpoint, { observe: "response" }).pipe(map((resp) => {
45
- if (resp.status === 200) {
46
- this._authenticatedUser = this.buildUserEntity(resp.body);
47
- return this._authenticatedUser;
48
- }
49
- else {
50
- throw new Error("Get authenticated user failed. " + resp.status + ": " + resp.statusText);
51
- }
52
- }), catchError(this.handleError));
53
- }
54
- else {
55
- return of(this._authenticatedUser);
56
- }
57
- }
58
- handleError(error) {
59
- let errMsg = (error.message) ? error.message : UserService.GENERIC_ERR_MSG;
60
- return throwError(() => new Error(errMsg));
61
- }
62
- /**
63
- * TODO: Add in a deserializer into the entity.
64
- *
65
- * @param userJson
66
- * @returns {UserEntity}
67
- */
68
- buildUserEntity(userJson) {
69
- let roles = [];
70
- if (userJson.roles) {
71
- userJson.roles.map((role) => {
72
- let permissions;
73
- if (role.permissions) {
74
- /* TODO: JEH (10/27/16) - Revisit when we determine how permission are communicated to the client, if necessary */
75
- permissions = role.permissions.map((permission) => {
76
- return new PermissionEntity(permission.domain, permission.actions, permission.instances);
77
- });
78
- }
79
- roles.push(new RoleEntity(role.roleName, permissions));
80
- });
81
- }
82
- return new UserEntity(userJson.idUser, userJson.username, roles, userJson.firstname, userJson.lastname, userJson.href);
83
- }
84
- getPermissions(governorClass, governorId, governedClass) {
85
- let headers = new HttpHeaders()
86
- .set("SecurityGovernorClass", governorClass).set("SecurityGovernorId", String(governorId));
87
- return this._http.get("/core/api/user/permissions/" + governedClass, { headers: headers });
88
- }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserService, deps: [{ token: i1.HttpClient }, { token: AUTHENTICATED_USER_ENDPOINT }], target: i0.ɵɵFactoryTarget.Injectable }); }
90
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserService }); }
91
- }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserService, decorators: [{
93
- type: Injectable
94
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
95
- type: Inject,
96
- args: [AUTHENTICATED_USER_ENDPOINT]
97
- }] }]; } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvdXNlci9zcmMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUMsVUFBVSxFQUFnQixXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRSxPQUFPLEVBQWEsRUFBRSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7QUFFbkUsTUFBTSxDQUFDLElBQUksMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQVMsd0JBQXdCLENBQUMsQ0FBQztBQUU5Rjs7R0FFRztBQUVILE1BQU0sT0FBTyxXQUFXO0lBQ3RCOzs7O09BSUc7YUFDVyxvQkFBZSxHQUFXLGNBQWMsQ0FBQztJQUl2RCxZQUFvQixLQUFpQixFQUErQywyQkFBbUM7UUFBbkcsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUErQyxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQVE7UUFGL0csdUJBQWtCLEdBQWUsSUFBSSxDQUFDO0lBRTRFLENBQUM7SUFFM0g7Ozs7OztPQU1HO0lBQ0ksb0JBQW9CO1FBQ3pCLElBQUksU0FBUyxFQUFFLElBQVMsT0FBTyxJQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDckQsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3ZD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QUE2QixHQUFHLGFBQWEsRUFBRSxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7K0dBN0VVLFdBQVcsNENBVXlCLDJCQUEyQjttSEFWL0QsV0FBVzs7NEZBQVgsV0FBVztrQkFEdkIsVUFBVTs7MEJBVytCLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChjKSAyMDE2IEh1bnRzbWFuIENhbmNlciBJbnN0aXR1dGUgYXQgdGhlIFVuaXZlcnNpdHkgb2YgVXRhaCwgQ29uZmlkZW50aWFsIGFuZCBQcm9wcmlldGFyeVxyXG4gKi9cclxuaW1wb3J0IHtJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0LCBpc0Rldk1vZGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cFJlc3BvbnNlLCBIdHRwSGVhZGVyc30gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG5pbXBvcnQge09ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5pbXBvcnQge1VzZXJFbnRpdHl9IGZyb20gXCIuL3VzZXIuZW50aXR5XCI7XHJcbmltcG9ydCB7Um9sZUVudGl0eX0gZnJvbSBcIi4vYXV0aG9yaXphdGlvbi9yb2xlLmVudGl0eVwiO1xyXG5pbXBvcnQge1Blcm1pc3Npb25FbnRpdHl9IGZyb20gXCIuL2F1dGhvcml6YXRpb24vcGVybWlzc2lvbi5lbnRpdHlcIjtcclxuXHJcbmV4cG9ydCBsZXQgQVVUSEVOVElDQVRFRF9VU0VSX0VORFBPSU5UID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXCJhdXRoZW50aWNhdGVkX3VzZXJfdXJsXCIpO1xyXG5cclxuLyoqXHJcbiAqIEBzaW5jZSAxLjAuMFxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIFRoZSBnZW5lcmljIGVycm9yIG1lc3NhZ2UgdXNlZCB3aGVuIGEgc2VydmVyIGVycm9yIGlzIHRocm93biB3aXRob3V0IGEgc3RhdHVzLlxyXG4gICAqXHJcbiAgICogQHR5cGUge3N0cmluZ31cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIEdFTkVSSUNfRVJSX01TRzogc3RyaW5nID0gXCJTZXJ2ZXIgZXJyb3JcIjtcclxuXHJcbiAgcHJpdmF0ZSBfYXV0aGVudGljYXRlZFVzZXI6IFVzZXJFbnRpdHkgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KEFVVEhFTlRJQ0FURURfVVNFUl9FTkRQT0lOVCkgcHJpdmF0ZSBfYXV0aGVudGljYXRpb25Vc2VyRW5kcG9pbnQ6IHN0cmluZykge31cclxuXHJcbiAgLyoqXHJcbiAgICogQW4gYWNjZXNzb3IgZm9yIGFuIHtAY29kZSBPYnNlcnZhYmxlPFVzZXJFbnRpdHk+fSByZWZsZWN0aW5nIHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCB1c2VyLiBJZiBubyBzdWJqZWN0IGlzXHJcbiAgICogYXZhaWxhYmxlLCB0aGUgYXBwcm9wcmlhdGUgcmVzcG9uc2Ugc3RhdHVzIHNob3VsZCBiZSByZXR1cm5lZCBmcm9tIHRoZSBzZXJ2ZXIgdG8gaW5kaWNhdGUgdGhhdCBjb25kaXRpb25cclxuICAgKiAoaS5lLiA0MDQgLSBOb3QgRm91bmQpLlxyXG4gICAqXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8VXNlckVudGl0eT59IHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCB1c2VyIHJlcHJlc2VudGF0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIGdldEF1dGhlbnRpY2F0ZWRVc2VyKCk6IE9ic2VydmFibGU8VXNlckVudGl0eT4ge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpICYmIDxhbnk+Y29uc29sZSAmJiA8YW55PmNvbnNvbGUuZGVidWcpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcImdldEF1dGhlbnRpY2F0ZWRVc2VyXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5fYXV0aGVudGljYXRlZFVzZXIpIHtcclxuICAgICAgaWYgKGlzRGV2TW9kZSgpICYmIDxhbnk+Y29uc29sZSAmJiA8YW55PmNvbnNvbGUuZGVidWcpIHtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKFwiX2F1dGhlbnRpY2F0aW9uVXNlckVuZHBvaW50OiBcIiArIHRoaXMuX2F1dGhlbnRpY2F0aW9uVXNlckVuZHBvaW50KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0KHRoaXMuX2F1dGhlbnRpY2F0aW9uVXNlckVuZHBvaW50LCB7IG9ic2VydmU6IFwicmVzcG9uc2VcIiB9KS5waXBlKG1hcCgocmVzcDogSHR0cFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICBpZiAocmVzcC5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5fYXV0aGVudGljYXRlZFVzZXIgPSB0aGlzLmJ1aWxkVXNlckVudGl0eShyZXNwLmJvZHkpO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2F1dGhlbnRpY2F0ZWRVc2VyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJHZXQgYXV0aGVudGljYXRlZCB1c2VyIGZhaWxlZC4gXCIgKyByZXNwLnN0YXR1cyArIFwiOiBcIiArIHJlc3Auc3RhdHVzVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBvZih0aGlzLl9hdXRoZW50aWNhdGVkVXNlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpIHtcclxuICAgIGxldCBlcnJNc2cgPSAoZXJyb3IubWVzc2FnZSkgPyBlcnJvci5tZXNzYWdlIDogVXNlclNlcnZpY2UuR0VORVJJQ19FUlJfTVNHO1xyXG4gICAgXHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoZXJyTXNnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUT0RPOiBBZGQgaW4gYSBkZXNlcmlhbGl6ZXIgaW50byB0aGUgZW50aXR5LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHVzZXJKc29uXHJcbiAgICogQHJldHVybnMge1VzZXJFbnRpdHl9XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBidWlsZFVzZXJFbnRpdHkodXNlckpzb246IGFueSk6IFVzZXJFbnRpdHkge1xyXG4gICAgbGV0IHJvbGVzOiBSb2xlRW50aXR5W10gPSBbXTtcclxuICAgIGlmICh1c2VySnNvbi5yb2xlcykge1xyXG4gICAgICB1c2VySnNvbi5yb2xlcy5tYXAoKHJvbGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCBwZXJtaXNzaW9uczogUGVybWlzc2lvbkVudGl0eVtdO1xyXG4gICAgICAgIGlmIChyb2xlLnBlcm1pc3Npb25zKSB7XHJcbiAgICAgICAgICAvKiBUT0RPOiBKRUggKDEwLzI3LzE2KSAtIFJldmlzaXQgd2hlbiB3ZSBkZXRlcm1pbmUgaG93IHBlcm1pc3Npb24gYXJlIGNvbW11bmljYXRlZCB0byB0aGUgY2xpZW50LCBpZiBuZWNlc3NhcnkgKi9cclxuICAgICAgICAgIHBlcm1pc3Npb25zID0gcm9sZS5wZXJtaXNzaW9ucy5tYXAoKHBlcm1pc3Npb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFBlcm1pc3Npb25FbnRpdHkocGVybWlzc2lvbi5kb21haW4sIHBlcm1pc3Npb24uYWN0aW9ucywgcGVybWlzc2lvbi5pbnN0YW5jZXMpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJvbGVzLnB1c2gobmV3IFJvbGVFbnRpdHkocm9sZS5yb2xlTmFtZSwgcGVybWlzc2lvbnMpKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5ldyBVc2VyRW50aXR5KHVzZXJKc29uLmlkVXNlciwgdXNlckpzb24udXNlcm5hbWUsIHJvbGVzLCB1c2VySnNvbi5maXJzdG5hbWUsIHVzZXJKc29uLmxhc3RuYW1lLCB1c2VySnNvbi5ocmVmKTtcclxuICB9XHJcbiAgXHJcbiAgcHVibGljIGdldFBlcm1pc3Npb25zKGdvdmVybm9yQ2xhc3M6IHN0cmluZywgZ292ZXJub3JJZDogbnVtYmVyLCBnb3Zlcm5lZENsYXNzOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4gIHtcclxuICAgICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxyXG4gICAgICAuc2V0KFwiU2VjdXJpdHlHb3Zlcm5vckNsYXNzXCIsIGdvdmVybm9yQ2xhc3MpLnNldChcIlNlY3VyaXR5R292ZXJub3JJZFwiLCBTdHJpbmcoZ292ZXJub3JJZCkpO1xyXG4gICAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQoXCIvY29yZS9hcGkvdXNlci9wZXJtaXNzaW9ucy9cIiArIGdvdmVybmVkQ2xhc3MsIHtoZWFkZXJzOiBoZWFkZXJzfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ /*
2
+ * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary
3
+ */
4
+ import { Injectable, InjectionToken, Inject, isDevMode } from "@angular/core";
5
+ import { HttpClient, HttpHeaders } from "@angular/common/http";
6
+ import { of, throwError } from "rxjs";
7
+ import { catchError, map } from "rxjs/operators";
8
+ import { UserEntity } from "./user.entity";
9
+ import { RoleEntity } from "./authorization/role.entity";
10
+ import { PermissionEntity } from "./authorization/permission.entity";
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/common/http";
13
+ export let AUTHENTICATED_USER_ENDPOINT = new InjectionToken("authenticated_user_url");
14
+ /**
15
+ * @since 1.0.0
16
+ */
17
+ export class UserService {
18
+ /**
19
+ * The generic error message used when a server error is thrown without a status.
20
+ *
21
+ * @type {string}
22
+ */
23
+ static { this.GENERIC_ERR_MSG = "Server error"; }
24
+ constructor(_http, _authenticationUserEndpoint) {
25
+ this._http = _http;
26
+ this._authenticationUserEndpoint = _authenticationUserEndpoint;
27
+ this._authenticatedUser = null;
28
+ }
29
+ /**
30
+ * An accessor for an {@code Observable<UserEntity>} reflecting the currently authenticated user. If no subject is
31
+ * available, the appropriate response status should be returned from the server to indicate that condition
32
+ * (i.e. 404 - Not Found).
33
+ *
34
+ * @returns {Observable<UserEntity>} the currently authenticated user representation
35
+ */
36
+ getAuthenticatedUser() {
37
+ if (isDevMode() && console && console.debug) {
38
+ console.debug("getAuthenticatedUser");
39
+ }
40
+ if (!this._authenticatedUser) {
41
+ if (isDevMode() && console && console.debug) {
42
+ console.debug("_authenticationUserEndpoint: " + this._authenticationUserEndpoint);
43
+ }
44
+ return this._http.get(this._authenticationUserEndpoint, { observe: "response" }).pipe(map((resp) => {
45
+ if (resp.status === 200) {
46
+ this._authenticatedUser = this.buildUserEntity(resp.body);
47
+ return this._authenticatedUser;
48
+ }
49
+ else {
50
+ throw new Error("Get authenticated user failed. " + resp.status + ": " + resp.statusText);
51
+ }
52
+ }), catchError(this.handleError));
53
+ }
54
+ else {
55
+ return of(this._authenticatedUser);
56
+ }
57
+ }
58
+ handleError(error) {
59
+ let errMsg = (error.message) ? error.message : UserService.GENERIC_ERR_MSG;
60
+ return throwError(() => new Error(errMsg));
61
+ }
62
+ /**
63
+ * TODO: Add in a deserializer into the entity.
64
+ *
65
+ * @param userJson
66
+ * @returns {UserEntity}
67
+ */
68
+ buildUserEntity(userJson) {
69
+ let roles = [];
70
+ if (userJson.roles) {
71
+ userJson.roles.map((role) => {
72
+ let permissions;
73
+ if (role.permissions) {
74
+ /* TODO: JEH (10/27/16) - Revisit when we determine how permission are communicated to the client, if necessary */
75
+ permissions = role.permissions.map((permission) => {
76
+ return new PermissionEntity(permission.domain, permission.actions, permission.instances);
77
+ });
78
+ }
79
+ roles.push(new RoleEntity(role.roleName, permissions));
80
+ });
81
+ }
82
+ return new UserEntity(userJson.idUser, userJson.username, roles, userJson.firstname, userJson.lastname, userJson.href);
83
+ }
84
+ getPermissions(governorClass, governorId, governedClass) {
85
+ let headers = new HttpHeaders()
86
+ .set("SecurityGovernorClass", governorClass).set("SecurityGovernorId", String(governorId));
87
+ return this._http.get("/core/api/user/permissions/" + governedClass, { headers: headers });
88
+ }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserService, deps: [{ token: i1.HttpClient }, { token: AUTHENTICATED_USER_ENDPOINT }], target: i0.ɵɵFactoryTarget.Injectable }); }
90
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserService }); }
91
+ }
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserService, decorators: [{
93
+ type: Injectable
94
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
95
+ type: Inject,
96
+ args: [AUTHENTICATED_USER_ENDPOINT]
97
+ }] }] });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvdXNlci9zcmMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUMsVUFBVSxFQUFnQixXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRSxPQUFPLEVBQWEsRUFBRSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7QUFFbkUsTUFBTSxDQUFDLElBQUksMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQVMsd0JBQXdCLENBQUMsQ0FBQztBQUU5Rjs7R0FFRztBQUVILE1BQU0sT0FBTyxXQUFXO0lBQ3RCOzs7O09BSUc7YUFDVyxvQkFBZSxHQUFXLGNBQWMsQUFBekIsQ0FBMEI7SUFJdkQsWUFBb0IsS0FBaUIsRUFBK0MsMkJBQW1DO1FBQW5HLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBK0MsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUFRO1FBRi9HLHVCQUFrQixHQUFlLElBQUksQ0FBQztJQUU0RSxDQUFDO0lBRTNIOzs7Ozs7T0FNRztJQUNJLG9CQUFvQjtRQUN6QixJQUFJLFNBQVMsRUFBRSxJQUFTLE9BQU8sSUFBUyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDN0IsSUFBSSxTQUFTLEVBQUUsSUFBUyxPQUFPLElBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN0RCxPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1lBQ3BGLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUF1QixFQUFFLEVBQUU7Z0JBQ3BILElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUM1RixDQUFDO1lBQ0gsQ0FBQyxDQUFDLEVBQ0EsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsS0FBVTtRQUM1QixJQUFJLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQztRQUUzRSxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGVBQWUsQ0FBQyxRQUFhO1FBQ25DLElBQUksS0FBSyxHQUFpQixFQUFFLENBQUM7UUFDN0IsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxXQUErQixDQUFDO2dCQUNwQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDckIsa0hBQWtIO29CQUNsSCxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRTt3QkFDckQsT0FBTyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQzNGLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDekQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekgsQ0FBQztJQUVNLGNBQWMsQ0FBQyxhQUFxQixFQUFFLFVBQWtCLEVBQUUsYUFBcUI7UUFDbEYsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUU7YUFDOUIsR0FBRyxDQUFDLHVCQUF1QixFQUFFLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMzRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLDZCQUE2QixHQUFHLGFBQWEsRUFBRSxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7OEdBN0VVLFdBQVcsNENBVXlCLDJCQUEyQjtrSEFWL0QsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVTs7MEJBVytCLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChjKSAyMDE2IEh1bnRzbWFuIENhbmNlciBJbnN0aXR1dGUgYXQgdGhlIFVuaXZlcnNpdHkgb2YgVXRhaCwgQ29uZmlkZW50aWFsIGFuZCBQcm9wcmlldGFyeVxyXG4gKi9cclxuaW1wb3J0IHtJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0LCBpc0Rldk1vZGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cFJlc3BvbnNlLCBIdHRwSGVhZGVyc30gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG5pbXBvcnQge09ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5pbXBvcnQge1VzZXJFbnRpdHl9IGZyb20gXCIuL3VzZXIuZW50aXR5XCI7XHJcbmltcG9ydCB7Um9sZUVudGl0eX0gZnJvbSBcIi4vYXV0aG9yaXphdGlvbi9yb2xlLmVudGl0eVwiO1xyXG5pbXBvcnQge1Blcm1pc3Npb25FbnRpdHl9IGZyb20gXCIuL2F1dGhvcml6YXRpb24vcGVybWlzc2lvbi5lbnRpdHlcIjtcclxuXHJcbmV4cG9ydCBsZXQgQVVUSEVOVElDQVRFRF9VU0VSX0VORFBPSU5UID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXCJhdXRoZW50aWNhdGVkX3VzZXJfdXJsXCIpO1xyXG5cclxuLyoqXHJcbiAqIEBzaW5jZSAxLjAuMFxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIFRoZSBnZW5lcmljIGVycm9yIG1lc3NhZ2UgdXNlZCB3aGVuIGEgc2VydmVyIGVycm9yIGlzIHRocm93biB3aXRob3V0IGEgc3RhdHVzLlxyXG4gICAqXHJcbiAgICogQHR5cGUge3N0cmluZ31cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIEdFTkVSSUNfRVJSX01TRzogc3RyaW5nID0gXCJTZXJ2ZXIgZXJyb3JcIjtcclxuXHJcbiAgcHJpdmF0ZSBfYXV0aGVudGljYXRlZFVzZXI6IFVzZXJFbnRpdHkgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KEFVVEhFTlRJQ0FURURfVVNFUl9FTkRQT0lOVCkgcHJpdmF0ZSBfYXV0aGVudGljYXRpb25Vc2VyRW5kcG9pbnQ6IHN0cmluZykge31cclxuXHJcbiAgLyoqXHJcbiAgICogQW4gYWNjZXNzb3IgZm9yIGFuIHtAY29kZSBPYnNlcnZhYmxlPFVzZXJFbnRpdHk+fSByZWZsZWN0aW5nIHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCB1c2VyLiBJZiBubyBzdWJqZWN0IGlzXHJcbiAgICogYXZhaWxhYmxlLCB0aGUgYXBwcm9wcmlhdGUgcmVzcG9uc2Ugc3RhdHVzIHNob3VsZCBiZSByZXR1cm5lZCBmcm9tIHRoZSBzZXJ2ZXIgdG8gaW5kaWNhdGUgdGhhdCBjb25kaXRpb25cclxuICAgKiAoaS5lLiA0MDQgLSBOb3QgRm91bmQpLlxyXG4gICAqXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8VXNlckVudGl0eT59IHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCB1c2VyIHJlcHJlc2VudGF0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIGdldEF1dGhlbnRpY2F0ZWRVc2VyKCk6IE9ic2VydmFibGU8VXNlckVudGl0eT4ge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpICYmIDxhbnk+Y29uc29sZSAmJiA8YW55PmNvbnNvbGUuZGVidWcpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcImdldEF1dGhlbnRpY2F0ZWRVc2VyXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5fYXV0aGVudGljYXRlZFVzZXIpIHtcclxuICAgICAgaWYgKGlzRGV2TW9kZSgpICYmIDxhbnk+Y29uc29sZSAmJiA8YW55PmNvbnNvbGUuZGVidWcpIHtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKFwiX2F1dGhlbnRpY2F0aW9uVXNlckVuZHBvaW50OiBcIiArIHRoaXMuX2F1dGhlbnRpY2F0aW9uVXNlckVuZHBvaW50KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0KHRoaXMuX2F1dGhlbnRpY2F0aW9uVXNlckVuZHBvaW50LCB7IG9ic2VydmU6IFwicmVzcG9uc2VcIiB9KS5waXBlKG1hcCgocmVzcDogSHR0cFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICBpZiAocmVzcC5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5fYXV0aGVudGljYXRlZFVzZXIgPSB0aGlzLmJ1aWxkVXNlckVudGl0eShyZXNwLmJvZHkpO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2F1dGhlbnRpY2F0ZWRVc2VyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJHZXQgYXV0aGVudGljYXRlZCB1c2VyIGZhaWxlZC4gXCIgKyByZXNwLnN0YXR1cyArIFwiOiBcIiArIHJlc3Auc3RhdHVzVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBvZih0aGlzLl9hdXRoZW50aWNhdGVkVXNlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpIHtcclxuICAgIGxldCBlcnJNc2cgPSAoZXJyb3IubWVzc2FnZSkgPyBlcnJvci5tZXNzYWdlIDogVXNlclNlcnZpY2UuR0VORVJJQ19FUlJfTVNHO1xyXG4gICAgXHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoZXJyTXNnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUT0RPOiBBZGQgaW4gYSBkZXNlcmlhbGl6ZXIgaW50byB0aGUgZW50aXR5LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHVzZXJKc29uXHJcbiAgICogQHJldHVybnMge1VzZXJFbnRpdHl9XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBidWlsZFVzZXJFbnRpdHkodXNlckpzb246IGFueSk6IFVzZXJFbnRpdHkge1xyXG4gICAgbGV0IHJvbGVzOiBSb2xlRW50aXR5W10gPSBbXTtcclxuICAgIGlmICh1c2VySnNvbi5yb2xlcykge1xyXG4gICAgICB1c2VySnNvbi5yb2xlcy5tYXAoKHJvbGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCBwZXJtaXNzaW9uczogUGVybWlzc2lvbkVudGl0eVtdO1xyXG4gICAgICAgIGlmIChyb2xlLnBlcm1pc3Npb25zKSB7XHJcbiAgICAgICAgICAvKiBUT0RPOiBKRUggKDEwLzI3LzE2KSAtIFJldmlzaXQgd2hlbiB3ZSBkZXRlcm1pbmUgaG93IHBlcm1pc3Npb24gYXJlIGNvbW11bmljYXRlZCB0byB0aGUgY2xpZW50LCBpZiBuZWNlc3NhcnkgKi9cclxuICAgICAgICAgIHBlcm1pc3Npb25zID0gcm9sZS5wZXJtaXNzaW9ucy5tYXAoKHBlcm1pc3Npb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFBlcm1pc3Npb25FbnRpdHkocGVybWlzc2lvbi5kb21haW4sIHBlcm1pc3Npb24uYWN0aW9ucywgcGVybWlzc2lvbi5pbnN0YW5jZXMpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJvbGVzLnB1c2gobmV3IFJvbGVFbnRpdHkocm9sZS5yb2xlTmFtZSwgcGVybWlzc2lvbnMpKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5ldyBVc2VyRW50aXR5KHVzZXJKc29uLmlkVXNlciwgdXNlckpzb24udXNlcm5hbWUsIHJvbGVzLCB1c2VySnNvbi5maXJzdG5hbWUsIHVzZXJKc29uLmxhc3RuYW1lLCB1c2VySnNvbi5ocmVmKTtcclxuICB9XHJcbiAgXHJcbiAgcHVibGljIGdldFBlcm1pc3Npb25zKGdvdmVybm9yQ2xhc3M6IHN0cmluZywgZ292ZXJub3JJZDogbnVtYmVyLCBnb3Zlcm5lZENsYXNzOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4gIHtcclxuICAgICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxyXG4gICAgICAuc2V0KFwiU2VjdXJpdHlHb3Zlcm5vckNsYXNzXCIsIGdvdmVybm9yQ2xhc3MpLnNldChcIlNlY3VyaXR5R292ZXJub3JJZFwiLCBTdHJpbmcoZ292ZXJub3JJZCkpO1xyXG4gICAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQoXCIvY29yZS9hcGkvdXNlci9wZXJtaXNzaW9ucy9cIiArIGdvdmVybmVkQ2xhc3MsIHtoZWFkZXJzOiBoZWFkZXJzfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==