@memberjunction/core-entities-server 6.2.0-edge.7 → 6.2.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/AnchoredConversationReadSecurityHook.d.ts +22 -0
- package/dist/custom/AnchoredConversationReadSecurityHook.d.ts.map +1 -0
- package/dist/custom/AnchoredConversationReadSecurityHook.js +293 -0
- package/dist/custom/AnchoredConversationReadSecurityHook.js.map +1 -0
- package/dist/custom/MJConversationDetailEntityServer.server.d.ts +20 -30
- package/dist/custom/MJConversationDetailEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJConversationDetailEntityServer.server.js +89 -35
- package/dist/custom/MJConversationDetailEntityServer.server.js.map +1 -1
- package/dist/custom/MJConversationEntityServer.server.d.ts +19 -4
- package/dist/custom/MJConversationEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJConversationEntityServer.server.js +169 -11
- package/dist/custom/MJConversationEntityServer.server.js.map +1 -1
- package/dist/custom/MJProjectEntityServer.server.d.ts +21 -0
- package/dist/custom/MJProjectEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJProjectEntityServer.server.js +106 -0
- package/dist/custom/MJProjectEntityServer.server.js.map +1 -0
- package/dist/custom/MJQueryEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJQueryEntityServer.server.js +14 -2
- package/dist/custom/MJQueryEntityServer.server.js.map +1 -1
- package/dist/custom/RestrictedFieldCommentClassifier.d.ts +73 -0
- package/dist/custom/RestrictedFieldCommentClassifier.d.ts.map +1 -0
- package/dist/custom/RestrictedFieldCommentClassifier.js +240 -0
- package/dist/custom/RestrictedFieldCommentClassifier.js.map +1 -0
- package/dist/engines/QueryEngineServer.d.ts +4 -4
- package/dist/engines/QueryEngineServer.d.ts.map +1 -1
- package/dist/engines/QueryEngineServer.js +6 -16
- package/dist/engines/QueryEngineServer.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +30 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJConversationEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJConversationEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MJConversationEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJConversationEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,iBAAiB,EAIjB,gBAAgB,EAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAKH,oBAAoB,EAIvB,MAAM,+BAA+B,CAAC;AAGvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,0BAA2B,SAAQ,oBAAoB;IAChD,QAAQ,IAAI,gBAAgB;IAetB,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;YAgB3D,+CAA+C;IAmG7D,OAAO,CAAC,gBAAgB;CAS3B"}
|
|
@@ -4,30 +4,188 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { BaseEntity } from '@memberjunction/core';
|
|
8
|
-
import { RegisterClass } from '@memberjunction/global';
|
|
9
|
-
import { MJConversationEntity } from '@memberjunction/core-entities';
|
|
10
|
-
import { CheckAnonymousOwnershipKeyChange } from './anonymousOwnershipKeyGuard.js';
|
|
7
|
+
import { BaseEntity, BaseEntityResult, ValidationErrorInfo, ValidationErrorType, WellKnownUserSource } from '@memberjunction/core';
|
|
8
|
+
import { RegisterClass, UUIDsEqual } from '@memberjunction/global';
|
|
9
|
+
import { CanonicalizeConversationAdditionalData, IsConversationHiddenByFieldSecurity, IsInheritingFolderAccess, IsInheritingFolderAccessInSQL, MJConversationEntity, MergeRestrictedFieldsIntoAnchorMetadata, ParseConversationAnchorMetadata, UserCanReadLinkedRecord } from '@memberjunction/core-entities';
|
|
10
|
+
import { CheckAnonymousOwnershipKeyChange, IsSetByTransactionVariable } from './anonymousOwnershipKeyGuard.js';
|
|
11
11
|
/**
|
|
12
12
|
* Server-side `MJ: Conversations` entity.
|
|
13
13
|
*
|
|
14
|
-
* Keeps `ExternalID` — the scope identity an anonymous visitor's realtime session is owned through — out
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* 1. Keeps `ExternalID` — the scope identity an anonymous visitor's realtime session is owned through — out
|
|
15
|
+
* of an anonymous visitor's reach once the conversation exists. See {@link CheckAnonymousOwnershipKeyChange}.
|
|
16
|
+
* 2. Keeps who a conversation belongs to and who it is shared with in its owner's hands: see
|
|
17
|
+
* {@link checkOwnerOnlyChange}. Uses the synchronous `Validate()` so the rules run on every save, like
|
|
18
|
+
* `MJAIAgentSessionEntityServer`.
|
|
19
|
+
* 3. Saves `AdditionalData` as compact JSON when it holds an object, so the stored text always uses the spelling
|
|
20
|
+
* the conversation list's SQL filter matches (`INHERIT_FOLDER_ACCESS_SQL_CLAUSE`), and refuses a value the filter
|
|
21
|
+
* and the parser would still read differently: see {@link checkInheritanceReadingsAgree}.
|
|
22
|
+
* 4. Enforces Row-Level Security (RLS) and Field-Level Security (FLS) on anchored conversations
|
|
23
|
+
* (`LinkedEntityID` + `LinkedRecordID` / `AnchorType`):
|
|
24
|
+
* - Verifies the saving user can read the linked record (`UserCanReadLinkedRecord`).
|
|
25
|
+
* - Verifies the saving user is not denied Read access on the anchored field or `restrictedFields`
|
|
26
|
+
* (`IsConversationHiddenByFieldSecurity`).
|
|
27
|
+
* - When `AnchorType === 'Field'` targets an FLS-governed field (`HasFieldPermissions === true`),
|
|
28
|
+
* automatically stamps that canonical field name into `AnchorMetadataObject.restrictedFields`.
|
|
17
29
|
*/
|
|
18
30
|
let MJConversationEntityServer = class MJConversationEntityServer extends MJConversationEntity {
|
|
19
31
|
Validate() {
|
|
20
32
|
const result = super.Validate();
|
|
21
|
-
const violation
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
33
|
+
for (const violation of [
|
|
34
|
+
CheckAnonymousOwnershipKeyChange(this, 'ExternalID'),
|
|
35
|
+
checkOwnerOnlyChange(this),
|
|
36
|
+
checkInheritanceReadingsAgree(this),
|
|
37
|
+
]) {
|
|
38
|
+
if (violation) {
|
|
39
|
+
result.Errors.push(violation);
|
|
40
|
+
result.Success = false;
|
|
41
|
+
}
|
|
25
42
|
}
|
|
26
43
|
return result;
|
|
27
44
|
}
|
|
45
|
+
async Save(options) {
|
|
46
|
+
const additionalData = typeof this.GetFieldByName === 'function' ? this.GetFieldByName('AdditionalData') : undefined;
|
|
47
|
+
if (additionalData?.Dirty) {
|
|
48
|
+
const canonical = CanonicalizeConversationAdditionalData(additionalData.Value);
|
|
49
|
+
if (canonical !== additionalData.Value) {
|
|
50
|
+
additionalData.Value = canonical;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const refusal = await this.checkAnchoredConversationAccessAndStampMetadata();
|
|
54
|
+
if (refusal) {
|
|
55
|
+
this.recordSaveDenied(refusal);
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
return super.Save(options);
|
|
59
|
+
}
|
|
60
|
+
async checkAnchoredConversationAccessAndStampMetadata() {
|
|
61
|
+
if (!this.LinkedEntityID || !this.LinkedRecordID) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
const provider = this.ProviderToUse;
|
|
65
|
+
const entityInfo = (typeof provider?.EntityByID === 'function'
|
|
66
|
+
? provider.EntityByID(this.LinkedEntityID)
|
|
67
|
+
: undefined) ??
|
|
68
|
+
provider?.Entities?.find((e) => UUIDsEqual(e.ID, this.LinkedEntityID)) ??
|
|
69
|
+
null;
|
|
70
|
+
if (this.AnchorType && entityInfo && entityInfo.AllowRecordComments === false) {
|
|
71
|
+
return `Record commenting is disabled for ${entityInfo.DisplayNameOrName}.`;
|
|
72
|
+
}
|
|
73
|
+
// Security invariant: never persist quotedValue snapshots for restricted (FLS) or encrypted fields,
|
|
74
|
+
// so protected field values cannot escape into plain AnchorMetadata JSON, Record Changes, or indexes.
|
|
75
|
+
if (entityInfo && this.AnchorType === 'Field' && this.AnchorKey) {
|
|
76
|
+
const targetLower = this.AnchorKey.trim().toLowerCase();
|
|
77
|
+
const targetField = entityInfo.Fields.find((f) => f.Name.toLowerCase() === targetLower);
|
|
78
|
+
if (targetField && (targetField.HasFieldPermissions || targetField.Encrypt)) {
|
|
79
|
+
const existingMeta = ParseConversationAnchorMetadata(this.AnchorMetadataObject ?? this.AnchorMetadata);
|
|
80
|
+
if (existingMeta && existingMeta.quotedValue !== undefined) {
|
|
81
|
+
const sanitized = { ...existingMeta };
|
|
82
|
+
delete sanitized.quotedValue;
|
|
83
|
+
this.AnchorMetadataObject = sanitized;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Auto-stamp restrictedFields when anchored directly to an FLS-governed field
|
|
88
|
+
if (entityInfo?.FieldLevelSecurityApplies && this.AnchorType === 'Field' && this.AnchorKey) {
|
|
89
|
+
const targetLower = this.AnchorKey.trim().toLowerCase();
|
|
90
|
+
const flsField = entityInfo.Fields.find((f) => f.HasFieldPermissions && f.Name.toLowerCase() === targetLower);
|
|
91
|
+
if (flsField) {
|
|
92
|
+
const existingMeta = ParseConversationAnchorMetadata(this.AnchorMetadataObject ?? this.AnchorMetadata);
|
|
93
|
+
const { Metadata, Changed } = MergeRestrictedFieldsIntoAnchorMetadata(existingMeta, [
|
|
94
|
+
flsField.Name
|
|
95
|
+
]);
|
|
96
|
+
if (Changed) {
|
|
97
|
+
this.AnchorMetadataObject = Metadata;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (provider?.ProviderType !== 'Database') {
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
const user = this.ContextCurrentUser;
|
|
105
|
+
if (!user || WellKnownUserSource.Instance.IsSystemUser(user)) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
const recordAccess = await UserCanReadLinkedRecord(provider, user, this.LinkedEntityID, this.LinkedRecordID);
|
|
109
|
+
if (!recordAccess.Allowed) {
|
|
110
|
+
return recordAccess.Reason ?? 'You do not have access to the linked record.';
|
|
111
|
+
}
|
|
112
|
+
if (this.AnchorType &&
|
|
113
|
+
recordAccess.EntityInfo &&
|
|
114
|
+
typeof recordAccess.EntityInfo.CanUserComment === 'function' &&
|
|
115
|
+
!recordAccess.EntityInfo.CanUserComment(user)) {
|
|
116
|
+
return `You do not have permission to post or modify comments on ${recordAccess.EntityInfo.DisplayNameOrName} records.`;
|
|
117
|
+
}
|
|
118
|
+
// fls-guard: block creating or updating a conversation anchored to a restricted field the user cannot read
|
|
119
|
+
if (IsConversationHiddenByFieldSecurity(recordAccess.EntityInfo, user, this.AnchorType, this.AnchorKey, this.AnchorMetadataObject ?? this.AnchorMetadata)) {
|
|
120
|
+
return 'You do not have permission to access or comment on this restricted field.';
|
|
121
|
+
}
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
recordSaveDenied(message) {
|
|
125
|
+
const result = new BaseEntityResult();
|
|
126
|
+
result.Success = false;
|
|
127
|
+
result.Type = this.IsSaved ? 'update' : 'create';
|
|
128
|
+
result.Message = message;
|
|
129
|
+
result.StartedAt = new Date();
|
|
130
|
+
result.EndedAt = new Date();
|
|
131
|
+
this.RegisterResultHistoryEntry(result);
|
|
132
|
+
}
|
|
28
133
|
};
|
|
29
134
|
MJConversationEntityServer = __decorate([
|
|
30
135
|
RegisterClass(BaseEntity, 'MJ: Conversations')
|
|
31
136
|
], MJConversationEntityServer);
|
|
32
137
|
export { MJConversationEntityServer };
|
|
138
|
+
/**
|
|
139
|
+
* Refuses `AdditionalData` that the conversation list's SQL filter and the parser would read differently, from
|
|
140
|
+
* anyone, the owner and the server included. The `LIKE` filter also matches the key nested in another object,
|
|
141
|
+
* or in another letter case, where the parser sees no opt-in: search, which filters with the SQL alone, would
|
|
142
|
+
* then show the conversation to its folder's audience while the list and the owner's menu say it is not shared.
|
|
143
|
+
* Checks the compact form the save stores.
|
|
144
|
+
*/
|
|
145
|
+
function checkInheritanceReadingsAgree(entity) {
|
|
146
|
+
const additionalData = entity.GetFieldByName('AdditionalData');
|
|
147
|
+
if (!additionalData?.Dirty) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
const stored = CanonicalizeConversationAdditionalData(additionalData.Value);
|
|
151
|
+
if (IsInheritingFolderAccess({ AdditionalData: stored }) === IsInheritingFolderAccessInSQL(stored)) {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
return new ValidationErrorInfo('AdditionalData', 'Set folder inheritance only as a top-level "inheritFolderAccess": true, so every reader agrees on whether this conversation is shared.', null, ValidationErrorType.Failure);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Refuses a change to an existing conversation's folder (`ProjectID`), owner (`UserID`) or folder
|
|
158
|
+
* inheritance (`AdditionalData.inheritFolderAccess`) by anyone but its owner.
|
|
159
|
+
*
|
|
160
|
+
* Those three decide who else can see the conversation: turning inheritance on shows it to everyone its folder
|
|
161
|
+
* is shared with, and moving an inheriting conversation into a Shared or Public folder shows it to that folder's
|
|
162
|
+
* audience. An Edit grant lets someone work in a conversation, not publish it. The server itself (no context user, or the system user) is exempt, as is a conversation with
|
|
163
|
+
* no owner on record. A transaction variable that sets one of these fields, or `ID`, counts as a change:
|
|
164
|
+
* it is applied at submit, after this check has run.
|
|
165
|
+
*/
|
|
166
|
+
function checkOwnerOnlyChange(entity) {
|
|
167
|
+
const user = entity.ContextCurrentUser;
|
|
168
|
+
if (!entity.IsSaved || !user || WellKnownUserSource.Instance.IsSystemUser(user)) {
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
const owner = entity.GetFieldByName('UserID')?.OldValue;
|
|
172
|
+
if (!owner || UUIDsEqual(owner, user.ID)) {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
const additionalData = entity.GetFieldByName('AdditionalData');
|
|
176
|
+
const before = additionalData?.OldValue;
|
|
177
|
+
const after = additionalData?.Value;
|
|
178
|
+
// Both readings: the parser's, and the SQL filter's. A rewrite one of them reads differently (an odd
|
|
179
|
+
// spelling the LIKE misses) would otherwise re-share the conversation past a parser-only check.
|
|
180
|
+
const inheritanceChanged = !!additionalData?.Dirty &&
|
|
181
|
+
(IsInheritingFolderAccess({ AdditionalData: before }) !== IsInheritingFolderAccess({ AdditionalData: after }) ||
|
|
182
|
+
IsInheritingFolderAccessInSQL(before) !== IsInheritingFolderAccessInSQL(after));
|
|
183
|
+
const changed = ['ProjectID', 'UserID'].find((name) => entity.GetFieldByName(name)?.Dirty)
|
|
184
|
+
?? (inheritanceChanged ? 'AdditionalData' : undefined)
|
|
185
|
+
?? (IsSetByTransactionVariable(entity, ['ProjectID', 'UserID', 'AdditionalData', 'ID']) ? 'ProjectID' : undefined);
|
|
186
|
+
if (!changed) {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
return new ValidationErrorInfo(changed, "Only the conversation's owner can move it to another folder, change its owner, or change whether it inherits its folder's access.", null, ValidationErrorType.Failure);
|
|
190
|
+
}
|
|
33
191
|
//# sourceMappingURL=MJConversationEntityServer.server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJConversationEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJConversationEntityServer.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MJConversationEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJConversationEntityServer.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ValidationResult } from '@memberjunction/core';
|
|
2
|
+
import { MJProjectEntityExtended } from '@memberjunction/core-entities';
|
|
3
|
+
/**
|
|
4
|
+
* Server-side `MJ: Projects` (conversation folder) entity.
|
|
5
|
+
*
|
|
6
|
+
* Keeps a folder's owner and place in its owner's hands: see {@link checkFolderOwnerOnlyChange}. Uses the
|
|
7
|
+
* synchronous `Validate()` so the rule runs on every save, like `MJConversationEntityServer`. `ValidateAsync()`
|
|
8
|
+
* refuses a parent that would make the folder its own ancestor.
|
|
9
|
+
*/
|
|
10
|
+
export declare class MJProjectEntityServer extends MJProjectEntityExtended {
|
|
11
|
+
Validate(): ValidationResult;
|
|
12
|
+
ValidateAsync(): Promise<ValidationResult>;
|
|
13
|
+
/**
|
|
14
|
+
* Refuses a `ParentID` that makes the folder its own ancestor. The sidebar builds the tree from the top, so a
|
|
15
|
+
* cycle hides every folder in it from everyone. Walks up from the new parent as the system user, since the
|
|
16
|
+
* chain can pass through folders the caller cannot read, for at most the engine's {@link MAX_BRANCH_DEPTH}
|
|
17
|
+
* levels.
|
|
18
|
+
*/
|
|
19
|
+
private checkParentCycle;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=MJProjectEntityServer.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MJProjectEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJProjectEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiE,gBAAgB,EAAuB,MAAM,sBAAsB,CAAC;AAE5I,OAAO,EAAoB,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAI1F;;;;;;GAMG;AACH,qBACa,qBAAsB,SAAQ,uBAAuB;IAC9C,QAAQ,IAAI,gBAAgB;IAUtB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAUhE;;;;;OAKG;YACW,gBAAgB;CA6BjC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { BaseEntity, RunView, ValidationErrorInfo, ValidationErrorType, WellKnownUserSource } from '@memberjunction/core';
|
|
8
|
+
import { EscapeSQLString, RegisterClass, UUIDsEqual } from '@memberjunction/global';
|
|
9
|
+
import { MAX_BRANCH_DEPTH, MJProjectEntityExtended } from '@memberjunction/core-entities';
|
|
10
|
+
import { UserCache } from '@memberjunction/generic-database-provider';
|
|
11
|
+
import { IsSetByTransactionVariable } from './anonymousOwnershipKeyGuard.js';
|
|
12
|
+
/**
|
|
13
|
+
* Server-side `MJ: Projects` (conversation folder) entity.
|
|
14
|
+
*
|
|
15
|
+
* Keeps a folder's owner and place in its owner's hands: see {@link checkFolderOwnerOnlyChange}. Uses the
|
|
16
|
+
* synchronous `Validate()` so the rule runs on every save, like `MJConversationEntityServer`. `ValidateAsync()`
|
|
17
|
+
* refuses a parent that would make the folder its own ancestor.
|
|
18
|
+
*/
|
|
19
|
+
let MJProjectEntityServer = class MJProjectEntityServer extends MJProjectEntityExtended {
|
|
20
|
+
Validate() {
|
|
21
|
+
const result = super.Validate();
|
|
22
|
+
const violation = checkFolderOwnerOnlyChange(this);
|
|
23
|
+
if (violation) {
|
|
24
|
+
result.Errors.push(violation);
|
|
25
|
+
result.Success = false;
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
async ValidateAsync() {
|
|
30
|
+
const result = await super.ValidateAsync();
|
|
31
|
+
const violation = await this.checkParentCycle();
|
|
32
|
+
if (violation) {
|
|
33
|
+
result.Errors.push(violation);
|
|
34
|
+
result.Success = false;
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Refuses a `ParentID` that makes the folder its own ancestor. The sidebar builds the tree from the top, so a
|
|
40
|
+
* cycle hides every folder in it from everyone. Walks up from the new parent as the system user, since the
|
|
41
|
+
* chain can pass through folders the caller cannot read, for at most the engine's {@link MAX_BRANCH_DEPTH}
|
|
42
|
+
* levels.
|
|
43
|
+
*/
|
|
44
|
+
async checkParentCycle() {
|
|
45
|
+
if (!this.ParentID || !this.GetFieldByName('ParentID')?.Dirty) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
const refuse = (message) => new ValidationErrorInfo('ParentID', message, this.ParentID, ValidationErrorType.Failure);
|
|
49
|
+
if (UUIDsEqual(this.ParentID, this.ID)) {
|
|
50
|
+
return refuse('A folder cannot be moved into itself or one of its subfolders.');
|
|
51
|
+
}
|
|
52
|
+
if (!this.IsSaved) {
|
|
53
|
+
return null; // nothing points at a new folder yet
|
|
54
|
+
}
|
|
55
|
+
const rv = new RunView(this.RunViewProviderToUse);
|
|
56
|
+
const readUser = UserCache.Instance.GetSystemUser() ?? this.ContextCurrentUser;
|
|
57
|
+
let cursor = this.ParentID;
|
|
58
|
+
for (let depth = 0; cursor && depth < MAX_BRANCH_DEPTH; depth++) {
|
|
59
|
+
const read = await rv.RunView({ EntityName: 'MJ: Projects', ExtraFilter: `ID='${EscapeSQLString(cursor)}'`, Fields: ['ParentID'], ResultType: 'simple' }, readUser);
|
|
60
|
+
if (!read.Success) {
|
|
61
|
+
return refuse(`Could not check the folder's new place: ${read.ErrorMessage}`);
|
|
62
|
+
}
|
|
63
|
+
cursor = read.Results[0]?.ParentID ?? null;
|
|
64
|
+
if (cursor && UUIDsEqual(cursor, this.ID)) {
|
|
65
|
+
return refuse('A folder cannot be moved into itself or one of its subfolders.');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return cursor ? refuse(`Folders cannot be nested more than ${MAX_BRANCH_DEPTH} levels deep.`) : null;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
MJProjectEntityServer = __decorate([
|
|
72
|
+
RegisterClass(BaseEntity, 'MJ: Projects')
|
|
73
|
+
], MJProjectEntityServer);
|
|
74
|
+
export { MJProjectEntityServer };
|
|
75
|
+
/**
|
|
76
|
+
* Refuses a change to an existing folder's owner (`OwnerUserID`) or parent (`ParentID`) by anyone but its
|
|
77
|
+
* stored owner.
|
|
78
|
+
*
|
|
79
|
+
* `OwnerUserID` decides who sees the folder: clearing it makes the folder Public, which lists it, and the
|
|
80
|
+
* conversations in it that inherit its access, for everyone, and setting it to yourself lets you share someone
|
|
81
|
+
* else's folder. So only
|
|
82
|
+
* the owner may change it, including making it Public. A Public folder has no owner, so nobody may claim it;
|
|
83
|
+
* its `ParentID` stays open, since a parent grants no access. The server itself (no context user, or the
|
|
84
|
+
* system user) is exempt. A transaction variable that sets one of these fields, or `ID`, counts as a change:
|
|
85
|
+
* it is applied at submit, after this check has run.
|
|
86
|
+
*/
|
|
87
|
+
function checkFolderOwnerOnlyChange(entity) {
|
|
88
|
+
const user = entity.ContextCurrentUser;
|
|
89
|
+
if (!entity.IsSaved || !user || WellKnownUserSource.Instance.IsSystemUser(user)) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
const owner = entity.GetFieldByName('OwnerUserID')?.OldValue;
|
|
93
|
+
if (owner && UUIDsEqual(owner, user.ID)) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
const guarded = owner ? ['OwnerUserID', 'ParentID'] : ['OwnerUserID'];
|
|
97
|
+
const changed = guarded.find((name) => entity.GetFieldByName(name)?.Dirty) ??
|
|
98
|
+
(IsSetByTransactionVariable(entity, [...guarded, 'ID']) ? guarded[0] : undefined);
|
|
99
|
+
if (!changed) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
return new ValidationErrorInfo(changed, owner
|
|
103
|
+
? "Only the folder's owner can change its owner or move it to another folder."
|
|
104
|
+
: 'A Public folder has no owner, so it cannot be claimed.', null, ValidationErrorType.Failure);
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=MJProjectEntityServer.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MJProjectEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJProjectEntityServer.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJQueryEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MJQueryEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -673,8 +673,20 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntityExtende
|
|
|
673
673
|
const md = this.extractionProvider;
|
|
674
674
|
if (!md)
|
|
675
675
|
return;
|
|
676
|
-
//
|
|
677
|
-
|
|
676
|
+
// Read through this entity's own provider rather than QueryEngine's cache. A cached record is
|
|
677
|
+
// bound to whichever provider loaded the engine, so saving it here would write outside the
|
|
678
|
+
// caller's transaction, blind to what that transaction has written.
|
|
679
|
+
const existingResult = await md.RunView({
|
|
680
|
+
EntityName: 'MJ: Query SQLs',
|
|
681
|
+
ExtraFilter: `QueryID='${EscapeSQLString(this.ID)}' AND SQLDialectID='${EscapeSQLString(targetDialect.ID)}'`,
|
|
682
|
+
ResultType: 'entity_object',
|
|
683
|
+
BypassCache: true,
|
|
684
|
+
}, this.ContextCurrentUser);
|
|
685
|
+
if (!existingResult.Success) {
|
|
686
|
+
console.warn(`Query "${this.Name}" - Could not read QuerySQL record for dialect "${targetDialect.Name}": ${existingResult.ErrorMessage}`);
|
|
687
|
+
return;
|
|
688
|
+
}
|
|
689
|
+
const existing = existingResult.Results?.[0];
|
|
678
690
|
let record;
|
|
679
691
|
if (existing) {
|
|
680
692
|
record = existing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJQueryEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MJQueryEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { EntityInfo, IMetadataProvider, UserInfo } from '@memberjunction/core';
|
|
2
|
+
import { type MJConversationEntity } from '@memberjunction/core-entities';
|
|
3
|
+
/**
|
|
4
|
+
* Input passed to a semantic LLM classifier to determine whether an unanchored or
|
|
5
|
+
* section-anchored comment is discussing any Field-Level Security (FLS) restricted fields.
|
|
6
|
+
*/
|
|
7
|
+
export interface RestrictedFieldClassifierPrompt {
|
|
8
|
+
EntityName: string;
|
|
9
|
+
EntityDisplayName: string;
|
|
10
|
+
MessageText: string;
|
|
11
|
+
AnchorType: MJConversationEntity['AnchorType'];
|
|
12
|
+
AnchorKey: string | null;
|
|
13
|
+
CandidateFields: ReadonlyArray<{
|
|
14
|
+
Name: string;
|
|
15
|
+
DisplayName: string;
|
|
16
|
+
Description: string | null;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Callback signature for classifying whether a comment semantically discusses one or more
|
|
21
|
+
* candidate FLS-restricted fields. Returns canonical `EntityFieldInfo.Name` strings.
|
|
22
|
+
*/
|
|
23
|
+
export type RestrictedFieldLLMClassifierCallback = (prompt: RestrictedFieldClassifierPrompt, contextUser: UserInfo) => Promise<string[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Registers (or clears with `null`) a custom semantic classifier callback for detecting
|
|
26
|
+
* references to FLS-restricted fields in record comments. Used by tests and custom
|
|
27
|
+
* enterprise classification policies; when `null`, the default `AIEngine` classifier runs.
|
|
28
|
+
*/
|
|
29
|
+
export declare function RegisterRestrictedFieldLLMClassifier(callback: RestrictedFieldLLMClassifierCallback | null): void;
|
|
30
|
+
/**
|
|
31
|
+
* Returns the currently registered custom classifier callback, if any.
|
|
32
|
+
*/
|
|
33
|
+
export declare function GetRegisteredRestrictedFieldLLMClassifier(): RestrictedFieldLLMClassifierCallback | null;
|
|
34
|
+
/**
|
|
35
|
+
* Result of inspecting a comment message against the linked entity's Field-Level Security rules.
|
|
36
|
+
*/
|
|
37
|
+
export interface RestrictedFieldInspectionResult {
|
|
38
|
+
/**
|
|
39
|
+
* `false` when the authoring user is denied Read permission on a restricted field
|
|
40
|
+
* referenced by their own comment (prevents probing or spoofing restricted fields).
|
|
41
|
+
*/
|
|
42
|
+
Allowed: boolean;
|
|
43
|
+
/** Human-readable refusal reason when `Allowed === false`. */
|
|
44
|
+
Reason: string | null;
|
|
45
|
+
/** Canonical `EntityFieldInfo.Name` values of all FLS-governed fields referenced by the comment. */
|
|
46
|
+
DetectedFields: string[];
|
|
47
|
+
/** Subset of `DetectedFields` that the authoring user is denied Read access to. */
|
|
48
|
+
AuthorDeniedFields: string[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Inspects a comment (`messageText`) posted on an anchored conversation to detect whether it
|
|
52
|
+
* references any FLS-governed fields on `entityInfo`, and stamps any newly detected field names
|
|
53
|
+
* into `conversation.AnchorMetadataObject.restrictedFields`.
|
|
54
|
+
*
|
|
55
|
+
* Two-stage detection:
|
|
56
|
+
* 1. **Stage 1 (Deterministic, 0ms)**: Checks direct field anchors (`AnchorType === 'Field'`),
|
|
57
|
+
* restricted field names/labels (`Name`, camelCase words, `DisplayName`), and actual restricted
|
|
58
|
+
* field values loaded from the linked record.
|
|
59
|
+
* 2. **Stage 2 (Semantic LLM Classifier)**: If `entityInfo` has remaining unmatched FLS fields and
|
|
60
|
+
* `messageText` is non-empty, invokes either the registered `RestrictedFieldLLMClassifierCallback`
|
|
61
|
+
* or a lightweight `AIEngine` language model to detect semantic/paraphrased references
|
|
62
|
+
* (for example `"making six figures"` → `Salary`).
|
|
63
|
+
*/
|
|
64
|
+
export declare function InspectAndStampRestrictedFieldsForComment(params: {
|
|
65
|
+
Provider: IMetadataProvider;
|
|
66
|
+
ContextUser: UserInfo;
|
|
67
|
+
Conversation: MJConversationEntity;
|
|
68
|
+
EntityInfo: EntityInfo;
|
|
69
|
+
MessageText: string | null | undefined;
|
|
70
|
+
RecordValues?: Readonly<Record<string, unknown>> | null;
|
|
71
|
+
SkipLLMStage?: boolean;
|
|
72
|
+
}): Promise<RestrictedFieldInspectionResult>;
|
|
73
|
+
//# sourceMappingURL=RestrictedFieldCommentClassifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestrictedFieldCommentClassifier.d.ts","sourceRoot":"","sources":["../../src/custom/RestrictedFieldCommentClassifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EACV,iBAAiB,EAIjB,QAAQ,EAEX,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAKH,KAAK,oBAAoB,EAC5B,MAAM,+BAA+B,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC/C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,aAAa,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,CAAC,CAAC;CACN;AAED;;;GAGG;AACH,MAAM,MAAM,oCAAoC,GAAG,CAC/C,MAAM,EAAE,+BAA+B,EACvC,WAAW,EAAE,QAAQ,KACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAIvB;;;;GAIG;AACH,wBAAgB,oCAAoC,CAChD,QAAQ,EAAE,oCAAoC,GAAG,IAAI,GACtD,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,yCAAyC,IAAI,oCAAoC,GAAG,IAAI,CAEvG;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oGAAoG;IACpG,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mFAAmF;IACnF,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,yCAAyC,CAAC,MAAM,EAAE;IACpE,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,EAAE,QAAQ,CAAC;IACtB,YAAY,EAAE,oBAAoB,CAAC;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CA2I3C"}
|