diff --git a/config/ldp/authorization/acp.json b/config/ldp/authorization/acp.json index 844eaade0..2674c6158 100644 --- a/config/ldp/authorization/acp.json +++ b/config/ldp/authorization/acp.json @@ -2,35 +2,9 @@ "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^5.0.0/components/context.jsonld", "import": [ "css:config/ldp/authorization/readers/acp.json", - "css:config/ldp/authorization/readers/ownership.json" + "css:config/ldp/authorization/readers/default.json" ], "@graph": [ - { - "comment": "Requests permissions on subject resources for auxiliary resources.", - "@id": "urn:solid-server:default:PermissionReader", - "@type": "AuxiliaryReader", - "auxiliaryStrategy": { "@id": "urn:solid-server:default:AuxiliaryStrategy" }, - "reader": { - "@type": "UnionPermissionReader", - "readers": [ - { - "comment": "This PermissionReader will be used to prevent external access to containers used for internal storage.", - "@id": "urn:solid-server:default:PathBasedReader", - "@type": "PathBasedReader", - "baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" } - }, - { - "@id": "urn:solid-server:default:OwnerPermissionReader", - "@type": "OwnerPermissionReader", - "authStrategy": { "@id": "urn:solid-server:default:AcrStrategy" } - }, - { - "comment": "Uses Web Access Control for authorization.", - "@id": "urn:solid-server:default:WrappedAcpReader" - } - ] - } - }, { "comment": "The templates for ACP authorization documents are in the acp subfolder.", "@id": "urn:solid-server:default:TemplatedResourcesGenerator", diff --git a/config/ldp/authorization/readers/acl.json b/config/ldp/authorization/readers/acl.json index 68b4fdac7..260bd3a4a 100644 --- a/config/ldp/authorization/readers/acl.json +++ b/config/ldp/authorization/readers/acl.json @@ -7,19 +7,17 @@ ], "@graph": [ { - "comment": "Adds parent container checks needed for create/delete permissions.", - "@id": "urn:solid-server:default:WrappedWebAclReader", - "@type": "ParentContainerReader", - "identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" }, - "reader": { "@id": "urn:solid-server:default:WebAclAuxiliaryReader" } + "@id": "urn:solid-server:default:OwnerPermissionReader", + "@type": "OwnerPermissionReader", + "authStrategy": { "@id": "urn:solid-server:default:AclStrategy" } }, { - "comment": "Reinterprets Control permissions as Read/Write on the ACL document.", - "@id": "urn:solid-server:default:WebAclAuxiliaryReader", + "@id": "urn:solid-server:default:AuthAuxiliaryReader", "@type": "AuthAuxiliaryReader", "authStrategy": { "@id": "urn:solid-server:default:AclStrategy" }, "reader": { "@id": "urn:solid-server:default:WebAclReader" } }, + { "comment": "Reads out permissions from an ACL document for subject resources.", "@id": "urn:solid-server:default:WebAclReader", diff --git a/config/ldp/authorization/readers/acp.json b/config/ldp/authorization/readers/acp.json index bf0564380..af9dc99a3 100644 --- a/config/ldp/authorization/readers/acp.json +++ b/config/ldp/authorization/readers/acp.json @@ -2,19 +2,17 @@ "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^5.0.0/components/context.jsonld", "@graph": [ { - "comment": "Adds parent container checks needed for create/delete permissions.", - "@id": "urn:solid-server:default:WrappedAcpReader", - "@type": "ParentContainerReader", - "identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" }, - "reader": { "@id": "urn:solid-server:default:AcrAuxiliaryReader" } + "@id": "urn:solid-server:default:OwnerPermissionReader", + "@type": "OwnerPermissionReader", + "authStrategy": { "@id": "urn:solid-server:default:AcrStrategy" } }, { - "comment": "Reinterprets Control permissions as Read/Write on the ACR document.", - "@id": "urn:solid-server:default:AcrAuxiliaryReader", + "@id": "urn:solid-server:default:AuthAuxiliaryReader", "@type": "AuthAuxiliaryReader", "authStrategy": { "@id": "urn:solid-server:default:AcrStrategy" }, "reader": { "@id": "urn:solid-server:default:AcpReader" } }, + { "comment": "Reads out permissions from ACR documents for subject resources.", "@id": "urn:solid-server:default:AcpReader", diff --git a/config/ldp/authorization/readers/default.json b/config/ldp/authorization/readers/default.json new file mode 100644 index 000000000..986a4c7a1 --- /dev/null +++ b/config/ldp/authorization/readers/default.json @@ -0,0 +1,44 @@ +{ + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^5.0.0/components/context.jsonld", + "import": [ + "css:config/ldp/authorization/readers/ownership.json" + ], + "@graph": [ + { + "comment": "Requests permissions on subject resources for auxiliary resources.", + "@id": "urn:solid-server:default:PermissionReader", + "@type": "AuxiliaryReader", + "auxiliaryStrategy": { "@id": "urn:solid-server:default:AuxiliaryStrategy" }, + "reader": { + "@type": "UnionPermissionReader", + "readers": [ + { + "comment": "This PermissionReader will be used to prevent external access to containers used for internal storage.", + "@id": "urn:solid-server:default:PathBasedReader", + "@type": "PathBasedReader", + "baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" } + }, + { + "comment": "The config that determines the authorization strategy needs to set the `authStrategy` field of this object.", + "@id": "urn:solid-server:default:OwnerPermissionReader", + "@type": "OwnerPermissionReader" + }, + { + "comment": "Adds parent container checks needed for create/delete permissions.", + "@id": "urn:solid-server:default:ParentContainerReader", + "@type": "ParentContainerReader", + "identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" }, + "reader": { + "comment": [ + "Reinterprets Control permissions as Read/Write on the auth resource.", + "The config that determines the authorization strategy needs to set the `authStrategy` and `reader` fields of this object." + ], + "@id": "urn:solid-server:default:AuthAuxiliaryReader", + "@type": "AuthAuxiliaryReader" + } + } + ] + } + } + ] +} diff --git a/config/ldp/authorization/webacl.json b/config/ldp/authorization/webacl.json index 2e5d099f2..d2a400e6b 100644 --- a/config/ldp/authorization/webacl.json +++ b/config/ldp/authorization/webacl.json @@ -3,35 +3,9 @@ "import": [ "css:config/ldp/authorization/acl/wac-allow.json", "css:config/ldp/authorization/readers/acl.json", - "css:config/ldp/authorization/readers/ownership.json" + "css:config/ldp/authorization/readers/default.json" ], "@graph": [ - { - "comment": "Requests permissions on subject resources for auxiliary resources.", - "@id": "urn:solid-server:default:PermissionReader", - "@type": "AuxiliaryReader", - "auxiliaryStrategy": { "@id": "urn:solid-server:default:AuxiliaryStrategy" }, - "reader": { - "@type": "UnionPermissionReader", - "readers": [ - { - "comment": "This PermissionReader will be used to prevent external access to containers used for internal storage.", - "@id": "urn:solid-server:default:PathBasedReader", - "@type": "PathBasedReader", - "baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" } - }, - { - "@id": "urn:solid-server:default:OwnerPermissionReader", - "@type": "OwnerPermissionReader", - "authStrategy": { "@id": "urn:solid-server:default:AclStrategy" } - }, - { - "comment": "Uses Web Access Control for authorization.", - "@id": "urn:solid-server:default:WrappedWebAclReader" - } - ] - } - }, { "comment": "The templates for WAC authorization documents are in the wac subfolder.", "@id": "urn:solid-server:default:TemplatedResourcesGenerator", diff --git a/src/http/output/response/ResponseDescription.ts b/src/http/output/response/ResponseDescription.ts index be0d826a6..900b90e40 100644 --- a/src/http/output/response/ResponseDescription.ts +++ b/src/http/output/response/ResponseDescription.ts @@ -6,9 +6,9 @@ import type { RepresentationMetadata } from '../../representation/Representation * The result of executing an operation. */ export class ResponseDescription { - public readonly statusCode: number; - public readonly metadata?: RepresentationMetadata; - public readonly data?: Guarded; + public statusCode: number; + public metadata?: RepresentationMetadata; + public data?: Guarded; /** * @param statusCode - Status code to return.