Allow explicitly exported read-only edge dependency ports
This commit is contained in:
@@ -1526,7 +1526,6 @@ const validateBoundDependencies = (
|
||||
);
|
||||
break;
|
||||
}
|
||||
validateAttachmentAccess(issues, attachment, params.conformance, `${path}.binding.edgeTypeId`);
|
||||
const projection = edgeProjection(attachment.attachment, edgeBinding.projectionId);
|
||||
if (!projection) {
|
||||
issue(
|
||||
@@ -1537,6 +1536,12 @@ const validateBoundDependencies = (
|
||||
);
|
||||
break;
|
||||
}
|
||||
// Exporting traversal never exports writes or subscription ownership.
|
||||
const publicRead =
|
||||
projection.endpoint.publicTraversal &&
|
||||
requirement.primitives.length > 0 &&
|
||||
requirement.primitives.every((primitive) => primitive === "resolve");
|
||||
if (!publicRead) validateAttachmentAccess(issues, attachment, params.conformance, `${path}.binding.edgeTypeId`);
|
||||
if (projection.target.keyType && requirement.primitives.includes("connect"))
|
||||
issue(
|
||||
issues,
|
||||
|
||||
Reference in New Issue
Block a user