2022-05-05 11:20:53 +02:00

53 lines
1.9 KiB
JSON

{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^5.0.0/components/context.jsonld",
"import": [
"css:config/storage/key-value/storages/storages.json"
],
"@graph": [
{
"comment": "A storage that writes directly to a low-level store. This is necessary to prevent infinite loops with stores that also use storage.",
"@id": "urn:solid-server:default:BackendKeyValueStorage",
"@type": "JsonResourceStorage",
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"container": "/.internal/"
},
{
"comment": "Internal value storage.",
"@id": "urn:solid-server:default:KeyValueStorage",
"@type": "JsonResourceStorage",
"source": { "@id": "urn:solid-server:default:ResourceStore" },
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"container": "/.internal/"
},
{
"comment": "Block external access to the storage containers to avoid exposing internal data.",
"@id": "urn:solid-server:default:PathBasedReader",
"@type": "PathBasedReader",
"paths": [
{
"PathBasedReader:_paths_key": "^/.internal(/.*)?$",
"PathBasedReader:_paths_value": {
"@type": "AllStaticReader",
"allow": false
}
}
]
},
{
"comment": "Marks the /.internal/ storage container as an auxiliary resource, thereby hiding it from container representations.",
"@id": "urn:solid-server:default:AuxiliaryStrategy",
"@type": "RoutingAuxiliaryStrategy",
"sources": [
{
"@type": "ComposedAuxiliaryStrategy",
"identifierStrategy": {
"@type": "SuffixAuxiliaryIdentifierStrategy",
"suffix": "/.internal/"
}
}
]
}
]
}