@carlonicora/nestjs-neo4jsonapi 4.11.0 → 4.13.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/agents/common/inline-entity-links.d.ts +22 -0
- package/dist/agents/common/inline-entity-links.d.ts.map +1 -0
- package/dist/agents/common/inline-entity-links.js +60 -0
- package/dist/agents/common/inline-entity-links.js.map +1 -0
- package/dist/agents/community.detector/services/community.detector.service.d.ts.map +1 -1
- package/dist/agents/community.detector/services/community.detector.service.js +4 -0
- package/dist/agents/community.detector/services/community.detector.service.js.map +1 -1
- package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts +17 -0
- package/dist/agents/graph/interfaces/graph.catalog.interface.d.ts.map +1 -1
- package/dist/agents/graph/services/graph.catalog.service.d.ts +15 -2
- package/dist/agents/graph/services/graph.catalog.service.d.ts.map +1 -1
- package/dist/agents/graph/services/graph.catalog.service.js +87 -0
- package/dist/agents/graph/services/graph.catalog.service.js.map +1 -1
- package/dist/agents/graph/services/graph.index.manager.d.ts +18 -1
- package/dist/agents/graph/services/graph.index.manager.d.ts.map +1 -1
- package/dist/agents/graph/services/graph.index.manager.js +16 -2
- package/dist/agents/graph/services/graph.index.manager.js.map +1 -1
- package/dist/agents/graph/services/graph.search.service.d.ts +38 -1
- package/dist/agents/graph/services/graph.search.service.d.ts.map +1 -1
- package/dist/agents/graph/services/graph.search.service.js +126 -7
- package/dist/agents/graph/services/graph.search.service.js.map +1 -1
- package/dist/agents/graph/services/scope.guard.d.ts +30 -1
- package/dist/agents/graph/services/scope.guard.d.ts.map +1 -1
- package/dist/agents/graph/services/scope.guard.js +53 -2
- package/dist/agents/graph/services/scope.guard.js.map +1 -1
- package/dist/agents/graph/tools/search-entities.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/search-entities.tool.js +3 -1
- package/dist/agents/graph/tools/search-entities.tool.js.map +1 -1
- package/dist/agents/graph/tools/traverse.tool.d.ts.map +1 -1
- package/dist/agents/graph/tools/traverse.tool.js +18 -8
- package/dist/agents/graph/tools/traverse.tool.js.map +1 -1
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +6 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/operator/contexts/operator.context.d.ts +8 -1
- package/dist/agents/operator/contexts/operator.context.d.ts.map +1 -1
- package/dist/agents/operator/contexts/operator.context.js +6 -0
- package/dist/agents/operator/contexts/operator.context.js.map +1 -1
- package/dist/agents/operator/controllers/operator.controller.d.ts +4 -1
- package/dist/agents/operator/controllers/operator.controller.d.ts.map +1 -1
- package/dist/agents/operator/controllers/operator.controller.js +15 -8
- package/dist/agents/operator/controllers/operator.controller.js.map +1 -1
- package/dist/agents/operator/services/operator.service.d.ts +15 -0
- package/dist/agents/operator/services/operator.service.d.ts.map +1 -1
- package/dist/agents/operator/services/operator.service.js +31 -8
- package/dist/agents/operator/services/operator.service.js.map +1 -1
- package/dist/agents/operator/tools/operator.tool.registry.d.ts +2 -1
- package/dist/agents/operator/tools/operator.tool.registry.d.ts.map +1 -1
- package/dist/agents/operator/tools/operator.tool.registry.js +8 -3
- package/dist/agents/operator/tools/operator.tool.registry.js.map +1 -1
- package/dist/agents/responder/contexts/responder.context.d.ts +6 -0
- package/dist/agents/responder/contexts/responder.context.d.ts.map +1 -1
- package/dist/agents/responder/contexts/responder.context.js +2 -0
- package/dist/agents/responder/contexts/responder.context.js.map +1 -1
- package/dist/agents/responder/nodes/responder.answer.node.service.d.ts.map +1 -1
- package/dist/agents/responder/nodes/responder.answer.node.service.js +8 -2
- package/dist/agents/responder/nodes/responder.answer.node.service.js.map +1 -1
- package/dist/agents/responder/services/responder.service.d.ts +2 -0
- package/dist/agents/responder/services/responder.service.d.ts.map +1 -1
- package/dist/agents/responder/services/responder.service.js +1 -0
- package/dist/agents/responder/services/responder.service.js.map +1 -1
- package/dist/common/decorators/oauth.scopes.decorator.d.ts +2 -2
- package/dist/common/decorators/oauth.scopes.decorator.js +2 -2
- package/dist/common/helpers/credit-gate.d.ts +8 -0
- package/dist/common/helpers/credit-gate.d.ts.map +1 -1
- package/dist/common/helpers/credit-gate.js +11 -0
- package/dist/common/helpers/credit-gate.js.map +1 -1
- package/dist/common/helpers/define-entity.d.ts.map +1 -1
- package/dist/common/helpers/define-entity.js +6 -0
- package/dist/common/helpers/define-entity.js.map +1 -1
- package/dist/common/interfaces/assistant.scope.interface.d.ts +47 -0
- package/dist/common/interfaces/assistant.scope.interface.d.ts.map +1 -0
- package/dist/common/interfaces/assistant.scope.interface.js +14 -0
- package/dist/common/interfaces/assistant.scope.interface.js.map +1 -0
- package/dist/common/interfaces/assistant.title.interface.d.ts +30 -0
- package/dist/common/interfaces/assistant.title.interface.d.ts.map +1 -0
- package/dist/common/interfaces/assistant.title.interface.js +18 -0
- package/dist/common/interfaces/assistant.title.interface.js.map +1 -0
- package/dist/common/interfaces/datamodel.interface.d.ts +1 -0
- package/dist/common/interfaces/datamodel.interface.d.ts.map +1 -1
- package/dist/common/interfaces/entity.schema.interface.d.ts +63 -6
- package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
- package/dist/common/interfaces/external.entity.source.interface.d.ts +43 -0
- package/dist/common/interfaces/external.entity.source.interface.d.ts.map +1 -0
- package/dist/common/interfaces/external.entity.source.interface.js +17 -0
- package/dist/common/interfaces/external.entity.source.interface.js.map +1 -0
- package/dist/common/interfaces/index.d.ts +4 -0
- package/dist/common/interfaces/index.d.ts.map +1 -1
- package/dist/common/interfaces/index.js +4 -0
- package/dist/common/interfaces/index.js.map +1 -1
- package/dist/common/interfaces/s3.key-access.policy.interface.d.ts +48 -0
- package/dist/common/interfaces/s3.key-access.policy.interface.d.ts.map +1 -0
- package/dist/common/interfaces/s3.key-access.policy.interface.js +36 -0
- package/dist/common/interfaces/s3.key-access.policy.interface.js.map +1 -0
- package/dist/common/tokens.d.ts +13 -0
- package/dist/common/tokens.d.ts.map +1 -1
- package/dist/common/tokens.js +14 -1
- package/dist/common/tokens.js.map +1 -1
- package/dist/config/base.config.d.ts +13 -0
- package/dist/config/base.config.d.ts.map +1 -1
- package/dist/config/base.config.js +2 -0
- package/dist/config/base.config.js.map +1 -1
- package/dist/config/interfaces/base.config.interface.d.ts +2 -0
- package/dist/config/interfaces/base.config.interface.d.ts.map +1 -1
- package/dist/config/interfaces/config.assistant.interface.d.ts +9 -0
- package/dist/config/interfaces/config.assistant.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.assistant.interface.js +3 -0
- package/dist/config/interfaces/config.assistant.interface.js.map +1 -0
- package/dist/config/interfaces/config.oauth.interface.d.ts +8 -0
- package/dist/config/interfaces/config.oauth.interface.d.ts.map +1 -1
- package/dist/config/interfaces/config.operator.interface.d.ts +5 -0
- package/dist/config/interfaces/config.operator.interface.d.ts.map +1 -1
- package/dist/config/interfaces/index.d.ts +1 -0
- package/dist/config/interfaces/index.d.ts.map +1 -1
- package/dist/config/interfaces/index.js +1 -0
- package/dist/config/interfaces/index.js.map +1 -1
- package/dist/core/neo4j/abstracts/abstract.repository.d.ts +26 -0
- package/dist/core/neo4j/abstracts/abstract.repository.d.ts.map +1 -1
- package/dist/core/neo4j/abstracts/abstract.repository.js +70 -37
- package/dist/core/neo4j/abstracts/abstract.repository.js.map +1 -1
- package/dist/core/neo4j/index.d.ts +2 -0
- package/dist/core/neo4j/index.d.ts.map +1 -1
- package/dist/core/neo4j/index.js +5 -1
- package/dist/core/neo4j/index.js.map +1 -1
- package/dist/core/neo4j/queries/update.relationship.d.ts +8 -0
- package/dist/core/neo4j/queries/update.relationship.d.ts.map +1 -1
- package/dist/core/neo4j/queries/update.relationship.js +4 -1
- package/dist/core/neo4j/queries/update.relationship.js.map +1 -1
- package/dist/core/neo4j/services/neo4j.service.d.ts +10 -0
- package/dist/core/neo4j/services/neo4j.service.d.ts.map +1 -1
- package/dist/core/neo4j/services/neo4j.service.js +12 -1
- package/dist/core/neo4j/services/neo4j.service.js.map +1 -1
- package/dist/foundations/assistant/assistant.module.d.ts +7 -2
- package/dist/foundations/assistant/assistant.module.d.ts.map +1 -1
- package/dist/foundations/assistant/assistant.module.js +37 -1
- package/dist/foundations/assistant/assistant.module.js.map +1 -1
- package/dist/foundations/assistant/controllers/assistant.controller.d.ts +4 -1
- package/dist/foundations/assistant/controllers/assistant.controller.d.ts.map +1 -1
- package/dist/foundations/assistant/controllers/assistant.controller.js +15 -8
- package/dist/foundations/assistant/controllers/assistant.controller.js.map +1 -1
- package/dist/foundations/assistant/services/assistant.service.d.ts +37 -1
- package/dist/foundations/assistant/services/assistant.service.d.ts.map +1 -1
- package/dist/foundations/assistant/services/assistant.service.js +144 -11
- package/dist/foundations/assistant/services/assistant.service.js.map +1 -1
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.d.ts +7 -1
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.d.ts.map +1 -1
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.js +15 -5
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.js.map +1 -1
- package/dist/foundations/assistant-message/assistant-message.module.d.ts +4 -0
- package/dist/foundations/assistant-message/assistant-message.module.d.ts.map +1 -1
- package/dist/foundations/assistant-message/assistant-message.module.js +27 -2
- package/dist/foundations/assistant-message/assistant-message.module.js.map +1 -1
- package/dist/foundations/company/entities/company.d.ts +4 -4
- package/dist/foundations/company/entities/company.d.ts.map +1 -1
- package/dist/foundations/company/entities/company.js +2 -2
- package/dist/foundations/company/entities/company.js.map +1 -1
- package/dist/foundations/content/interfaces/content.extension.interface.d.ts +22 -0
- package/dist/foundations/content/interfaces/content.extension.interface.d.ts.map +1 -1
- package/dist/foundations/content/interfaces/content.extension.interface.js.map +1 -1
- package/dist/foundations/content/services/content.cypher.service.d.ts +27 -0
- package/dist/foundations/content/services/content.cypher.service.d.ts.map +1 -1
- package/dist/foundations/content/services/content.cypher.service.js +68 -9
- package/dist/foundations/content/services/content.cypher.service.js.map +1 -1
- package/dist/foundations/oauth/constants/oauth.scopes.d.ts +26 -11
- package/dist/foundations/oauth/constants/oauth.scopes.d.ts.map +1 -1
- package/dist/foundations/oauth/constants/oauth.scopes.js +13 -18
- package/dist/foundations/oauth/constants/oauth.scopes.js.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.authorize.controller.d.ts.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.authorize.controller.js +3 -0
- package/dist/foundations/oauth/controllers/oauth.authorize.controller.js.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.registration.controller.d.ts.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.registration.controller.js +2 -0
- package/dist/foundations/oauth/controllers/oauth.registration.controller.js.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.token.controller.d.ts.map +1 -1
- package/dist/foundations/oauth/controllers/oauth.token.controller.js +2 -0
- package/dist/foundations/oauth/controllers/oauth.token.controller.js.map +1 -1
- package/dist/foundations/oauth/dtos/oauth.authorize.dto.d.ts +1 -0
- package/dist/foundations/oauth/dtos/oauth.authorize.dto.d.ts.map +1 -1
- package/dist/foundations/oauth/dtos/oauth.authorize.dto.js +5 -0
- package/dist/foundations/oauth/dtos/oauth.authorize.dto.js.map +1 -1
- package/dist/foundations/oauth/entities/oauth.authorization.code.entity.d.ts +2 -0
- package/dist/foundations/oauth/entities/oauth.authorization.code.entity.d.ts.map +1 -1
- package/dist/foundations/oauth/entities/oauth.authorization.code.entity.js.map +1 -1
- package/dist/foundations/oauth/entities/oauth.authorization.code.model.d.ts.map +1 -1
- package/dist/foundations/oauth/entities/oauth.authorization.code.model.js +1 -0
- package/dist/foundations/oauth/entities/oauth.authorization.code.model.js.map +1 -1
- package/dist/foundations/oauth/filters/oauth.error.filter.d.ts +16 -0
- package/dist/foundations/oauth/filters/oauth.error.filter.d.ts.map +1 -0
- package/dist/foundations/oauth/filters/oauth.error.filter.js +70 -0
- package/dist/foundations/oauth/filters/oauth.error.filter.js.map +1 -0
- package/dist/foundations/oauth/guards/oauth.token.guard.d.ts +2 -2
- package/dist/foundations/oauth/guards/oauth.token.guard.js +2 -2
- package/dist/foundations/oauth/index.d.ts +2 -1
- package/dist/foundations/oauth/index.d.ts.map +1 -1
- package/dist/foundations/oauth/index.js +3 -1
- package/dist/foundations/oauth/index.js.map +1 -1
- package/dist/foundations/oauth/oauth.module.d.ts +2 -2
- package/dist/foundations/oauth/oauth.module.d.ts.map +1 -1
- package/dist/foundations/oauth/oauth.module.js +11 -5
- package/dist/foundations/oauth/oauth.module.js.map +1 -1
- package/dist/foundations/oauth/repositories/oauth.repository.d.ts +20 -1
- package/dist/foundations/oauth/repositories/oauth.repository.d.ts.map +1 -1
- package/dist/foundations/oauth/repositories/oauth.repository.js +54 -10
- package/dist/foundations/oauth/repositories/oauth.repository.js.map +1 -1
- package/dist/foundations/oauth/services/index.d.ts +1 -0
- package/dist/foundations/oauth/services/index.d.ts.map +1 -1
- package/dist/foundations/oauth/services/index.js +1 -0
- package/dist/foundations/oauth/services/index.js.map +1 -1
- package/dist/foundations/oauth/services/oauth.client.service.d.ts +3 -1
- package/dist/foundations/oauth/services/oauth.client.service.d.ts.map +1 -1
- package/dist/foundations/oauth/services/oauth.client.service.js +7 -5
- package/dist/foundations/oauth/services/oauth.client.service.js.map +1 -1
- package/dist/foundations/oauth/services/oauth.scope.service.d.ts +32 -0
- package/dist/foundations/oauth/services/oauth.scope.service.d.ts.map +1 -0
- package/dist/foundations/oauth/services/oauth.scope.service.js +71 -0
- package/dist/foundations/oauth/services/oauth.scope.service.js.map +1 -0
- package/dist/foundations/oauth/services/oauth.service.d.ts +13 -1
- package/dist/foundations/oauth/services/oauth.service.d.ts.map +1 -1
- package/dist/foundations/oauth/services/oauth.service.js +18 -8
- package/dist/foundations/oauth/services/oauth.service.js.map +1 -1
- package/dist/foundations/relevancy/queries/relevance.d.ts +20 -0
- package/dist/foundations/relevancy/queries/relevance.d.ts.map +1 -1
- package/dist/foundations/relevancy/queries/relevance.js +44 -8
- package/dist/foundations/relevancy/queries/relevance.js.map +1 -1
- package/dist/foundations/relevancy/repositories/relevancy.repository.d.ts +41 -2
- package/dist/foundations/relevancy/repositories/relevancy.repository.d.ts.map +1 -1
- package/dist/foundations/relevancy/repositories/relevancy.repository.js +89 -6
- package/dist/foundations/relevancy/repositories/relevancy.repository.js.map +1 -1
- package/dist/foundations/relevancy/services/relevancy.service.js +1 -1
- package/dist/foundations/relevancy/services/relevancy.service.js.map +1 -1
- package/dist/foundations/s3/controllers/s3.controller.d.ts +10 -1
- package/dist/foundations/s3/controllers/s3.controller.d.ts.map +1 -1
- package/dist/foundations/s3/controllers/s3.controller.js +33 -2
- package/dist/foundations/s3/controllers/s3.controller.js.map +1 -1
- package/dist/foundations/user/controllers/user.controller.d.ts +1 -1
- package/dist/foundations/user/controllers/user.controller.d.ts.map +1 -1
- package/dist/foundations/user/controllers/user.controller.js +4 -4
- package/dist/foundations/user/controllers/user.controller.js.map +1 -1
- package/dist/foundations/user/entities/user.d.ts +17 -17
- package/dist/foundations/user/entities/user.d.ts.map +1 -1
- package/dist/foundations/user/entities/user.js +7 -7
- package/dist/foundations/user/entities/user.js.map +1 -1
- package/dist/foundations/user/user.module.js +2 -2
- package/dist/foundations/user/user.module.js.map +1 -1
- package/dist/mcp/services/mcp.entity.write.service.d.ts +9 -4
- package/dist/mcp/services/mcp.entity.write.service.d.ts.map +1 -1
- package/dist/mcp/services/mcp.entity.write.service.js +12 -4
- package/dist/mcp/services/mcp.entity.write.service.js.map +1 -1
- package/dist/mcp/services/mcp.errors.d.ts +1 -1
- package/dist/mcp/services/mcp.errors.d.ts.map +1 -1
- package/dist/mcp/services/mcp.errors.js.map +1 -1
- package/dist/mcp/services/mcp.tool.registry.d.ts +10 -1
- package/dist/mcp/services/mcp.tool.registry.d.ts.map +1 -1
- package/dist/mcp/services/mcp.tool.registry.js +24 -2
- package/dist/mcp/services/mcp.tool.registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,9 +5,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
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;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
12
|
exports.AssistantMessageModule = void 0;
|
|
10
13
|
const common_1 = require("@nestjs/common");
|
|
14
|
+
const core_1 = require("@nestjs/core");
|
|
11
15
|
const registry_1 = require("../../common/registries/registry");
|
|
12
16
|
const assistant_message_controller_1 = require("./controllers/assistant-message.controller");
|
|
13
17
|
const assistant_message_1 = require("./entities/assistant-message");
|
|
@@ -16,14 +20,34 @@ const assistant_message_repository_1 = require("./repositories/assistant-message
|
|
|
16
20
|
const assistant_message_service_1 = require("./services/assistant-message.service");
|
|
17
21
|
const assistant_meta_1 = require("../assistant/entities/assistant.meta");
|
|
18
22
|
let AssistantMessageModule = class AssistantMessageModule {
|
|
23
|
+
constructor(moduleRef) {
|
|
24
|
+
this.moduleRef = moduleRef;
|
|
25
|
+
}
|
|
19
26
|
onModuleInit() {
|
|
20
27
|
registry_1.modelRegistry.register(assistant_message_1.AssistantMessageDescriptor.model);
|
|
21
28
|
}
|
|
22
29
|
onApplicationBootstrap() {
|
|
23
30
|
const all = registry_1.modelRegistry.getAllModels();
|
|
24
|
-
|
|
31
|
+
// Only models whose serialiser is an instantiated provider can be cited:
|
|
32
|
+
// the auto serialiser builds every candidate's serialiser through ModuleRef
|
|
33
|
+
// when it serialises a message. An app can register a model (for typed
|
|
34
|
+
// reads) without providing its serialiser — an internal entity that is
|
|
35
|
+
// never served over HTTP — and listing it here crashes every assistant
|
|
36
|
+
// response with "Nest could not find <X>AutoSerialiser element".
|
|
37
|
+
const candidates = all.filter((m) => !!m.serialiser &&
|
|
38
|
+
m.type !== assistant_message_meta_1.assistantMessageMeta.type &&
|
|
39
|
+
m.type !== assistant_meta_1.assistantMeta.type &&
|
|
40
|
+
this.isSerialiserResolvable(m.serialiser));
|
|
25
41
|
assistant_message_1.AssistantMessageDescriptor.relationships.references.polymorphic.candidates = candidates;
|
|
26
42
|
}
|
|
43
|
+
isSerialiserResolvable(serialiser) {
|
|
44
|
+
try {
|
|
45
|
+
return !!this.moduleRef.get(serialiser, { strict: false });
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
27
51
|
};
|
|
28
52
|
exports.AssistantMessageModule = AssistantMessageModule;
|
|
29
53
|
exports.AssistantMessageModule = AssistantMessageModule = __decorate([
|
|
@@ -31,6 +55,7 @@ exports.AssistantMessageModule = AssistantMessageModule = __decorate([
|
|
|
31
55
|
controllers: [assistant_message_controller_1.AssistantMessageController],
|
|
32
56
|
providers: [assistant_message_1.AssistantMessageDescriptor.model.serialiser, assistant_message_repository_1.AssistantMessageRepository, assistant_message_service_1.AssistantMessageService],
|
|
33
57
|
exports: [assistant_message_service_1.AssistantMessageService, assistant_message_repository_1.AssistantMessageRepository],
|
|
34
|
-
})
|
|
58
|
+
}),
|
|
59
|
+
__metadata("design:paramtypes", [core_1.ModuleRef])
|
|
35
60
|
], AssistantMessageModule);
|
|
36
61
|
//# sourceMappingURL=assistant-message.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-message.module.js","sourceRoot":"","sources":["../../../src/foundations/assistant-message/assistant-message.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assistant-message.module.js","sourceRoot":"","sources":["../../../src/foundations/assistant-message/assistant-message.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA8E;AAC9E,uCAAyC;AACzC,+DAAiE;AACjE,6FAAwF;AACxF,oEAA0E;AAC1E,8EAAyE;AACzE,8FAAyF;AACzF,oFAA+E;AAC/E,yEAAqE;AAO9D,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,YAAY;QACV,wBAAa,CAAC,QAAQ,CAAC,8CAA0B,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,sBAAsB;QACpB,MAAM,GAAG,GAAG,wBAAa,CAAC,YAAY,EAAE,CAAC;QACzC,yEAAyE;QACzE,4EAA4E;QAC5E,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,iEAAiE;QACjE,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,CAAC,UAAU;YACd,CAAC,CAAC,IAAI,KAAK,6CAAoB,CAAC,IAAI;YACpC,CAAC,CAAC,IAAI,KAAK,8BAAa,CAAC,IAAI;YAC7B,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC,CAC5C,CAAC;QACF,8CAA0B,CAAC,aAAa,CAAC,UAAU,CAAC,WAAY,CAAC,UAAU,GAAG,UAAU,CAAC;IAC3F,CAAC;IAEO,sBAAsB,CAAC,UAAmB;QAChD,IAAI,CAAC;YACH,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAA;AAhCY,wDAAsB;iCAAtB,sBAAsB;IALlC,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,yDAA0B,CAAC;QACzC,SAAS,EAAE,CAAC,8CAA0B,CAAC,KAAK,CAAC,UAAU,EAAE,yDAA0B,EAAE,mDAAuB,CAAC;QAC7G,OAAO,EAAE,CAAC,mDAAuB,EAAE,yDAA0B,CAAC;KAC/D,CAAC;qCAEwC,gBAAS;GADtC,sBAAsB,CAgClC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Entity } from "../../../common";
|
|
1
|
+
import type { Entity } from "../../../common/abstracts/entity";
|
|
2
2
|
import type { Feature } from "../../feature/entities/feature";
|
|
3
3
|
import type { Module } from "../../module/entities/module.entity";
|
|
4
4
|
/**
|
|
@@ -47,16 +47,16 @@ export type Company = Entity & {
|
|
|
47
47
|
* Single source of truth for the Company entity configuration.
|
|
48
48
|
* Generates mapper, childrenTokens, and DataModelInterface automatically.
|
|
49
49
|
*/
|
|
50
|
-
export declare const CompanyDescriptor: import("
|
|
50
|
+
export declare const CompanyDescriptor: import("../../..").EntityDescriptor<Company, {
|
|
51
51
|
feature: {
|
|
52
|
-
model: import("
|
|
52
|
+
model: import("../../..").DataMeta;
|
|
53
53
|
direction: "out";
|
|
54
54
|
relationship: string;
|
|
55
55
|
cardinality: "many";
|
|
56
56
|
dtoKey: string;
|
|
57
57
|
};
|
|
58
58
|
module: {
|
|
59
|
-
model: import("
|
|
59
|
+
model: import("../../..").DataMeta;
|
|
60
60
|
direction: "out";
|
|
61
61
|
relationship: string;
|
|
62
62
|
cardinality: "many";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"company.d.ts","sourceRoot":"","sources":["../../../../src/foundations/company/entities/company.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"company.d.ts","sourceRoot":"","sources":["../../../../src/foundations/company/entities/company.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAKlE;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,GAAG,CAAC;IAGpB,mBAAmB,CAAC,EAAE,IAAI,CAAC;IAC3B,mBAAmB,CAAC,EAAE,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAgE5B,CAAC;AAGH,MAAM,MAAM,qBAAqB,GAAG,OAAO,iBAAiB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CompanyDescriptor = void 0;
|
|
4
|
-
const
|
|
4
|
+
const define_entity_1 = require("../../../common/helpers/define-entity");
|
|
5
5
|
const feature_meta_1 = require("../../feature/entities/feature.meta");
|
|
6
6
|
const module_meta_1 = require("../../module/entities/module.meta");
|
|
7
7
|
const company_meta_1 = require("./company.meta");
|
|
@@ -11,7 +11,7 @@ const company_meta_1 = require("./company.meta");
|
|
|
11
11
|
* Single source of truth for the Company entity configuration.
|
|
12
12
|
* Generates mapper, childrenTokens, and DataModelInterface automatically.
|
|
13
13
|
*/
|
|
14
|
-
exports.CompanyDescriptor = (0,
|
|
14
|
+
exports.CompanyDescriptor = (0, define_entity_1.defineEntity)()({
|
|
15
15
|
...company_meta_1.companyMeta,
|
|
16
16
|
// Company is the TENANT ROOT: every other entity is scoped to a company, so the
|
|
17
17
|
// company itself has no parent company to filter by. Without this flag
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"company.js","sourceRoot":"","sources":["../../../../src/foundations/company/entities/company.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"company.js","sourceRoot":"","sources":["../../../../src/foundations/company/entities/company.ts"],"names":[],"mappings":";;;AACA,yEAAqE;AAGrE,sEAAkE;AAClE,mEAA+D;AAC/D,iDAA6C;AAsD7C;;;;;GAKG;AACU,QAAA,iBAAiB,GAAG,IAAA,4BAAY,GAAW,CAAC;IACvD,GAAG,0BAAW;IAEd,gFAAgF;IAChF,uEAAuE;IACvE,4EAA4E;IAC5E,+EAA+E;IAC/E,2CAA2C;IAC3C,eAAe,EAAE,KAAK;IAEtB,oBAAoB;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,+EAA+E;QAC/E,iEAAiE;QACjE,yEAAyE;QACzE,yEAAyE;QACzE,mDAAmD;QACnD,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,gFAAgF;QAChF,gFAAgF;QAChF,qCAAqC;QACrC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE;QACxD,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,uBAAuB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3C,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9B,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QACzC,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QACzC,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAChC;IAED,2BAA2B;IAC3B,aAAa,EAAE;QACb,OAAO,EAAE;YACP,KAAK,EAAE,0BAAW;YAClB,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,aAAa;YAC3B,WAAW,EAAE,MAAM;YACnB,MAAM,EAAE,UAAU;SACnB;QACD,MAAM,EAAE;YACN,KAAK,EAAE,wBAAU;YACjB,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,MAAM;YACnB,MAAM,EAAE,SAAS;SAClB;KACF;CACF,CAAC,CAAC"}
|
|
@@ -159,6 +159,28 @@ export interface ContentExtensionConfig {
|
|
|
159
159
|
* its wire contract pins relationships to `["owner"]`.
|
|
160
160
|
*/
|
|
161
161
|
serialiseAuthor?: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Per-label record-level access rules, keyed by the underlying Neo4j label
|
|
164
|
+
* (e.g. `"Document"`). Each value is a Cypher predicate over the content node
|
|
165
|
+
* alias `content` and the bound `currentUser`, normally the label's own
|
|
166
|
+
* repository `buildUserHasAccess()` predicate re-aliased to `content`.
|
|
167
|
+
*
|
|
168
|
+
* `ContentCypherService.userHasAccess()` — the access check of EVERY Content
|
|
169
|
+
* read: the list, by-owner and by-ids reads and the related rows of the
|
|
170
|
+
* `/contents/:id/relevance` read — ANDs one `(NOT content:<Label> OR (<predicate>))`
|
|
171
|
+
* conjunct per entry, so a row of that label is returned only when its
|
|
172
|
+
* predicate holds. The SOURCE of `/contents/:id/relevance` and
|
|
173
|
+
* `/contents/:id/user-relevance` must pass the same check (403/404 otherwise),
|
|
174
|
+
* and the relevance page is cut after the filter. Skipped for automated jobs,
|
|
175
|
+
* like every `userHasAccess` check. With no user in context a guarded label
|
|
176
|
+
* is excluded outright (`currentUser` is unbound).
|
|
177
|
+
*
|
|
178
|
+
* Default (omitted): no access predicate. Every company record of the
|
|
179
|
+
* configured content types is returned, exactly as before.
|
|
180
|
+
*
|
|
181
|
+
* a360ai: the Document and Memo access rules.
|
|
182
|
+
*/
|
|
183
|
+
accessPredicates?: Record<string, string>;
|
|
162
184
|
}
|
|
163
185
|
/**
|
|
164
186
|
* Injection token for Content extension configuration.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.extension.interface.d.ts","sourceRoot":"","sources":["../../../../src/foundations/content/interfaces/content.extension.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,8EAA8E;IAC9E,KAAK,EAAE,QAAQ,CAAC;IAEhB,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IAErB,6DAA6D;IAC7D,SAAS,EAAE,IAAI,GAAG,KAAK,CAAC;IAExB,+DAA+D;IAC/D,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IAE5B,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,WAAW,sBAAsB;IACrC,uBAAuB,EAAE,4BAA4B,EAAE,CAAC;IAExD;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAE7C;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAEzC;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"content.extension.interface.d.ts","sourceRoot":"","sources":["../../../../src/foundations/content/interfaces/content.extension.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,8EAA8E;IAC9E,KAAK,EAAE,QAAQ,CAAC;IAEhB,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IAErB,6DAA6D;IAC7D,SAAS,EAAE,IAAI,GAAG,KAAK,CAAC;IAExB,+DAA+D;IAC/D,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IAE5B,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,WAAW,sBAAsB;IACrC,uBAAuB,EAAE,4BAA4B,EAAE,CAAC;IAExD;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAE7C;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAEzC;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,eAA+B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.extension.interface.js","sourceRoot":"","sources":["../../../../src/foundations/content/interfaces/content.extension.interface.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"content.extension.interface.js","sourceRoot":"","sources":["../../../../src/foundations/content/interfaces/content.extension.interface.ts"],"names":[],"mappings":";;;AA0MA;;;GAGG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAE3E;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -14,6 +14,18 @@ export declare class ContentCypherService {
|
|
|
14
14
|
searchField: string;
|
|
15
15
|
blockCompanyAndUser?: boolean;
|
|
16
16
|
}): string;
|
|
17
|
+
/**
|
|
18
|
+
* The per-label `accessPredicates` as `(NOT content:<Label> OR (<predicate>))`
|
|
19
|
+
* conjuncts: a row of that label survives only when its predicate holds, rows
|
|
20
|
+
* of every other label are untouched. Empty when no predicate is configured
|
|
21
|
+
* (the default) or when running as an automated job, mirroring
|
|
22
|
+
* `SecurityService.userHasAccess`, which skips access checks for those.
|
|
23
|
+
*
|
|
24
|
+
* Without a user in context `currentUser` is not bound, so a predicate over it
|
|
25
|
+
* would match ANY user inside its `EXISTS {}`; rows of a guarded label are then
|
|
26
|
+
* excluded outright (`NOT content:<Label>`).
|
|
27
|
+
*/
|
|
28
|
+
private accessPredicateConjuncts;
|
|
17
29
|
/**
|
|
18
30
|
* The `requireTldr` filter as trailing `AND` predicates, for callers that
|
|
19
31
|
* already opened a WHERE clause of their own (e.g. `ContentRepository.findByIds`).
|
|
@@ -31,6 +43,21 @@ export declare class ContentCypherService {
|
|
|
31
43
|
ownerMatch(params: {
|
|
32
44
|
target: string;
|
|
33
45
|
}): string;
|
|
46
|
+
/**
|
|
47
|
+
* The access check every Content read runs (via `SecurityService.userHasAccess`,
|
|
48
|
+
* which skips it for automated jobs): the list, by-owner and by-ids reads in
|
|
49
|
+
* `ContentRepository`, the related rows of the `/contents/:id/relevance` read
|
|
50
|
+
* in `RelevancyRepository`, which receives this service as its `cypherService`,
|
|
51
|
+
* and the SOURCE content check `RelevancyRepository` runs before every
|
|
52
|
+
* relevance read (`/contents/:id/relevance` and `/contents/:id/user-relevance`).
|
|
53
|
+
*
|
|
54
|
+
* Default (no `accessPredicates`): the bare re-projecting `WITH`, unchanged.
|
|
55
|
+
*
|
|
56
|
+
* With `accessPredicates`: the same `WITH`, a `WHERE` carrying the per-label
|
|
57
|
+
* conjuncts, then the same `WITH` again, so the fragment always ends on a
|
|
58
|
+
* plain projection and the caller's next clause (`ORDER BY … {CURSOR}`, a
|
|
59
|
+
* `MATCH`, a `WHERE`) attaches to it exactly as it did before.
|
|
60
|
+
*/
|
|
34
61
|
userHasAccess: (params?: {
|
|
35
62
|
useTotalScore?: boolean;
|
|
36
63
|
}) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.cypher.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/content/services/content.cypher.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAA+B,MAAM,4BAA4B,CAAC;AAI9F,OAAO,EAAE,sBAAsB,EAA4B,MAAM,2CAA2C,CAAC;AAE7G,qBACa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAJV,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAGjD,SAAS,CAAC,EAAE,sBAAsB;IAGrD,OAAO,CAAC,eAAe;IAKvB,gFAAgF;IAChF,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,CAAC,MAAM,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"content.cypher.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/content/services/content.cypher.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAA+B,MAAM,4BAA4B,CAAC;AAI9F,OAAO,EAAE,sBAAsB,EAA4B,MAAM,2CAA2C,CAAC;AAE7G,qBACa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAJV,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAGjD,SAAS,CAAC,EAAE,sBAAsB;IAGrD,OAAO,CAAC,eAAe;IAKvB,gFAAgF;IAChF,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,CAAC,MAAM,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;IAgChF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,wBAAwB;IAchC;;;;OAIG;IACH,UAAU,IAAI,MAAM;IAQpB;;;;;;;OAOG;IACH,UAAU,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAU9C;;;;;;;;;;;;;;OAcG;IACH,aAAa,GAAI,SAAS;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,MAAM,CAkB5D;IAEF,eAAe,GAAI,SAAS;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,YA0ErD;CACH"}
|
|
@@ -25,11 +25,35 @@ let ContentCypherService = class ContentCypherService {
|
|
|
25
25
|
this.clsService = clsService;
|
|
26
26
|
this.configService = configService;
|
|
27
27
|
this.extension = extension;
|
|
28
|
+
/**
|
|
29
|
+
* The access check every Content read runs (via `SecurityService.userHasAccess`,
|
|
30
|
+
* which skips it for automated jobs): the list, by-owner and by-ids reads in
|
|
31
|
+
* `ContentRepository`, the related rows of the `/contents/:id/relevance` read
|
|
32
|
+
* in `RelevancyRepository`, which receives this service as its `cypherService`,
|
|
33
|
+
* and the SOURCE content check `RelevancyRepository` runs before every
|
|
34
|
+
* relevance read (`/contents/:id/relevance` and `/contents/:id/user-relevance`).
|
|
35
|
+
*
|
|
36
|
+
* Default (no `accessPredicates`): the bare re-projecting `WITH`, unchanged.
|
|
37
|
+
*
|
|
38
|
+
* With `accessPredicates`: the same `WITH`, a `WHERE` carrying the per-label
|
|
39
|
+
* conjuncts, then the same `WITH` again, so the fragment always ends on a
|
|
40
|
+
* plain projection and the caller's next clause (`ORDER BY … {CURSOR}`, a
|
|
41
|
+
* `MATCH`, a `WHERE`) attaches to it exactly as it did before.
|
|
42
|
+
*/
|
|
28
43
|
this.userHasAccess = (params) => {
|
|
29
44
|
const companyId = this.clsService.get("companyId");
|
|
30
45
|
const userId = this.clsService.get("userId");
|
|
46
|
+
const projection = `WITH ${content_meta_1.contentMeta.nodeName}${companyId ? `, ${company_meta_1.companyMeta.nodeName}` : ``}${userId ? `, currentUser` : ``}${params?.useTotalScore ? `, totalScore` : ``}`;
|
|
47
|
+
const accessConjuncts = this.accessPredicateConjuncts();
|
|
48
|
+
if (accessConjuncts.length === 0)
|
|
49
|
+
return `
|
|
50
|
+
${projection}
|
|
51
|
+
`;
|
|
31
52
|
return `
|
|
32
|
-
|
|
53
|
+
${projection}
|
|
54
|
+
WHERE ${accessConjuncts.join(`
|
|
55
|
+
AND `)}
|
|
56
|
+
${projection}
|
|
33
57
|
`;
|
|
34
58
|
};
|
|
35
59
|
this.returnStatement = (params) => {
|
|
@@ -106,19 +130,54 @@ let ContentCypherService = class ContentCypherService {
|
|
|
106
130
|
return this.extension?.serialiseAuthor !== false;
|
|
107
131
|
}
|
|
108
132
|
default(params) {
|
|
109
|
-
|
|
110
|
-
MATCH (${content_meta_1.contentMeta.nodeName}:${this.getContentTypes().join("|")} ${params ? ` {${params.searchField}: $searchValue}` : ``})
|
|
111
|
-
WHERE ${this.extension?.requireTldr
|
|
112
|
-
? `${content_meta_1.contentMeta.nodeName}.tldr IS NOT NULL
|
|
113
|
-
AND ${content_meta_1.contentMeta.nodeName}.tldr <> ""
|
|
114
|
-
AND `
|
|
115
|
-
: ``}$companyId IS NULL
|
|
133
|
+
const companyCondition = `$companyId IS NULL
|
|
116
134
|
OR EXISTS {
|
|
117
135
|
MATCH (${content_meta_1.contentMeta.nodeName})-[:BELONGS_TO]-(company)
|
|
118
|
-
}
|
|
136
|
+
}`;
|
|
137
|
+
// Each extra condition is a parenthesised conjunct, so the company OR can
|
|
138
|
+
// never swallow the tldr filter (AND binds tighter than OR). With no extra
|
|
139
|
+
// condition the clause is the historical one.
|
|
140
|
+
//
|
|
141
|
+
// The per-label `accessPredicates` are NOT applied here: every caller of
|
|
142
|
+
// default() (ContentRepository.find and .findByOwner) follows it with
|
|
143
|
+
// `userHasAccess()`, which carries them. Applying them here as well ran
|
|
144
|
+
// every EXISTS check twice.
|
|
145
|
+
const conjuncts = [];
|
|
146
|
+
if (this.extension?.requireTldr) {
|
|
147
|
+
conjuncts.push(`(${content_meta_1.contentMeta.nodeName}.tldr IS NOT NULL AND ${content_meta_1.contentMeta.nodeName}.tldr <> "")`);
|
|
148
|
+
}
|
|
149
|
+
const where = conjuncts.length === 0
|
|
150
|
+
? companyCondition
|
|
151
|
+
: [...conjuncts, `(${companyCondition})`].join(`
|
|
152
|
+
AND `);
|
|
153
|
+
return `
|
|
154
|
+
MATCH (${content_meta_1.contentMeta.nodeName}:${this.getContentTypes().join("|")} ${params ? ` {${params.searchField}: $searchValue}` : ``})
|
|
155
|
+
WHERE ${where}
|
|
119
156
|
WITH ${content_meta_1.contentMeta.nodeName}${params?.blockCompanyAndUser ? `` : `, company, currentUser`}
|
|
120
157
|
`;
|
|
121
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* The per-label `accessPredicates` as `(NOT content:<Label> OR (<predicate>))`
|
|
161
|
+
* conjuncts: a row of that label survives only when its predicate holds, rows
|
|
162
|
+
* of every other label are untouched. Empty when no predicate is configured
|
|
163
|
+
* (the default) or when running as an automated job, mirroring
|
|
164
|
+
* `SecurityService.userHasAccess`, which skips access checks for those.
|
|
165
|
+
*
|
|
166
|
+
* Without a user in context `currentUser` is not bound, so a predicate over it
|
|
167
|
+
* would match ANY user inside its `EXISTS {}`; rows of a guarded label are then
|
|
168
|
+
* excluded outright (`NOT content:<Label>`).
|
|
169
|
+
*/
|
|
170
|
+
accessPredicateConjuncts() {
|
|
171
|
+
const predicates = this.extension?.accessPredicates;
|
|
172
|
+
if (!predicates)
|
|
173
|
+
return [];
|
|
174
|
+
if (this.clsService.get("isAutomatedJob"))
|
|
175
|
+
return [];
|
|
176
|
+
const hasUser = !!this.clsService.get("userId");
|
|
177
|
+
return Object.entries(predicates).map(([labelName, predicate]) => hasUser
|
|
178
|
+
? `(NOT ${content_meta_1.contentMeta.nodeName}:${labelName} OR (${predicate}))`
|
|
179
|
+
: `(NOT ${content_meta_1.contentMeta.nodeName}:${labelName})`);
|
|
180
|
+
}
|
|
122
181
|
/**
|
|
123
182
|
* The `requireTldr` filter as trailing `AND` predicates, for callers that
|
|
124
183
|
* already opened a WHERE clause of their own (e.g. `ContentRepository.findByIds`).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.cypher.service.js","sourceRoot":"","sources":["../../../../src/foundations/content/services/content.cypher.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,2CAA+C;AAC/C,2CAAwC;AAExC,sEAAkE;AAClE,sEAAkE;AAClE,6DAAsE;AACtE,2FAA6G;AAGtG,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YACmB,UAAsB,EACtB,aAAiD,EAGlE,SAAmD;QAJlC,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAoC;QAGjD,cAAS,GAAT,SAAS,CAAyB;
|
|
1
|
+
{"version":3,"file":"content.cypher.service.js","sourceRoot":"","sources":["../../../../src/foundations/content/services/content.cypher.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
* Defines the available scopes for OAuth2 authorization.
|
|
5
5
|
* Scopes control what actions an OAuth client can perform on behalf of a user.
|
|
6
6
|
*
|
|
7
|
+
* These are the generic built-in scopes. Apps register their own scopes on top
|
|
8
|
+
* of these through `createBaseConfig({ oauthScopes: [...] })`
|
|
9
|
+
* (`oauth.additionalScopes`). The helpers in this file describe the built-ins
|
|
10
|
+
* only; runtime validation goes through `OAuthScopeService`, which knows both.
|
|
11
|
+
*
|
|
7
12
|
* @see RFC 6749 Section 3.3 - Access Token Scope
|
|
8
13
|
*/
|
|
9
14
|
export declare const OAuth2Scopes: {
|
|
@@ -11,14 +16,6 @@ export declare const OAuth2Scopes: {
|
|
|
11
16
|
readonly READ: "read";
|
|
12
17
|
/** General write access to user data */
|
|
13
18
|
readonly WRITE: "write";
|
|
14
|
-
/** Read access to photographs */
|
|
15
|
-
readonly PHOTOGRAPHS_READ: "photographs:read";
|
|
16
|
-
/** Create and modify photographs */
|
|
17
|
-
readonly PHOTOGRAPHS_WRITE: "photographs:write";
|
|
18
|
-
/** Read access to rolls/albums */
|
|
19
|
-
readonly ROLLS_READ: "rolls:read";
|
|
20
|
-
/** Create and modify rolls/albums */
|
|
21
|
-
readonly ROLLS_WRITE: "rolls:write";
|
|
22
19
|
/** Access to user profile information (name, email) */
|
|
23
20
|
readonly PROFILE: "profile";
|
|
24
21
|
/** Access to the MCP (Model Context Protocol) server */
|
|
@@ -26,9 +23,24 @@ export declare const OAuth2Scopes: {
|
|
|
26
23
|
/** Administrative access - restricted to platform admins */
|
|
27
24
|
readonly ADMIN: "admin";
|
|
28
25
|
};
|
|
29
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* A scope definition: the scope string plus its consent-screen label and description.
|
|
28
|
+
* Used for app-specific scopes registered through config (`oauth.additionalScopes`).
|
|
29
|
+
*/
|
|
30
|
+
export interface OAuthScopeDefinition {
|
|
31
|
+
/** The scope string, e.g. "documents:read" */
|
|
32
|
+
scope: string;
|
|
33
|
+
/** Short human-readable label for consent screens */
|
|
34
|
+
name: string;
|
|
35
|
+
/** Explanation of the access being granted, for consent screens */
|
|
36
|
+
description: string;
|
|
37
|
+
}
|
|
38
|
+
/** Type for built-in OAuth scope values */
|
|
30
39
|
export type OAuthScopeType = (typeof OAuth2Scopes)[keyof typeof OAuth2Scopes];
|
|
31
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* Array of the built-in scope strings.
|
|
42
|
+
* Does not include app-specific scopes from config; use `OAuthScopeService.isValid()` at runtime.
|
|
43
|
+
*/
|
|
32
44
|
export declare const VALID_OAUTH_SCOPES: string[];
|
|
33
45
|
/**
|
|
34
46
|
* Human-readable names for each scope.
|
|
@@ -41,7 +53,10 @@ export declare const OAuthScopeNames: Record<OAuthScopeType, string>;
|
|
|
41
53
|
*/
|
|
42
54
|
export declare const OAuthScopeDescriptions: Record<OAuthScopeType, string>;
|
|
43
55
|
/**
|
|
44
|
-
* Validates that all requested scopes are
|
|
56
|
+
* Validates that all requested scopes are built-in scopes.
|
|
57
|
+
*
|
|
58
|
+
* Built-ins only: app-specific scopes from config are rejected here.
|
|
59
|
+
* Runtime validation goes through `OAuthScopeService.validate()`.
|
|
45
60
|
* @param scopes - Space-separated scope string or array of scopes
|
|
46
61
|
* @returns true if all scopes are valid
|
|
47
62
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.scopes.d.ts","sourceRoot":"","sources":["../../../../src/foundations/oauth/constants/oauth.scopes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"oauth.scopes.d.ts","sourceRoot":"","sources":["../../../../src/foundations/oauth/constants/oauth.scopes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY;IACvB,uCAAuC;;IAGvC,wCAAwC;;IAGxC,uDAAuD;;IAGvD,wDAAwD;;IAGxD,4DAA4D;;CAEpD,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE9E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAAgC,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAM1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAMjE,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAGjE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,cAAc,GAAG,OAAO,CAEjF"}
|
|
@@ -10,6 +10,11 @@ exports.hasScope = hasScope;
|
|
|
10
10
|
* Defines the available scopes for OAuth2 authorization.
|
|
11
11
|
* Scopes control what actions an OAuth client can perform on behalf of a user.
|
|
12
12
|
*
|
|
13
|
+
* These are the generic built-in scopes. Apps register their own scopes on top
|
|
14
|
+
* of these through `createBaseConfig({ oauthScopes: [...] })`
|
|
15
|
+
* (`oauth.additionalScopes`). The helpers in this file describe the built-ins
|
|
16
|
+
* only; runtime validation goes through `OAuthScopeService`, which knows both.
|
|
17
|
+
*
|
|
13
18
|
* @see RFC 6749 Section 3.3 - Access Token Scope
|
|
14
19
|
*/
|
|
15
20
|
exports.OAuth2Scopes = {
|
|
@@ -17,14 +22,6 @@ exports.OAuth2Scopes = {
|
|
|
17
22
|
READ: "read",
|
|
18
23
|
/** General write access to user data */
|
|
19
24
|
WRITE: "write",
|
|
20
|
-
/** Read access to photographs */
|
|
21
|
-
PHOTOGRAPHS_READ: "photographs:read",
|
|
22
|
-
/** Create and modify photographs */
|
|
23
|
-
PHOTOGRAPHS_WRITE: "photographs:write",
|
|
24
|
-
/** Read access to rolls/albums */
|
|
25
|
-
ROLLS_READ: "rolls:read",
|
|
26
|
-
/** Create and modify rolls/albums */
|
|
27
|
-
ROLLS_WRITE: "rolls:write",
|
|
28
25
|
/** Access to user profile information (name, email) */
|
|
29
26
|
PROFILE: "profile",
|
|
30
27
|
/** Access to the MCP (Model Context Protocol) server */
|
|
@@ -32,7 +29,10 @@ exports.OAuth2Scopes = {
|
|
|
32
29
|
/** Administrative access - restricted to platform admins */
|
|
33
30
|
ADMIN: "admin",
|
|
34
31
|
};
|
|
35
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Array of the built-in scope strings.
|
|
34
|
+
* Does not include app-specific scopes from config; use `OAuthScopeService.isValid()` at runtime.
|
|
35
|
+
*/
|
|
36
36
|
exports.VALID_OAUTH_SCOPES = Object.values(exports.OAuth2Scopes);
|
|
37
37
|
/**
|
|
38
38
|
* Human-readable names for each scope.
|
|
@@ -41,10 +41,6 @@ exports.VALID_OAUTH_SCOPES = Object.values(exports.OAuth2Scopes);
|
|
|
41
41
|
exports.OAuthScopeNames = {
|
|
42
42
|
[exports.OAuth2Scopes.READ]: "Read Access",
|
|
43
43
|
[exports.OAuth2Scopes.WRITE]: "Write Access",
|
|
44
|
-
[exports.OAuth2Scopes.PHOTOGRAPHS_READ]: "View Photographs",
|
|
45
|
-
[exports.OAuth2Scopes.PHOTOGRAPHS_WRITE]: "Upload Photographs",
|
|
46
|
-
[exports.OAuth2Scopes.ROLLS_READ]: "View Rolls",
|
|
47
|
-
[exports.OAuth2Scopes.ROLLS_WRITE]: "Manage Rolls",
|
|
48
44
|
[exports.OAuth2Scopes.PROFILE]: "View Profile",
|
|
49
45
|
[exports.OAuth2Scopes.MCP]: "MCP Server Access",
|
|
50
46
|
[exports.OAuth2Scopes.ADMIN]: "Administrative Access",
|
|
@@ -56,16 +52,15 @@ exports.OAuthScopeNames = {
|
|
|
56
52
|
exports.OAuthScopeDescriptions = {
|
|
57
53
|
[exports.OAuth2Scopes.READ]: "Read access to your data",
|
|
58
54
|
[exports.OAuth2Scopes.WRITE]: "Write access to your data",
|
|
59
|
-
[exports.OAuth2Scopes.PHOTOGRAPHS_READ]: "View your photographs",
|
|
60
|
-
[exports.OAuth2Scopes.PHOTOGRAPHS_WRITE]: "Upload and modify your photographs",
|
|
61
|
-
[exports.OAuth2Scopes.ROLLS_READ]: "View your rolls and albums",
|
|
62
|
-
[exports.OAuth2Scopes.ROLLS_WRITE]: "Create and modify rolls and albums",
|
|
63
55
|
[exports.OAuth2Scopes.PROFILE]: "View your profile information (name, email)",
|
|
64
56
|
[exports.OAuth2Scopes.MCP]: "Let an AI assistant read and act on your data through the MCP server",
|
|
65
57
|
[exports.OAuth2Scopes.ADMIN]: "Administrative access to the platform",
|
|
66
58
|
};
|
|
67
59
|
/**
|
|
68
|
-
* Validates that all requested scopes are
|
|
60
|
+
* Validates that all requested scopes are built-in scopes.
|
|
61
|
+
*
|
|
62
|
+
* Built-ins only: app-specific scopes from config are rejected here.
|
|
63
|
+
* Runtime validation goes through `OAuthScopeService.validate()`.
|
|
69
64
|
* @param scopes - Space-separated scope string or array of scopes
|
|
70
65
|
* @returns true if all scopes are valid
|
|
71
66
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.scopes.js","sourceRoot":"","sources":["../../../../src/foundations/oauth/constants/oauth.scopes.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"oauth.scopes.js","sourceRoot":"","sources":["../../../../src/foundations/oauth/constants/oauth.scopes.ts"],"names":[],"mappings":";;;AAoFA,wCAGC;AAOD,kCAEC;AAQD,4BAEC;AA1GD;;;;;;;;;;;;GAYG;AACU,QAAA,YAAY,GAAG;IAC1B,uCAAuC;IACvC,IAAI,EAAE,MAAM;IAEZ,wCAAwC;IACxC,KAAK,EAAE,OAAO;IAEd,uDAAuD;IACvD,OAAO,EAAE,SAAS;IAElB,wDAAwD;IACxD,GAAG,EAAE,KAAK;IAEV,4DAA4D;IAC5D,KAAK,EAAE,OAAO;CACN,CAAC;AAkBX;;;GAGG;AACU,QAAA,kBAAkB,GAAa,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExE;;;GAGG;AACU,QAAA,eAAe,GAAmC;IAC7D,CAAC,oBAAY,CAAC,IAAI,CAAC,EAAE,aAAa;IAClC,CAAC,oBAAY,CAAC,KAAK,CAAC,EAAE,cAAc;IACpC,CAAC,oBAAY,CAAC,OAAO,CAAC,EAAE,cAAc;IACtC,CAAC,oBAAY,CAAC,GAAG,CAAC,EAAE,mBAAmB;IACvC,CAAC,oBAAY,CAAC,KAAK,CAAC,EAAE,uBAAuB;CAC9C,CAAC;AAEF;;;GAGG;AACU,QAAA,sBAAsB,GAAmC;IACpE,CAAC,oBAAY,CAAC,IAAI,CAAC,EAAE,0BAA0B;IAC/C,CAAC,oBAAY,CAAC,KAAK,CAAC,EAAE,2BAA2B;IACjD,CAAC,oBAAY,CAAC,OAAO,CAAC,EAAE,6CAA6C;IACrE,CAAC,oBAAY,CAAC,GAAG,CAAC,EAAE,sEAAsE;IAC1F,CAAC,oBAAY,CAAC,KAAK,CAAC,EAAE,uCAAuC;CAC9D,CAAC;AAEF;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,MAAyB;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtF,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,0BAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,WAAmB;IAC7C,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,MAAgB,EAAE,aAA6B;IACtE,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.authorize.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/oauth/controllers/oauth.authorize.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAExH,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9E;;;;;GAKG;AACH,qBACa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,UAAU;IAGlC;;;;;;;;OAQG;IAGG,SAAS,CAAU,KAAK,EAAE,sBAAsB,EAAS,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDlG;;;;;;;OAOG;IAGG,oBAAoB,CAAU,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.authorize.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/oauth/controllers/oauth.authorize.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAExH,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9E;;;;;GAKG;AACH,qBACa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,UAAU;IAGlC;;;;;;;;OAQG;IAGG,SAAS,CAAU,KAAK,EAAE,sBAAsB,EAAS,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDlG;;;;;;;OAOG;IAGG,oBAAoB,CAAU,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAWlG;;;;;;;OAOG;IAGG,oBAAoB,CAAS,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE;YAAE,WAAW,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAqB7G;;;;;;;OAOG;IAGG,iBAAiB,CAAS,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE;YAAE,WAAW,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAQ3G"}
|
|
@@ -94,10 +94,12 @@ let OAuthAuthorizeController = class OAuthAuthorizeController {
|
|
|
94
94
|
* User must be authenticated to view consent screen.
|
|
95
95
|
*/
|
|
96
96
|
async getAuthorizationInfo(query) {
|
|
97
|
+
const userId = this.cls.get("userId");
|
|
97
98
|
return this.oauthService.getConsentInfo({
|
|
98
99
|
clientId: query.client_id,
|
|
99
100
|
redirectUri: query.redirect_uri,
|
|
100
101
|
scope: query.scope,
|
|
102
|
+
userId,
|
|
101
103
|
});
|
|
102
104
|
}
|
|
103
105
|
/**
|
|
@@ -121,6 +123,7 @@ let OAuthAuthorizeController = class OAuthAuthorizeController {
|
|
|
121
123
|
codeChallenge: body.code_challenge,
|
|
122
124
|
codeChallengeMethod: body.code_challenge_method,
|
|
123
125
|
userId,
|
|
126
|
+
companyId: body.company_id,
|
|
124
127
|
});
|
|
125
128
|
return { meta: { redirectUrl: result.redirectUrl } };
|
|
126
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.authorize.controller.js","sourceRoot":"","sources":["../../../../src/foundations/oauth/controllers/oauth.authorize.controller.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"oauth.authorize.controller.js","sourceRoot":"","sources":["../../../../src/foundations/oauth/controllers/oauth.authorize.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.registration.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/oauth/controllers/oauth.registration.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth.registration.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/oauth/controllers/oauth.registration.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE;;;;;;;;;GASG;AACH,qBAEa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,aAAa,EAAE,kBAAkB,EACjC,aAAa,EAAE,aAAa;IAG/C;;;;;;;OAOG;IAGG,QAAQ,CAAS,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC;QACrD,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,0BAA0B,EAAE,MAAM,CAAC;QACnC,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CA0BH"}
|
|
@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.OAuthRegistrationController = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const oauth_error_filter_1 = require("../filters/oauth.error.filter");
|
|
17
18
|
const config_1 = require("@nestjs/config");
|
|
18
19
|
const oauth_register_dto_1 = require("../dtos/oauth.register.dto");
|
|
19
20
|
const oauth_client_service_1 = require("../services/oauth.client.service");
|
|
@@ -75,6 +76,7 @@ __decorate([
|
|
|
75
76
|
], OAuthRegistrationController.prototype, "register", null);
|
|
76
77
|
exports.OAuthRegistrationController = OAuthRegistrationController = __decorate([
|
|
77
78
|
(0, common_1.Controller)("oauth"),
|
|
79
|
+
(0, common_1.UseFilters)(oauth_error_filter_1.OAuthErrorFilter),
|
|
78
80
|
__metadata("design:paramtypes", [oauth_client_service_1.OAuthClientService,
|
|
79
81
|
config_1.ConfigService])
|
|
80
82
|
], OAuthRegistrationController);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.registration.controller.js","sourceRoot":"","sources":["../../../../src/foundations/oauth/controllers/oauth.registration.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"oauth.registration.controller.js","sourceRoot":"","sources":["../../../../src/foundations/oauth/controllers/oauth.registration.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6F;AAC7F,sEAAiE;AACjE,2CAA+C;AAE/C,mEAA8D;AAC9D,2EAAsE;AAEtE;;;;;;;;;GASG;AAGI,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACtC,YACmB,aAAiC,EACjC,aAA4B;QAD5B,kBAAa,GAAb,aAAa,CAAoB;QACjC,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ;;;;;;;OAOG;IAGG,AAAN,KAAK,CAAC,QAAQ,CAAS,GAAqB;QAS1C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAuB,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,sBAAa,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,CAAC,0BAA0B,KAAK,SAAS,IAAI,GAAG,CAAC,0BAA0B,KAAK,MAAM,CAAC;QAEjH,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YACrE,IAAI,EAAE,GAAG,CAAC,WAAW,IAAI,+BAA+B;YACxD,YAAY,EAAE,GAAG,CAAC,aAAa;YAC/B,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACzE,iBAAiB,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC;YAC7E,cAAc;SACf,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,QAAQ;YAC1B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAClD,aAAa,EAAE,MAAM,CAAC,YAAY;YAClC,WAAW,EAAE,MAAM,CAAC,iBAAiB;YACrC,0BAA0B,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,0BAA2B,CAAC,CAAC,CAAC,MAAM;YACrF,WAAW,EAAE,MAAM,CAAC,IAAI;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AAlDY,kEAA2B;AAgBhC;IAFL,IAAA,aAAI,EAAC,UAAU,CAAC;IAChB,IAAA,iBAAQ,EAAC,GAAG,CAAC;IACE,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,qCAAgB;;2DAiC3C;sCAjDU,2BAA2B;IAFvC,IAAA,mBAAU,EAAC,OAAO,CAAC;IACnB,IAAA,mBAAU,EAAC,qCAAgB,CAAC;qCAGO,yCAAkB;QAClB,sBAAa;GAHpC,2BAA2B,CAkDvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.token.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/oauth/controllers/oauth.token.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth.token.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/oauth/controllers/oauth.token.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAErG;;;;;GAKG;AACH,qBAEa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEvD;;;;;;;;;OASG;IAKG,KAAK,CAAS,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkC/E;;;;;;;OAOG;IAGG,MAAM,CAAS,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE;;;;;;;OAOG;IAGG,UAAU,CAAS,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAQ/F"}
|