@memberjunction/core-entities 2.7.0 → 2.8.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.
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.d.ts +53 -0
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.d.ts.map +1 -0
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js +141 -0
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js.map +1 -0
- package/dist/custom/UserViewEntity.d.ts +30 -0
- package/dist/custom/UserViewEntity.d.ts.map +1 -1
- package/dist/custom/UserViewEntity.js +138 -10
- package/dist/custom/UserViewEntity.js.map +1 -1
- package/dist/generated/entity_subclasses.d.ts +359 -4
- package/dist/generated/entity_subclasses.d.ts.map +1 -1
- package/dist/generated/entity_subclasses.js +668 -155
- package/dist/generated/entity_subclasses.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { BaseEngine, UserInfo } from "@memberjunction/core";
|
|
2
|
+
import { ResourcePermissionEntity, ResourceTypeEntity } from "../../generated/entity_subclasses";
|
|
3
|
+
/**
|
|
4
|
+
* Resource Permission Engine is used for accessing metadata about permissions for resources and also determining if a user has access to a resource and at what level.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ResourcePermissionEngine extends BaseEngine<ResourcePermissionEngine> {
|
|
7
|
+
/**
|
|
8
|
+
* Returns the global instance of the class. This is a singleton class, so there is only one instance of it in the application. Do not directly create new instances of it, always use this method to get the instance.
|
|
9
|
+
*/
|
|
10
|
+
static get Instance(): ResourcePermissionEngine;
|
|
11
|
+
private _Permissions;
|
|
12
|
+
private _ResourceTypes;
|
|
13
|
+
Config(forceRefresh?: boolean, contextUser?: UserInfo): Promise<void>;
|
|
14
|
+
get ResourceTypes(): ResourceTypeEntity[];
|
|
15
|
+
get Permissions(): ResourcePermissionEntity[];
|
|
16
|
+
/**
|
|
17
|
+
* Convenience method to find all of the permissions for a given Resource Type and Resource Record ID, no additional filtering takes place in this method regarding
|
|
18
|
+
* the status or level of the permission.
|
|
19
|
+
* @param ResourceTypeID
|
|
20
|
+
* @param ResourceRecordID
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
GetResourcePermissions(ResourceTypeID: string, ResourceRecordID: string): ResourcePermissionEntity[];
|
|
24
|
+
/**
|
|
25
|
+
* Determines the highest level of resource permission a user has for a specific resource.
|
|
26
|
+
* This function checks both user-specific permissions and permissions assigned through roles
|
|
27
|
+
* and returns the highest level of permission ('View', 'Edit', 'Owner', or `null` if no permission is found).
|
|
28
|
+
* Note: This only returns ResourcePermissionEntity objects that have Status === Approved.
|
|
29
|
+
*
|
|
30
|
+
* @param {string} ResourceTypeID - The ID of the resource type (e.g., document, project).
|
|
31
|
+
* @param {string} ResourceRecordID - The ID of the specific resource record.
|
|
32
|
+
* @param {UserInfo} user - The user object containing user details, including roles and ID.
|
|
33
|
+
*
|
|
34
|
+
* @returns {'View' | 'Edit' | 'Owner' | null} - The highest permission level the user has for the resource,
|
|
35
|
+
* or `null` if no permission exists.
|
|
36
|
+
*
|
|
37
|
+
* Permission Levels:
|
|
38
|
+
* - 'Owner': Full control over the resource.
|
|
39
|
+
* - 'Edit': Can modify the resource.
|
|
40
|
+
* - 'View': Can only view the resource.
|
|
41
|
+
* - `null`: No permissions found for the user on this resource.
|
|
42
|
+
*/
|
|
43
|
+
GetUserResourcePermissionLevel(ResourceTypeID: string, ResourceRecordID: string, user: UserInfo): 'View' | 'Edit' | 'Owner' | null;
|
|
44
|
+
/**
|
|
45
|
+
* Returns all the permissions a user has for a specific resource type based on both their user-specific permissions and permissions assigned through roles.
|
|
46
|
+
* This only returns ResourcePermissionEntity objects that have Status === Approved.
|
|
47
|
+
* @param user
|
|
48
|
+
* @param ResourceTypeID
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
GetUserAvailableResources(user: UserInfo, ResourceTypeID?: string): ResourcePermissionEntity[];
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=ResourcePermissionEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourcePermissionEngine.d.ts","sourceRoot":"","sources":["../../../src/custom/ResourcePermissions/ResourcePermissionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEjG;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU,CAAC,wBAAwB,CAAC;IAC9E;;OAEG;IACH,WAAkB,QAAQ,IAAI,wBAAwB,CAErD;IAED,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAEpB;IACW,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ;IAiBlE,IAAW,aAAa,IAAI,kBAAkB,EAAE,CAE/C;IAED,IAAW,WAAW,IAAI,wBAAwB,EAAE,CAEnD;IAGD;;;;;;OAMG;IACI,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAI3G;;;;;;;;;;;;;;;;;;OAkBG;IACI,8BAA8B,CACjC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,QAAQ,GACf,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAiCnC;;;;;;OAMG;IACI,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE;CAsCxG"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourcePermissionEngine = void 0;
|
|
4
|
+
const core_1 = require("@memberjunction/core");
|
|
5
|
+
/**
|
|
6
|
+
* Resource Permission Engine is used for accessing metadata about permissions for resources and also determining if a user has access to a resource and at what level.
|
|
7
|
+
*/
|
|
8
|
+
class ResourcePermissionEngine extends core_1.BaseEngine {
|
|
9
|
+
/**
|
|
10
|
+
* Returns the global instance of the class. This is a singleton class, so there is only one instance of it in the application. Do not directly create new instances of it, always use this method to get the instance.
|
|
11
|
+
*/
|
|
12
|
+
static get Instance() {
|
|
13
|
+
return super.getInstance();
|
|
14
|
+
}
|
|
15
|
+
async Config(forceRefresh, contextUser) {
|
|
16
|
+
const c = [
|
|
17
|
+
{
|
|
18
|
+
Type: 'entity',
|
|
19
|
+
EntityName: 'Resource Permissions',
|
|
20
|
+
PropertyName: "_Permissions"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
Type: 'dataset',
|
|
24
|
+
DatasetName: 'ResourceTypes',
|
|
25
|
+
PropertyName: "_ResourceTypes",
|
|
26
|
+
DatasetResultHandling: "single_property"
|
|
27
|
+
}
|
|
28
|
+
];
|
|
29
|
+
await this.Load(c, forceRefresh, contextUser);
|
|
30
|
+
}
|
|
31
|
+
get ResourceTypes() {
|
|
32
|
+
return this._ResourceTypes.ResourceTypes;
|
|
33
|
+
}
|
|
34
|
+
get Permissions() {
|
|
35
|
+
return this._Permissions;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Convenience method to find all of the permissions for a given Resource Type and Resource Record ID, no additional filtering takes place in this method regarding
|
|
39
|
+
* the status or level of the permission.
|
|
40
|
+
* @param ResourceTypeID
|
|
41
|
+
* @param ResourceRecordID
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
GetResourcePermissions(ResourceTypeID, ResourceRecordID) {
|
|
45
|
+
return this.Permissions.filter((r) => r.ResourceTypeID === ResourceTypeID && r.ResourceRecordID === ResourceRecordID);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Determines the highest level of resource permission a user has for a specific resource.
|
|
49
|
+
* This function checks both user-specific permissions and permissions assigned through roles
|
|
50
|
+
* and returns the highest level of permission ('View', 'Edit', 'Owner', or `null` if no permission is found).
|
|
51
|
+
* Note: This only returns ResourcePermissionEntity objects that have Status === Approved.
|
|
52
|
+
*
|
|
53
|
+
* @param {string} ResourceTypeID - The ID of the resource type (e.g., document, project).
|
|
54
|
+
* @param {string} ResourceRecordID - The ID of the specific resource record.
|
|
55
|
+
* @param {UserInfo} user - The user object containing user details, including roles and ID.
|
|
56
|
+
*
|
|
57
|
+
* @returns {'View' | 'Edit' | 'Owner' | null} - The highest permission level the user has for the resource,
|
|
58
|
+
* or `null` if no permission exists.
|
|
59
|
+
*
|
|
60
|
+
* Permission Levels:
|
|
61
|
+
* - 'Owner': Full control over the resource.
|
|
62
|
+
* - 'Edit': Can modify the resource.
|
|
63
|
+
* - 'View': Can only view the resource.
|
|
64
|
+
* - `null`: No permissions found for the user on this resource.
|
|
65
|
+
*/
|
|
66
|
+
GetUserResourcePermissionLevel(ResourceTypeID, ResourceRecordID, user) {
|
|
67
|
+
// Get all permissions for the specified resource
|
|
68
|
+
const allPermissions = this.GetResourcePermissions(ResourceTypeID, ResourceRecordID);
|
|
69
|
+
// Filter permissions specifically granted to the user
|
|
70
|
+
const userPermissions = allPermissions.filter((p) => p.Type === 'User' && p.UserID === user.ID);
|
|
71
|
+
// Filter permissions granted through roles the user belongs to
|
|
72
|
+
const rolePermissions = allPermissions.filter((p) => p.Type === 'Role' &&
|
|
73
|
+
user.UserRoles.find(ur => ur.RoleID === p.RoleID) !== undefined);
|
|
74
|
+
// Combine user-specific permissions and role-based permissions
|
|
75
|
+
const allPermissionsForUser = userPermissions.concat(rolePermissions);
|
|
76
|
+
const approvedPermissionsForUser = allPermissionsForUser.filter((p) => p.Status === 'Approved');
|
|
77
|
+
// If no permissions are found, return null
|
|
78
|
+
if (approvedPermissionsForUser.length === 0) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
// Reduce permissions to find the highest permission level ('Owner' > 'Edit' > 'View')
|
|
83
|
+
return approvedPermissionsForUser.reduce((prev, current) => {
|
|
84
|
+
if (current.PermissionLevel === 'Owner') {
|
|
85
|
+
return 'Owner'; // 'Owner' has the highest priority
|
|
86
|
+
}
|
|
87
|
+
else if (current.PermissionLevel === 'Edit' && (prev === 'View' || prev === null)) {
|
|
88
|
+
return 'Edit'; // 'Edit' has a higher priority than 'View'
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return prev; // Keep the previous lower priority permission ('View' or null)
|
|
92
|
+
}
|
|
93
|
+
}, 'View');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Returns all the permissions a user has for a specific resource type based on both their user-specific permissions and permissions assigned through roles.
|
|
98
|
+
* This only returns ResourcePermissionEntity objects that have Status === Approved.
|
|
99
|
+
* @param user
|
|
100
|
+
* @param ResourceTypeID
|
|
101
|
+
* @returns
|
|
102
|
+
*/
|
|
103
|
+
GetUserAvailableResources(user, ResourceTypeID) {
|
|
104
|
+
let rolePermissions = this.Permissions.filter((r) => r.Type === 'Role' && user.UserRoles.find(ur => ur.RoleID === r.RoleID) !== undefined);
|
|
105
|
+
let permissions = this.Permissions.filter((r) => r.Type === 'User' && r.UserID === user.ID);
|
|
106
|
+
if (ResourceTypeID) {
|
|
107
|
+
permissions = permissions.filter((r) => r.ResourceTypeID === ResourceTypeID);
|
|
108
|
+
rolePermissions = rolePermissions.filter((r) => r.ResourceTypeID === ResourceTypeID);
|
|
109
|
+
}
|
|
110
|
+
permissions = permissions.concat(rolePermissions);
|
|
111
|
+
// now filter to ONLY approved permissions
|
|
112
|
+
permissions = permissions.filter((r) => r.Status === 'Approved');
|
|
113
|
+
// now, we reduce the array so that we only have the highest permission level for each resourcetypeid/resourcerecordid combination
|
|
114
|
+
let reducedPermissions = [];
|
|
115
|
+
permissions.forEach((p) => {
|
|
116
|
+
let existing = reducedPermissions.find((r) => r.ResourceTypeID === p.ResourceTypeID && r.ResourceRecordID === p.ResourceRecordID);
|
|
117
|
+
if (!existing) {
|
|
118
|
+
reducedPermissions.push(p);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
// existing permission and see if this one is higher, if so, replace it in the array with the new one
|
|
122
|
+
let bSwap = false;
|
|
123
|
+
if (p.PermissionLevel === 'Owner' && existing.PermissionLevel !== 'Owner') {
|
|
124
|
+
bSwap = true;
|
|
125
|
+
}
|
|
126
|
+
else if (p.PermissionLevel === 'Edit' && existing.PermissionLevel === 'View') {
|
|
127
|
+
bSwap = true;
|
|
128
|
+
}
|
|
129
|
+
if (bSwap) {
|
|
130
|
+
// get rid of the existing permission
|
|
131
|
+
reducedPermissions = reducedPermissions.filter((r) => r !== existing);
|
|
132
|
+
// add the new permission
|
|
133
|
+
reducedPermissions.push(p);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
return reducedPermissions;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.ResourcePermissionEngine = ResourcePermissionEngine;
|
|
141
|
+
//# sourceMappingURL=ResourcePermissionEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourcePermissionEngine.js","sourceRoot":"","sources":["../../../src/custom/ResourcePermissions/ResourcePermissionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,37 @@ export declare class UserViewEntityExtended extends UserViewEntity {
|
|
|
27
27
|
get ViewSortInfo(): ViewSortInfo[];
|
|
28
28
|
get OrderByClause(): string;
|
|
29
29
|
LoadFromData(data: any): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* This property determines if the specified user can edit the view object. All of the below assumes the user has base Create/Update permissions on the "User Views" entity.
|
|
32
|
+
* The flow of the logic is:
|
|
33
|
+
* 1) The view is a new record, by definition the user can edit this because it is new
|
|
34
|
+
* 2) The user is the owner of the current view - e.g. UserID in the view record matches the ID of the user provided, allowed
|
|
35
|
+
* 3) The user is a sysadmin (Type === 'Owner' in the User object), allowed
|
|
36
|
+
* 4) If neither of the above conditions are met, the Resource Permissions are checked to see if the user, directly or via Roles, has either Edit or Owner permissions on the current view
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
get UserCanEdit(): boolean;
|
|
40
|
+
private _cachedCanUserEdit;
|
|
41
|
+
/**
|
|
42
|
+
* This property determines if the specified user can delete the view object. All of the below assumes the user has base Delete permissions on the "User Views" entity.
|
|
43
|
+
* The flow of the logic is:
|
|
44
|
+
* 1) The view is a new record, by definition the user can't delete this because it is new
|
|
45
|
+
* 2) The user is the owner of the current view - e.g. UserID in the view record matches the ID of the user provided, allowed
|
|
46
|
+
* 3) The user is a sysadmin (Type === 'Owner' in the User object), allowed
|
|
47
|
+
* 4) If neither of the above conditions are met, the Resource Permissions are checked to see if the user, directly or via Roles, has OWNER permissions on the current view
|
|
48
|
+
*/
|
|
49
|
+
get UserCanDelete(): boolean;
|
|
50
|
+
private _cachedUserCanDelete;
|
|
51
|
+
protected ResetCachedCanUserSettings(): void;
|
|
52
|
+
private CalculateUserCanDelete;
|
|
53
|
+
private CalculateUserCanEdit;
|
|
54
|
+
/**
|
|
55
|
+
* Returns the ID of the Resource Type metadata record that corresponds to the User Views entity
|
|
56
|
+
*/
|
|
57
|
+
get ViewResourceTypeID(): string;
|
|
58
|
+
private _ViewResourceTypeID;
|
|
30
59
|
Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
|
|
60
|
+
Delete(): Promise<boolean>;
|
|
31
61
|
Save(options?: EntitySaveOptions): Promise<boolean>;
|
|
32
62
|
SetDefaultsFromEntity(e: EntityInfo): Promise<void>;
|
|
33
63
|
NewRecord(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserViewEntity.d.ts","sourceRoot":"","sources":["../../src/custom/UserViewEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAU,QAAQ,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"UserViewEntity.d.ts","sourceRoot":"","sources":["../../src/custom/UserViewEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAU,QAAQ,EAAE,iBAAiB,EAAuE,MAAM,sBAAsB,CAAC;AAC7M,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIhE,qBACa,sBAAuB,SAAQ,cAAc;IACtD,OAAO,CAAC,eAAe,CAAmB;IAE1C;;;;;;;OAOG;IACH,IAAW,MAAM,IAAI,cAAc,EAAE,CAMpC;IAED;;;;OAIG;IACH,IAAW,OAAO,IAAI,cAAc,EAAE,CAwBrC;IAED;;;;;OAKG;IACH,IAAW,cAAc,IAAI,UAAU,CAEtC;IAED,IAAW,YAAY,IAAI,YAAY,EAAE,CAQxC;IAED,IAAW,aAAa,IAAI,MAAM,CAmBjC;IAEQ,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;IAezC;;;;;;;;OAQG;IACH,IAAW,WAAW,IAAI,OAAO,CAKhC;IACD,OAAO,CAAC,kBAAkB,CAAgB;IAE1C;;;;;;;OAOG;IACH,IAAW,aAAa,IAAI,OAAO,CAKlC;IACD,OAAO,CAAC,oBAAoB,CAAgB;IAG5C,SAAS,CAAC,0BAA0B;IAKpC,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,oBAAoB;IAqB5B;;OAEG;IACH,IAAW,kBAAkB,IAAI,MAAM,CAStC;IACD,OAAO,CAAC,mBAAmB,CAAe;IAE3B,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,yBAAyB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBxE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAsB1B,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgCrD,qBAAqB,CAAC,CAAC,EAAE,UAAU;IAiBvC,SAAS,IAAI,OAAO;IA6B7B;;;;;;;;OAQG;IACU,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,OAAO;IAqCzD;;;;OAIG;IACU,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAC,CAAC;IAI5I;;;OAGG;IACH,SAAS,KAAK,sBAAsB,IAAI,OAAO,CAE9C;IAEe,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAexD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACH,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM;IAIlF,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,kBAAkB;IAwD1B,OAAO,CAAC,kBAAkB;CA8B7B;AAED,qBAAa,QAAQ;IACjB;;;;;;;;OAQG;WACU,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAa1G;;;;OAIG;WACU,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzD;;;;;;;;;OASG;WACU,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC;IASnG;;;;;;;;;OASG;WACU,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAO9G;AAED,qBAAa,cAAe,SAAQ,QAAQ;IACxC,EAAE,EAAE,MAAM,CAAO;IACjB,IAAI,EAAE,MAAM,CAAO;IACnB,WAAW,EAAE,MAAM,CAAO;IAC1B,MAAM,EAAE,OAAO,CAAO;IACtB,KAAK,CAAC,EAAE,MAAM,CAAO;IACrB,UAAU,CAAC,EAAE,MAAM,CAAO;IAE1B,WAAW,EAAE,eAAe,CAAO;gBAEtB,QAAQ,GAAE,GAAU;CAIpC;AAED,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAG/F,qBAAa,cAAe,SAAQ,QAAQ;IACxC,aAAa,EAAE,mBAAmB,CAAO;IAEzC,KAAK,EAAE,MAAM,CAAO;IACpB,QAAQ,EAAE,MAAM,CAAO;IACvB,KAAK,EAAE,MAAM,CAAO;IAEpB,OAAO,EAAE,cAAc,EAAE,CAAK;gBAEjB,QAAQ,GAAE,GAAU;CAUpC;AAED,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAErG,qBAAa,YAAa,SAAQ,QAAQ;IACtC,KAAK,EAAE,MAAM,CAAO;IACpB,SAAS,EAAE,qBAAqB,CAAO;gBAE1B,QAAQ,GAAE,GAAU;CAOpC;AAGD,qBAAa,aAAa;IACtB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,CAAC;CAChB"}
|
|
@@ -10,10 +10,14 @@ exports.ViewGridState = exports.ViewSortInfo = exports.ViewSortDirectionInfo = e
|
|
|
10
10
|
const global_1 = require("@memberjunction/global");
|
|
11
11
|
const core_1 = require("@memberjunction/core");
|
|
12
12
|
const entity_subclasses_1 = require("../generated/entity_subclasses");
|
|
13
|
+
const ResourcePermissionEngine_1 = require("./ResourcePermissions/ResourcePermissionEngine");
|
|
13
14
|
let UserViewEntityExtended = class UserViewEntityExtended extends entity_subclasses_1.UserViewEntity {
|
|
14
15
|
constructor() {
|
|
15
16
|
super(...arguments);
|
|
16
17
|
this._ViewEntityInfo = null;
|
|
18
|
+
this._cachedCanUserEdit = null;
|
|
19
|
+
this._cachedUserCanDelete = null;
|
|
20
|
+
this._ViewResourceTypeID = null;
|
|
17
21
|
}
|
|
18
22
|
/**
|
|
19
23
|
* This is a read-only property that returns the filters for this view. This information
|
|
@@ -109,6 +113,90 @@ let UserViewEntityExtended = class UserViewEntityExtended extends entity_subclas
|
|
|
109
113
|
}
|
|
110
114
|
return super.LoadFromData(data);
|
|
111
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* This property determines if the specified user can edit the view object. All of the below assumes the user has base Create/Update permissions on the "User Views" entity.
|
|
118
|
+
* The flow of the logic is:
|
|
119
|
+
* 1) The view is a new record, by definition the user can edit this because it is new
|
|
120
|
+
* 2) The user is the owner of the current view - e.g. UserID in the view record matches the ID of the user provided, allowed
|
|
121
|
+
* 3) The user is a sysadmin (Type === 'Owner' in the User object), allowed
|
|
122
|
+
* 4) If neither of the above conditions are met, the Resource Permissions are checked to see if the user, directly or via Roles, has either Edit or Owner permissions on the current view
|
|
123
|
+
* @returns
|
|
124
|
+
*/
|
|
125
|
+
get UserCanEdit() {
|
|
126
|
+
if (this._cachedCanUserEdit === null) {
|
|
127
|
+
this._cachedCanUserEdit = this.CalculateUserCanEdit();
|
|
128
|
+
}
|
|
129
|
+
return this._cachedCanUserEdit;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* This property determines if the specified user can delete the view object. All of the below assumes the user has base Delete permissions on the "User Views" entity.
|
|
133
|
+
* The flow of the logic is:
|
|
134
|
+
* 1) The view is a new record, by definition the user can't delete this because it is new
|
|
135
|
+
* 2) The user is the owner of the current view - e.g. UserID in the view record matches the ID of the user provided, allowed
|
|
136
|
+
* 3) The user is a sysadmin (Type === 'Owner' in the User object), allowed
|
|
137
|
+
* 4) If neither of the above conditions are met, the Resource Permissions are checked to see if the user, directly or via Roles, has OWNER permissions on the current view
|
|
138
|
+
*/
|
|
139
|
+
get UserCanDelete() {
|
|
140
|
+
if (this._cachedUserCanDelete === null) {
|
|
141
|
+
this._cachedUserCanDelete = this.CalculateUserCanDelete();
|
|
142
|
+
}
|
|
143
|
+
return this._cachedUserCanDelete;
|
|
144
|
+
}
|
|
145
|
+
ResetCachedCanUserSettings() {
|
|
146
|
+
this._cachedCanUserEdit = null;
|
|
147
|
+
this._cachedUserCanDelete = null;
|
|
148
|
+
}
|
|
149
|
+
CalculateUserCanDelete() {
|
|
150
|
+
if (!this.IsSaved)
|
|
151
|
+
return false; // new records can't be deleted
|
|
152
|
+
else {
|
|
153
|
+
// EXISTING record in the database
|
|
154
|
+
// check to see if the current user is the OWNER of this view via the UserID property in the record, if there's a match, the user OWNS this views
|
|
155
|
+
const md = new core_1.Metadata();
|
|
156
|
+
const user = this.ContextCurrentUser || md.CurrentUser; // take the context current user if it is set, otherwise use the global current user
|
|
157
|
+
if (this.UserID === user.ID || user.Type.trim().toLowerCase() === 'owner') {
|
|
158
|
+
return this.CheckPermissions(core_1.EntityPermissionType.Delete, false); // exsiting records OWNED by current user, can be edited so long as we have Update permissions;
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
// if the user is not an admin, and they are NOT the owner of the view, we check the permissions on the resource
|
|
162
|
+
const perms = ResourcePermissionEngine_1.ResourcePermissionEngine.Instance.GetUserResourcePermissionLevel(this.ViewResourceTypeID, this.ID, user);
|
|
163
|
+
return perms === 'Owner'; // this is the only level that can delete a view
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
CalculateUserCanEdit() {
|
|
168
|
+
if (!this.IsSaved) {
|
|
169
|
+
return this.CheckPermissions(core_1.EntityPermissionType.Create, false); // new records an be edited so long as we have Create permissions
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
// EXISTING record in the database
|
|
173
|
+
// check to see if the current user is the OWNER of this view via the UserID property in the record, if there's a match, the user OWNS this views
|
|
174
|
+
// so of course they can save it
|
|
175
|
+
const md = new core_1.Metadata();
|
|
176
|
+
const user = this.ContextCurrentUser || md.CurrentUser; // take the context current user if it is set, otherwise use the global current user
|
|
177
|
+
if (this.UserID === user.ID || user.Type.trim().toLowerCase() === 'owner') {
|
|
178
|
+
return this.CheckPermissions(core_1.EntityPermissionType.Update, false); // exsiting records OWNED by current user, can be edited so long as we have Update permissions;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
// if the user is not an admin, and they are NOT the owner of the view, we check the permissions on the resource
|
|
182
|
+
const perms = ResourcePermissionEngine_1.ResourcePermissionEngine.Instance.GetUserResourcePermissionLevel(this.ViewResourceTypeID, this.ID, user);
|
|
183
|
+
return perms === 'Owner' || perms === 'Edit'; // these are the only two levels that can save a view
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Returns the ID of the Resource Type metadata record that corresponds to the User Views entity
|
|
189
|
+
*/
|
|
190
|
+
get ViewResourceTypeID() {
|
|
191
|
+
if (!this._ViewResourceTypeID) {
|
|
192
|
+
const rt = ResourcePermissionEngine_1.ResourcePermissionEngine.Instance.ResourceTypes;
|
|
193
|
+
const rtUV = rt.find(r => r.Entity === 'User Views');
|
|
194
|
+
if (!rtUV)
|
|
195
|
+
throw new Error('Unable to find Resource Type for User Views entity');
|
|
196
|
+
this._ViewResourceTypeID = rtUV.ID;
|
|
197
|
+
}
|
|
198
|
+
return this._ViewResourceTypeID;
|
|
199
|
+
}
|
|
112
200
|
async Load(ID, EntityRelationshipsToLoad) {
|
|
113
201
|
// first load up the view info, use the superclass to do this
|
|
114
202
|
const result = await super.Load(ID, EntityRelationshipsToLoad);
|
|
@@ -121,20 +209,59 @@ let UserViewEntityExtended = class UserViewEntityExtended extends entity_subclas
|
|
|
121
209
|
else
|
|
122
210
|
throw new Error('Unable to find entity info for entity ID: ' + this.EntityID);
|
|
123
211
|
}
|
|
212
|
+
this.ResetCachedCanUserSettings();
|
|
124
213
|
return result;
|
|
125
214
|
}
|
|
215
|
+
async Delete() {
|
|
216
|
+
if (this.UserCanDelete) {
|
|
217
|
+
// if we get here, the user can delete the view, so we delete it
|
|
218
|
+
if (super.Delete()) {
|
|
219
|
+
this.ResetCachedCanUserSettings();
|
|
220
|
+
return true;
|
|
221
|
+
}
|
|
222
|
+
else
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
// if we get here, the user can't delete the view, so we don't delete it, add a last error and return false
|
|
227
|
+
const res = new core_1.BaseEntityResult();
|
|
228
|
+
res.Success = false;
|
|
229
|
+
res.Message = 'User does not have permission to delete this view';
|
|
230
|
+
res.StartedAt = new Date();
|
|
231
|
+
res.EndedAt = new Date();
|
|
232
|
+
this.ResultHistory.push(res);
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
126
236
|
async Save(options) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
237
|
+
if (this.UserCanEdit) {
|
|
238
|
+
// we want to preprocess the Save() call because we need to regenerate the WhereClause in some situations
|
|
239
|
+
if (!this.ID ||
|
|
240
|
+
options?.IgnoreDirtyState ||
|
|
241
|
+
this.Fields.find(c => c.Name.toLowerCase() == 'filterstate')?.Dirty ||
|
|
242
|
+
this.Fields.find(c => c.Name.toLowerCase() == 'smartfilterenabled')?.Dirty ||
|
|
243
|
+
this.Fields.find(c => c.Name.toLowerCase() == 'smartfilterprompt')?.Dirty) {
|
|
244
|
+
// either we're ignoring dirty state or the filter state is dirty, so we need to update the where clause
|
|
245
|
+
await this.UpdateWhereClause(options?.IgnoreDirtyState);
|
|
246
|
+
}
|
|
247
|
+
// now call our superclass to do the actual save()
|
|
248
|
+
if (super.Save(options)) {
|
|
249
|
+
this.ResetCachedCanUserSettings();
|
|
250
|
+
return true;
|
|
251
|
+
}
|
|
252
|
+
else
|
|
253
|
+
return false;
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
// if we get here, the user can't edit the view, so we don't save it, add a last error and return false
|
|
257
|
+
const res = new core_1.BaseEntityResult();
|
|
258
|
+
res.Success = false;
|
|
259
|
+
res.Message = this.ID ? 'User does not have permission to edit this view' : 'User does not have permission to create a new view';
|
|
260
|
+
res.StartedAt = new Date();
|
|
261
|
+
res.EndedAt = new Date();
|
|
262
|
+
this.ResultHistory.push(res);
|
|
263
|
+
return false;
|
|
135
264
|
}
|
|
136
|
-
// now just call our superclass to do the actual save()
|
|
137
|
-
return super.Save(options);
|
|
138
265
|
}
|
|
139
266
|
async SetDefaultsFromEntity(e) {
|
|
140
267
|
this.EntityID = e.ID;
|
|
@@ -176,6 +303,7 @@ let UserViewEntityExtended = class UserViewEntityExtended extends entity_subclas
|
|
|
176
303
|
this.CustomWhereClause = false;
|
|
177
304
|
//this.SmartFilterEnabled = false;
|
|
178
305
|
}
|
|
306
|
+
this.ResetCachedCanUserSettings();
|
|
179
307
|
return result;
|
|
180
308
|
}
|
|
181
309
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserViewEntity.js","sourceRoot":"","sources":["../../src/custom/UserViewEntity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mDAAiE;AACjE,+CAAqK;AACrK,sEAAgE;AAIzD,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,kCAAc;IAAnD;;QACK,oBAAe,GAAe,IAAI,CAAA;IA+Y9C,CAAC;IA7YG;;;;;;;OAOG;IACH,IAAW,MAAM;QACb,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAC7D,CAAC;;YAEG,OAAO,EAAE,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QACd,sFAAsF;QACtF,2CAA2C;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5C,IAAI,SAAS,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAC7C,qFAAqF;oBACrF,IAAI,CAAC,EAAE,CAAC;wBACJ,sFAAsF;wBACtF,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;wBAC/G,OAAO,IAAI,cAAc,CAAC,EAAC,GAAG,CAAC,EAAE,WAAW,EAAE,KAAK,EAAC,CAAC,CAAA;oBACzD,CAAC;yBACI,CAAC;wBACF,OAAO,CAAC,GAAG,CAAC,qEAAqE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;oBAChG,CAAC;gBACL,CAAC,CAAC,CAAA;gBAEF,OAAO,OAAO,CAAC;YACnB,CAAC;QACL,CAAC;QAED,mEAAmE;QACnE,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC/B,CAAC;IAED,IAAW,YAAY;QACnB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC3C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAC/B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,CAAC;QACD,sCAAsC;QACtC,OAAO,EAAE,CAAA;IACb,CAAC;IAED,IAAW,aAAa;QACpB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC7B,IAAI,GAAW,CAAC;gBAChB,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;oBAC/B,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;qBACrC,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,EAAG,iDAAiD;oBAC1E,GAAG,GAAG,KAAK,CAAA;qBACV,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC;oBACtB,GAAG,GAAG,MAAM,CAAA;;oBAEZ,GAAG,GAAG,EAAE,CAAC;gBAEb,MAAM,IAAI,GAAG,GAAG,KAAK,6BAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;gBACpE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjB,CAAC;;YAEG,OAAO,EAAE,CAAA;IACjB,CAAC;IAEQ,YAAY,CAAC,IAAS;QAC3B,wFAAwF;QACxF,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC3D,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;YAChC,CAAC;iBACI,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;YACjF,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,yBAAoC;QACvD,6DAA6D;QAC7D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAA;QAC9D,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;YAC1B,kFAAkF;YAClF,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC3D,IAAI,KAAK;gBACL,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;;gBAE5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrF,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEQ,KAAK,CAAC,IAAI,CAAC,OAA2B;QAC3C,yGAAyG;QACzG,IAAI,CAAC,IAAI,CAAC,EAAE;YACR,OAAO,EAAE,gBAAgB;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,aAAa,CAAC,EAAE,KAAK;YACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,oBAAoB,CAAC,EAAE,KAAK;YAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,mBAAmB,CAAC,EAAE,KAAK,EAAE,CAAC;YAC5E,wGAAwG;YACxG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC5D,CAAC;QAED,uDAAuD;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,CAAa;QAC5C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC;QACzC,YAAY,CAAC,cAAc,GAAG,EAAE,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC9C,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC;gBAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,CAAC,CAAC,kBAAkB;gBAC3B,UAAU,EAAE,YAAY,CAAC,cAAc,CAAC,MAAM;aACjD,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,uEAAuE;IAC1H,CAAC;IAEQ,SAAS;QACd,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7C,CAAC;iBACI,CAAC;gBACF,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;gBAC1B,IAAI,EAAE,CAAC,WAAW;oBACd,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;;oBAEhC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,OAAO,EAAG,KAAK,EAAE,SAAS,EAAG,EAAE,EAAE,CAAC,CAAC,CAAC,2BAA2B;YAClG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB;YAC9D,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,kCAAkC;QACtC,CAAC;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,iBAAiB,CAAC,gBAA0B;QACrD,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,CAAC;YAC3F,wFAAwF;YACxF,OAAO;QAEX,yGAAyG;QACzG,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,CAAC;YAC9F,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,wGAAwG;gBACxG,wGAAwG;gBACxG,sFAAsF;gBAEtF,+DAA+D;gBAC/D,sFAAsF;gBACtF,mGAAmG;gBACnG,kGAAkG;gBAClG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,mBAAmB,CAAC,EAAE,KAAK,EAAE,CAAC;oBAC5G,0GAA0G;oBAC1G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;oBACtG,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAAC;oBACjD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,eAAe,CAAC;gBACzD,CAAC;gBACD,0FAA0F;gBAC1F,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC;YACnD,CAAC;iBACI,CAAC;gBACF,sJAAsJ;gBACtJ,sJAAsJ;gBACtJ,oDAAoD;YACxD,CAAC;QACL,CAAC;aACI,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACvF,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,8BAA8B,CAAC,MAAc,EAAE,UAAsB;QAC9E,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAC,CAAC,CAAC,oEAAoE;IACxH,CAAC;IAED;;;OAGG;IACH,IAAc,sBAAsB;QAChC,OAAO,KAAK,CAAC,CAAC,uDAAuD;IACzE,CAAC;IAEe,GAAG,CAAC,SAAiB,EAAE,KAAU;QAC7C,+DAA+D;QAC/D,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE5B,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,UAAU,EAAE,CAAC;YACxC,kGAAkG;YAClG,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;YACnD,IAAI,KAAK;gBACL,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;;gBAE5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,KAAK,CAAC,CAAA;QAC7E,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACO,mBAAmB,CAAC,WAAmB,EAAE,UAAsB;QACrE,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IAEO,UAAU,CAAC,KAAa,EAAE,UAAmB;QACjD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC;IAEO,kBAAkB,CACtB,KAAa,EACb,QAAgB,EAChB,KAAa,EACb,MAAkB;QAElB,IAAI,EAAE,GAAW,EAAE,CAAC;QAEpB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,KAAK,GAAG,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,KAAK,wBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,uGAAuG;QAC9N,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,IAAI;gBACL,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;gBACrD,MAAM;YACV,KAAK,KAAK;gBACN,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;gBACtD,MAAM;YACV,KAAK,IAAI;gBACL,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;gBACrD,MAAM;YACV,KAAK,KAAK;gBACN,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;gBACtD,MAAM;YACV,KAAK,IAAI;gBACL,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;gBACrD,MAAM;YACV,KAAK,KAAK;gBACN,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;gBACtD,MAAM;YACV,KAAK,YAAY;gBACb,EAAE,GAAG,SAAS,QAAQ,IAAI,CAAC;gBAC3B,MAAM;YACV,KAAK,UAAU;gBACX,EAAE,GAAG,UAAU,QAAQ,GAAG,CAAC;gBAC3B,MAAM;YACV,KAAK,UAAU;gBACX,EAAE,GAAG,UAAU,QAAQ,IAAI,CAAC;gBAC5B,MAAM;YACV,KAAK,gBAAgB;gBACjB,EAAE,GAAG,cAAc,QAAQ,IAAI,CAAC;gBAChC,MAAM;YACV,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACV,EAAE,GAAG,SAAS,CAAC;gBACf,MAAM;YACV,KAAK,WAAW,CAAC;YACjB,KAAK,YAAY;gBACb,EAAE,GAAG,aAAa,CAAC;gBACnB,MAAM;QACd,CAAC;QACD,OAAO,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB,CAAC,WAAgB,EAAE,MAAkB;QAC3D,oDAAoD;QACpD,uFAAuF;QACvF,gFAAgF;QAChF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,MAAM,GAAY,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAW,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAEtD,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM;gBACP,WAAW,IAAI,IAAI,KAAK,GAAG,CAAC;;gBAE5B,MAAM,GAAG,KAAK,CAAC;YAEnB,yHAAyH;YACzH,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,kDAAkD;gBAClD,WAAW,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACJ,gDAAgD;gBAChD,WAAW,IAAI,IAAI,IAAI,CAAC,kBAAkB,CACtC,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,KAAK,EACZ,MAAM,CACT,GAAG,CAAC;YACT,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ,CAAA;AAhZY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,sBAAa,EAAC,iBAAU,EAAE,YAAY,CAAC;GAC3B,sBAAsB,CAgZlC;AAED,MAAa,QAAQ;IACjB;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,QAAiB,EAAE,WAAsB;QAClE,MAAM,EAAE,GAAG,IAAI,cAAO,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;YAC5B,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,aAAa,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE;2BAC3D,QAAQ,CAAC,CAAC,CAAC,oBAAoB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;SACnE,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,EAAE,OAAqB,CAAC;QACzC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE;YAC9B,OAAO,EAAE,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAgB;QACnC,MAAM,EAAE,GAAG,IAAI,cAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,QAAQ,GAAG,EAAC,CAAC,CAAA;QAChG,MAAM,EAAE,GAAG,MAAM,EAAE,OAAqB,CAAC;QACzC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACnB,CAAC;aACI,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,QAAQ,CAAC,CAAA;QACjE,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,WAAsB;QAC7D,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,GAA2B,MAAM,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACzF,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACvB,OAAO,IAAI,CAAA;;YAEX,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,MAAM,CAAC,CAAA;IACjE,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAgB,EAAE,WAAsB;QACrE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,MAAM;YACN,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;;YAExD,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,QAAQ,CAAC,CAAA;IACrE,CAAC;CACJ;AA5ED,4BA4EC;AAED,MAAa,cAAe,SAAQ,eAAQ;IAUxC,YAAa,WAAgB,IAAI;QAC7B,KAAK,EAAE,CAAA;QAVX,OAAE,GAAW,IAAI,CAAA;QACjB,SAAI,GAAW,IAAI,CAAA;QACnB,gBAAW,GAAW,IAAI,CAAA;QAC1B,WAAM,GAAY,IAAI,CAAA;QACtB,UAAK,GAAY,IAAI,CAAA;QACrB,eAAU,GAAY,IAAI,CAAA;QAE1B,gBAAW,GAAoB,IAAI,CAAA;QAI/B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;CACJ;AAdD,wCAcC;AAEY,QAAA,mBAAmB,GAAG;IAC/B,GAAG,EAAE,KAAK;IACV,EAAE,EAAE,IAAI;CACF,CAAC;AAKX,MAAa,cAAe,SAAQ,eAAQ;IASxC,YAAa,WAAgB,IAAI;QAC7B,KAAK,EAAE,CAAA;QATX,kBAAa,GAAwB,IAAI,CAAA;QAEzC,UAAK,GAAW,IAAI,CAAA;QACpB,aAAQ,GAAW,IAAI,CAAA;QACvB,UAAK,GAAW,IAAI,CAAA;QAEpB,YAAO,GAAqB,EAAE,CAAA;QAI1B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,2BAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,2BAAmB,CAAC,EAAE,CAAA;QACxH,CAAC;QACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AAnBD,wCAmBC;AAEY,QAAA,qBAAqB,GAAG;IACjC,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACN,CAAC;AAIX,MAAa,YAAa,SAAQ,eAAQ;IAItC,YAAa,WAAgB,IAAI;QAC7B,KAAK,EAAE,CAAA;QAJX,UAAK,GAAW,IAAI,CAAA;QACpB,cAAS,GAA0B,IAAI,CAAA;QAInC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,IAAI,OAAO,QAAQ,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC9D,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,6BAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,6BAAqB,CAAC,IAAI,CAAA;QACxH,CAAC;IACL,CAAC;CACJ;AAXD,oCAWC;AAGD,MAAa,aAAa;CAIzB;AAJD,sCAIC"}
|
|
1
|
+
{"version":3,"file":"UserViewEntity.js","sourceRoot":"","sources":["../../src/custom/UserViewEntity.ts"],"names":[],"mappings":"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"}
|