@memberjunction/core-entities-server 6.2.0-edge.6 → 6.2.0-edge.8
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/README.md +155 -100
- 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/MJAIAgentExampleEntityServer.server.d.ts +2 -0
- package/dist/custom/MJAIAgentExampleEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJAIAgentExampleEntityServer.server.js +8 -5
- package/dist/custom/MJAIAgentExampleEntityServer.server.js.map +1 -1
- package/dist/custom/MJAIAgentNoteEntityServer.server.d.ts +2 -0
- package/dist/custom/MJAIAgentNoteEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJAIAgentNoteEntityServer.server.js +8 -5
- package/dist/custom/MJAIAgentNoteEntityServer.server.js.map +1 -1
- package/dist/custom/MJAIAgentRelationshipEntityServer.server.d.ts +17 -0
- package/dist/custom/MJAIAgentRelationshipEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJAIAgentRelationshipEntityServer.server.js +71 -0
- package/dist/custom/MJAIAgentRelationshipEntityServer.server.js.map +1 -0
- package/dist/custom/MJAIAgentSessionEntityServer.server.d.ts +8 -22
- package/dist/custom/MJAIAgentSessionEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJAIAgentSessionEntityServer.server.js +24 -1
- package/dist/custom/MJAIAgentSessionEntityServer.server.js.map +1 -1
- package/dist/custom/MJAIAgentUserPolicyEntityServer.server.d.ts +23 -0
- package/dist/custom/MJAIAgentUserPolicyEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJAIAgentUserPolicyEntityServer.server.js +53 -0
- package/dist/custom/MJAIAgentUserPolicyEntityServer.server.js.map +1 -0
- package/dist/custom/MJAIPromptEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJAIPromptEntityServer.server.js +2 -1
- package/dist/custom/MJAIPromptEntityServer.server.js.map +1 -1
- package/dist/custom/MJBrandKitEntityServer.server.d.ts +14 -0
- package/dist/custom/MJBrandKitEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJBrandKitEntityServer.server.js +75 -0
- package/dist/custom/MJBrandKitEntityServer.server.js.map +1 -0
- package/dist/custom/MJCompanyIntegrationEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJCompanyIntegrationEntityServer.server.js +1 -0
- package/dist/custom/MJCompanyIntegrationEntityServer.server.js.map +1 -1
- package/dist/custom/MJComponentEntityServer.server.d.ts +2 -0
- package/dist/custom/MJComponentEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJComponentEntityServer.server.js +5 -1
- package/dist/custom/MJComponentEntityServer.server.js.map +1 -1
- 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/MJEntityDocumentEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJEntityDocumentEntityServer.server.js +1 -0
- package/dist/custom/MJEntityDocumentEntityServer.server.js.map +1 -1
- package/dist/custom/MJListDetailEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJListDetailEntityServer.server.js +1 -0
- package/dist/custom/MJListDetailEntityServer.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 +177 -47
- package/dist/custom/MJQueryEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJQueryEntityServer.server.js +479 -164
- package/dist/custom/MJQueryEntityServer.server.js.map +1 -1
- package/dist/custom/MJQuerySQLEntityServer.server.d.ts +15 -18
- package/dist/custom/MJQuerySQLEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJQuerySQLEntityServer.server.js +34 -42
- package/dist/custom/MJQuerySQLEntityServer.server.js.map +1 -1
- package/dist/custom/MJTagEntityServer.server.d.ts +2 -0
- package/dist/custom/MJTagEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJTagEntityServer.server.js +13 -7
- package/dist/custom/MJTagEntityServer.server.js.map +1 -1
- package/dist/custom/MJUserRoutineEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJUserRoutineEntityServer.server.js +8 -1
- package/dist/custom/MJUserRoutineEntityServer.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/custom/query-extraction/childRowWriter.d.ts +77 -0
- package/dist/custom/query-extraction/childRowWriter.d.ts.map +1 -0
- package/dist/custom/query-extraction/childRowWriter.js +277 -0
- package/dist/custom/query-extraction/childRowWriter.js.map +1 -0
- package/dist/custom/query-extraction/compositionTargets.d.ts +40 -0
- package/dist/custom/query-extraction/compositionTargets.d.ts.map +1 -0
- package/dist/custom/query-extraction/compositionTargets.js +99 -0
- package/dist/custom/query-extraction/compositionTargets.js.map +1 -0
- package/dist/custom/query-extraction/declared.d.ts +79 -0
- package/dist/custom/query-extraction/declared.d.ts.map +1 -0
- package/dist/custom/query-extraction/declared.js +91 -0
- package/dist/custom/query-extraction/declared.js.map +1 -0
- package/dist/custom/query-extraction/describeFacts.d.ts +40 -0
- package/dist/custom/query-extraction/describeFacts.d.ts.map +1 -0
- package/dist/custom/query-extraction/describeFacts.js +225 -0
- package/dist/custom/query-extraction/describeFacts.js.map +1 -0
- package/dist/custom/query-extraction/descriptionPass.d.ts +23 -0
- package/dist/custom/query-extraction/descriptionPass.d.ts.map +1 -0
- package/dist/custom/query-extraction/descriptionPass.js +95 -0
- package/dist/custom/query-extraction/descriptionPass.js.map +1 -0
- package/dist/custom/query-extraction/extractQuery.d.ts +25 -0
- package/dist/custom/query-extraction/extractQuery.d.ts.map +1 -0
- package/dist/custom/query-extraction/extractQuery.js +146 -0
- package/dist/custom/query-extraction/extractQuery.js.map +1 -0
- package/dist/custom/query-extraction/extractionTypes.d.ts +133 -0
- package/dist/custom/query-extraction/extractionTypes.d.ts.map +1 -0
- package/dist/custom/query-extraction/extractionTypes.js +2 -0
- package/dist/custom/query-extraction/extractionTypes.js.map +1 -0
- package/dist/custom/query-extraction/index.d.ts +16 -0
- package/dist/custom/query-extraction/index.d.ts.map +1 -1
- package/dist/custom/query-extraction/index.js +11 -1
- package/dist/custom/query-extraction/index.js.map +1 -1
- package/dist/custom/query-extraction/pipeline.d.ts +6 -2
- package/dist/custom/query-extraction/pipeline.d.ts.map +1 -1
- package/dist/custom/query-extraction/pipeline.js +21 -14
- package/dist/custom/query-extraction/pipeline.js.map +1 -1
- package/dist/custom/query-extraction/resolve.d.ts +7 -2
- package/dist/custom/query-extraction/resolve.d.ts.map +1 -1
- package/dist/custom/query-extraction/resolve.js +17 -14
- package/dist/custom/query-extraction/resolve.js.map +1 -1
- package/dist/custom/query-extraction/sourceBinding.d.ts +57 -0
- package/dist/custom/query-extraction/sourceBinding.d.ts.map +1 -0
- package/dist/custom/query-extraction/sourceBinding.js +104 -0
- package/dist/custom/query-extraction/sourceBinding.js.map +1 -0
- package/dist/custom/query-extraction/sync.d.ts +27 -3
- package/dist/custom/query-extraction/sync.d.ts.map +1 -1
- package/dist/custom/query-extraction/sync.js +69 -44
- package/dist/custom/query-extraction/sync.js.map +1 -1
- package/dist/custom/query-extraction/templateFacts.d.ts +62 -0
- package/dist/custom/query-extraction/templateFacts.d.ts.map +1 -0
- package/dist/custom/query-extraction/templateFacts.js +229 -0
- package/dist/custom/query-extraction/templateFacts.js.map +1 -0
- package/dist/custom/query-extraction/types.d.ts +4 -0
- package/dist/custom/query-extraction/types.d.ts.map +1 -1
- package/dist/custom/query-refresh/QueryExtractionService.d.ts +54 -0
- package/dist/custom/query-refresh/QueryExtractionService.d.ts.map +1 -0
- package/dist/custom/query-refresh/QueryExtractionService.js +207 -0
- package/dist/custom/query-refresh/QueryExtractionService.js.map +1 -0
- package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.d.ts +28 -0
- package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.d.ts.map +1 -0
- package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.js +106 -0
- package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.js.map +1 -0
- package/dist/custom/query-refresh/index.d.ts +14 -0
- package/dist/custom/query-refresh/index.d.ts.map +1 -0
- package/dist/custom/query-refresh/index.js +10 -0
- package/dist/custom/query-refresh/index.js.map +1 -0
- package/dist/custom/query-refresh/queryRebind.d.ts +33 -0
- package/dist/custom/query-refresh/queryRebind.d.ts.map +1 -0
- package/dist/custom/query-refresh/queryRebind.js +85 -0
- package/dist/custom/query-refresh/queryRebind.js.map +1 -0
- package/dist/custom/query-refresh/refreshAuthorization.d.ts +29 -0
- package/dist/custom/query-refresh/refreshAuthorization.d.ts.map +1 -0
- package/dist/custom/query-refresh/refreshAuthorization.js +66 -0
- package/dist/custom/query-refresh/refreshAuthorization.js.map +1 -0
- package/dist/custom/query-refresh/refreshFormat.d.ts +16 -0
- package/dist/custom/query-refresh/refreshFormat.d.ts.map +1 -0
- package/dist/custom/query-refresh/refreshFormat.js +67 -0
- package/dist/custom/query-refresh/refreshFormat.js.map +1 -0
- package/dist/custom/query-refresh/refreshOrder.d.ts +25 -0
- package/dist/custom/query-refresh/refreshOrder.d.ts.map +1 -0
- package/dist/custom/query-refresh/refreshOrder.js +95 -0
- package/dist/custom/query-refresh/refreshOrder.js.map +1 -0
- package/dist/custom/query-refresh/refreshSelection.d.ts +15 -0
- package/dist/custom/query-refresh/refreshSelection.d.ts.map +1 -0
- package/dist/custom/query-refresh/refreshSelection.js +99 -0
- package/dist/custom/query-refresh/refreshSelection.js.map +1 -0
- package/dist/custom/query-refresh/refreshTypes.d.ts +81 -0
- package/dist/custom/query-refresh/refreshTypes.d.ts.map +1 -0
- package/dist/custom/query-refresh/refreshTypes.js +5 -0
- package/dist/custom/query-refresh/refreshTypes.js.map +1 -0
- package/dist/custom/util.d.ts +8 -0
- package/dist/custom/util.d.ts.map +1 -1
- package/dist/custom/util.js +18 -1
- package/dist/custom/util.js.map +1 -1
- package/dist/engines/QueryEngineServer.d.ts +8 -5
- package/dist/engines/QueryEngineServer.d.ts.map +1 -1
- package/dist/engines/QueryEngineServer.js +16 -23
- package/dist/engines/QueryEngineServer.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/package.json +30 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJConversationDetailEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJConversationDetailEntityServer.server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MJConversationDetailEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJConversationDetailEntityServer.server.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EACH,UAAU,EACV,gBAAgB,EAGhB,QAAQ,EACR,OAAO,EACP,mBAAmB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,kCAAkC,EAAwB,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,yCAAyC,EAAE,MAAM,oCAAoC,CAAC;AAE/F;;;;;;;;;;;;GAYG;AAEI,IAAM,gCAAgC,wCAAtC,MAAM,gCAAiC,SAAQ,kCAAkC;IACpF;;;OAGG;IACM,KAAK,CAAC,IAAI,CAAC,OAA2B;QAC3C,IAAI,IAAI,CAAC,gCAAgC,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACvC,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,QAAQ,GACV,IAAI,CAAC,qCAAqC;YAC1C,kCAAgC,CAAC,SAAS,CAAC,qCAAqC,CAAC;QACrF,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,qCAAqC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAA6C,CAAC;QACpE,IAAI,QAAQ,EAAE,YAAY,KAAK,UAAU,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,sEAAsE;QACtE,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC;YACxF,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAC/C,mBAAmB,EACnB,UAAU,CACb,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBACtG,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,UAAU,GACZ,CAAC,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU;gBACtC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,cAAc,CAAC;gBAClD,CAAC,CAAC,SAAS,CAAC;gBAChB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;gBAC7E,IAAI,CAAC;YACT,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,IAAI,UAAU,CAAC,mBAAmB,KAAK,KAAK,EAAE,CAAC;oBAC3C,OAAO,qCAAqC,UAAU,CAAC,iBAAiB,GAAG,CAAC;gBAChF,CAAC;gBACD,IAAI,OAAO,UAAU,CAAC,cAAc,KAAK,UAAU,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtF,OAAO,kDAAkD,UAAU,CAAC,iBAAiB,WAAW,CAAC;gBACrG,CAAC;YACL,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,yCAAyC,CAAC;gBAC/D,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,YAAY;gBAC1B,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,IAAI,CAAC,OAAO;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO,UAAU,CAAC,MAAM,IAAI,iEAAiE,CAAC;YAClG,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CACJ,iGAAiG,IAAI,CAAC,cAAc,KAChH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACzD,EAAE,CACL,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,mBAAmB;QAC5B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAA6C,CAAC,CAAC;YAC5F,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAyC;gBACpE,UAAU,EAAE,2BAA2B;gBACvC,WAAW,EAAE,OAAO,eAAe,CAAC,QAAQ,CAAC,GAAG;gBAChD,MAAM,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAChC,UAAU,EAAE,QAAQ;aACvB,EAAE,IAAI,CAAC,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,QAAQ,CAAC,yDAAyD,QAAQ,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACtG,OAAO,2CAA2C,CAAC;YACvD,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBACjE,OAAO,QAAQ,QAAQ,oCAAoC,IAAI,CAAC,cAAc,GAAG,CAAC;YACtF,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,yDAAyD,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzI,OAAO,2CAA2C,CAAC;QACvD,CAAC;IACL,CAAC;IAED,kGAAkG;IAC1F,mBAAmB,CAAC,OAAe,EAAE,OAA4B,QAAQ;QAC7E,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACtC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;OAWG;IACI,gCAAgC;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9E,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,WAAW,EAAE,KAAK,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AAlLY,gCAAgC;IAD5C,aAAa,CAAC,UAAU,EAAE,0BAA0B,CAAC;GACzC,gCAAgC,CAkL5C"}
|
|
@@ -1,13 +1,28 @@
|
|
|
1
|
-
import { ValidationResult } from '@memberjunction/core';
|
|
1
|
+
import { EntitySaveOptions, ValidationResult } from '@memberjunction/core';
|
|
2
2
|
import { MJConversationEntity } from '@memberjunction/core-entities';
|
|
3
3
|
/**
|
|
4
4
|
* Server-side `MJ: Conversations` entity.
|
|
5
5
|
*
|
|
6
|
-
* Keeps `ExternalID` — the scope identity an anonymous visitor's realtime session is owned through — out
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* 1. Keeps `ExternalID` — the scope identity an anonymous visitor's realtime session is owned through — out
|
|
7
|
+
* of an anonymous visitor's reach once the conversation exists. See {@link CheckAnonymousOwnershipKeyChange}.
|
|
8
|
+
* 2. Keeps who a conversation belongs to and who it is shared with in its owner's hands: see
|
|
9
|
+
* {@link checkOwnerOnlyChange}. Uses the synchronous `Validate()` so the rules run on every save, like
|
|
10
|
+
* `MJAIAgentSessionEntityServer`.
|
|
11
|
+
* 3. Saves `AdditionalData` as compact JSON when it holds an object, so the stored text always uses the spelling
|
|
12
|
+
* the conversation list's SQL filter matches (`INHERIT_FOLDER_ACCESS_SQL_CLAUSE`), and refuses a value the filter
|
|
13
|
+
* and the parser would still read differently: see {@link checkInheritanceReadingsAgree}.
|
|
14
|
+
* 4. Enforces Row-Level Security (RLS) and Field-Level Security (FLS) on anchored conversations
|
|
15
|
+
* (`LinkedEntityID` + `LinkedRecordID` / `AnchorType`):
|
|
16
|
+
* - Verifies the saving user can read the linked record (`UserCanReadLinkedRecord`).
|
|
17
|
+
* - Verifies the saving user is not denied Read access on the anchored field or `restrictedFields`
|
|
18
|
+
* (`IsConversationHiddenByFieldSecurity`).
|
|
19
|
+
* - When `AnchorType === 'Field'` targets an FLS-governed field (`HasFieldPermissions === true`),
|
|
20
|
+
* automatically stamps that canonical field name into `AnchorMetadataObject.restrictedFields`.
|
|
9
21
|
*/
|
|
10
22
|
export declare class MJConversationEntityServer extends MJConversationEntity {
|
|
11
23
|
Validate(): ValidationResult;
|
|
24
|
+
Save(options?: EntitySaveOptions): Promise<boolean>;
|
|
25
|
+
private checkAnchoredConversationAccessAndStampMetadata;
|
|
26
|
+
private recordSaveDenied;
|
|
12
27
|
}
|
|
13
28
|
//# sourceMappingURL=MJConversationEntityServer.server.d.ts.map
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJEntityDocumentEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJEntityDocumentEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,iBAAiB,EAAE,iBAAiB,EAAgC,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE9J,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAkF,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjJ;;;;;;;;;;;;;;GAcG;AACH,qBACa,4BAA6B,SAAQ,8BAA8B;IAC5E,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAuB;IAC5D;;;;;OAKG;IACH,WAAkB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAEvD;IACD,WAAkB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE3D;IAED,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAuB;IAC7D;;;;OAIG;IACH,WAAkB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAExD;IACD,WAAkB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE5D;IAED;;;;;OAKG;cACa,iCAAiC,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBpE,oEAAoE;cACpD,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBzE;;;;;;;;;;;;;;OAcG;IACY,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoClE,qEAAqE;cACrD,4BAA4B,CAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MJEntityDocumentEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJEntityDocumentEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,iBAAiB,EAAE,iBAAiB,EAAgC,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE9J,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAkF,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjJ;;;;;;;;;;;;;;GAcG;AACH,qBACa,4BAA6B,SAAQ,8BAA8B;IAC5E,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAuB;IAC5D;;;;;OAKG;IACH,WAAkB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAEvD;IACD,WAAkB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE3D;IAED,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAuB;IAC7D;;;;OAIG;IACH,WAAkB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAExD;IACD,WAAkB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE5D;IAED;;;;;OAKG;cACa,iCAAiC,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBpE,oEAAoE;cACpD,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBzE;;;;;;;;;;;;;;OAcG;IACY,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoClE,qEAAqE;cACrD,4BAA4B,CAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAyChH,qFAAqF;cACrE,uCAAuC,CAAC,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAoChH,+EAA+E;cAC/D,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC;CAgB9D"}
|
|
@@ -156,6 +156,7 @@ let MJEntityDocumentEntityServer = class MJEntityDocumentEntityServer extends MJ
|
|
|
156
156
|
OrderBy: "__mj_CreatedAt ASC",
|
|
157
157
|
ResultType: 'entity_object',
|
|
158
158
|
MaxRows: 1,
|
|
159
|
+
SkipTotalRowCount: true,
|
|
159
160
|
}, this.ContextCurrentUser);
|
|
160
161
|
let tc;
|
|
161
162
|
if (result && result.Success && result.Results.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJEntityDocumentEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJEntityDocumentEntityServer.server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MJEntityDocumentEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJEntityDocumentEntityServer.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJListDetailEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJListDetailEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,mBAAmB,EAAY,MAAM,sBAAsB,CAAC;AAEnG,OAAO,EAAE,0BAA0B,EAAwB,MAAM,+BAA+B,CAAC;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,wBAAyB,SAAQ,0BAA0B;IAC9C,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB7E;;;;;OAKG;YACW,4BAA4B;
|
|
1
|
+
{"version":3,"file":"MJListDetailEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJListDetailEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,mBAAmB,EAAY,MAAM,sBAAsB,CAAC;AAEnG,OAAO,EAAE,0BAA0B,EAAwB,MAAM,+BAA+B,CAAC;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,wBAAyB,SAAQ,0BAA0B;IAC9C,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB7E;;;;;OAKG;YACW,4BAA4B;CA4B7C"}
|
|
@@ -64,6 +64,7 @@ let MJListDetailEntityServer = class MJListDetailEntityServer extends MJListDeta
|
|
|
64
64
|
ExtraFilter: `ID = '${this.ListID}'`,
|
|
65
65
|
Fields: ['ID', 'UserID'],
|
|
66
66
|
MaxRows: 1,
|
|
67
|
+
SkipTotalRowCount: true,
|
|
67
68
|
ResultType: 'simple'
|
|
68
69
|
}, this.ContextCurrentUser);
|
|
69
70
|
if (result.Success && result.Results && result.Results.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJListDetailEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJListDetailEntityServer.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAuB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AAEI,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,0BAA0B;IACpD,KAAK,CAAC,MAAM,CAAC,OAA6B;QACtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAE9D,yFAAyF;QACzF,8FAA8F;QAC9F,IAAI,WAAW,IAAI,IAAI;YACnB,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,yEAAyE;gBACtF,iFAAiF,CAAC;YACtF,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,4BAA4B;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC;YACD,wFAAwF;YACxF,mFAAmF;YACnF,uEAAuE;YACvE,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAiC;gBAC5D,UAAU,EAAE,WAAW;gBACvB,WAAW,EAAE,SAAS,IAAI,CAAC,MAAM,GAAG;gBACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACxB,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,QAAQ;aACvB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE5B,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;YAC5C,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,qFAAqF;YACrF,mFAAmF;YACnF,QAAQ,CAAC,6EAA6E,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;
|
|
1
|
+
{"version":3,"file":"MJListDetailEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJListDetailEntityServer.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAuB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AAEI,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,0BAA0B;IACpD,KAAK,CAAC,MAAM,CAAC,OAA6B;QACtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAE9D,yFAAyF;QACzF,8FAA8F;QAC9F,IAAI,WAAW,IAAI,IAAI;YACnB,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,yEAAyE;gBACtF,iFAAiF,CAAC;YACtF,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,4BAA4B;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC;YACD,wFAAwF;YACxF,mFAAmF;YACnF,uEAAuE;YACvE,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAiC;gBAC5D,UAAU,EAAE,WAAW;gBACvB,WAAW,EAAE,SAAS,IAAI,CAAC,MAAM,GAAG;gBACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACxB,OAAO,EAAE,CAAC;gBACV,iBAAiB,EAAE,IAAI;gBACvB,UAAU,EAAE,QAAQ;aACvB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE5B,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;YAC5C,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,qFAAqF;YACrF,mFAAmF;YACnF,QAAQ,CAAC,6EAA6E,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AAvDY,wBAAwB;IADpC,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC;GACjC,wBAAwB,CAuDpC"}
|
|
@@ -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":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAoB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC5I,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;;;;GAMG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,uBAAuB;IAC9C,QAAQ;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEe,KAAK,CAAC,aAAa;QAC/B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChD,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7H,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACrC,OAAO,MAAM,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,CAAC,qCAAqC;QACtD,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC;QAC/E,IAAI,MAAM,GAAkB,IAAI,CAAC,QAAQ,CAAC;QAC1C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,MAAM,IAAI,KAAK,GAAG,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CACzB,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAC1H,QAAQ,CACX,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,MAAM,CAAC,2CAA2C,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;YAC3C,IAAI,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxC,OAAO,MAAM,CAAC,gEAAgE,CAAC,CAAC;YACpF,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,sCAAsC,gBAAgB,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzG,CAAC;CACJ,CAAA;AAxDY,qBAAqB;IADjC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC;GAC7B,qBAAqB,CAwDjC;;AAED;;;;;;;;;;;GAWG;AACH,SAAS,0BAA0B,CAAC,MAA+B;IAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,QAAqC,CAAC;IAC1F,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACtE,MAAM,OAAO,GACT,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;QAC1D,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtF,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,mBAAmB,CAC1B,OAAO,EACP,KAAK;QACD,CAAC,CAAC,4EAA4E;QAC9E,CAAC,CAAC,wDAAwD,EAC9D,IAAI,EACJ,mBAAmB,CAAC,OAAO,CAC9B,CAAC;AACN,CAAC"}
|