mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
feat: Create multiple configs supporting different store backends
This commit is contained in:
parent
fe870f073a
commit
892b5f5921
@ -10,9 +10,10 @@
|
|||||||
"files-scs:config/presets/ldp/permissions-extractor.json",
|
"files-scs:config/presets/ldp/permissions-extractor.json",
|
||||||
"files-scs:config/presets/ldp/request-parser.json",
|
"files-scs:config/presets/ldp/request-parser.json",
|
||||||
"files-scs:config/presets/logging.json",
|
"files-scs:config/presets/logging.json",
|
||||||
|
"files-scs:config/presets/representation-conversion.json",
|
||||||
"files-scs:config/presets/setup.json",
|
"files-scs:config/presets/setup.json",
|
||||||
"files-scs:config/presets/storage.json",
|
"files-scs:config/presets/storage-backend/storage-memory.json",
|
||||||
"files-scs:config/presets/storage_wrapper.json",
|
"files-scs:config/presets/storage-wrapper.json",
|
||||||
"files-scs:config/presets/cli-params.json"
|
"files-scs:config/presets/cli-params.json"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
19
config/config-file.json
Normal file
19
config/config-file.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld",
|
||||||
|
"import": [
|
||||||
|
"files-scs:config/presets/acl.json",
|
||||||
|
"files-scs:config/presets/http.json",
|
||||||
|
"files-scs:config/presets/ldp.json",
|
||||||
|
"files-scs:config/presets/ldp/credentials-extractor.json",
|
||||||
|
"files-scs:config/presets/ldp/metadata-handler.json",
|
||||||
|
"files-scs:config/presets/ldp/operation-handler.json",
|
||||||
|
"files-scs:config/presets/ldp/permissions-extractor.json",
|
||||||
|
"files-scs:config/presets/ldp/request-parser.json",
|
||||||
|
"files-scs:config/presets/logging.json",
|
||||||
|
"files-scs:config/presets/representation-conversion.json",
|
||||||
|
"files-scs:config/presets/setup.json",
|
||||||
|
"files-scs:config/presets/storage-backend/storage-filesystem.json",
|
||||||
|
"files-scs:config/presets/storage-wrapper.json",
|
||||||
|
"files-scs:config/presets/cli-params.json"
|
||||||
|
]
|
||||||
|
}
|
19
config/config-sparql-endpoint.json
Normal file
19
config/config-sparql-endpoint.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld",
|
||||||
|
"import": [
|
||||||
|
"files-scs:config/presets/acl.json",
|
||||||
|
"files-scs:config/presets/http.json",
|
||||||
|
"files-scs:config/presets/ldp.json",
|
||||||
|
"files-scs:config/presets/ldp/credentials-extractor.json",
|
||||||
|
"files-scs:config/presets/ldp/metadata-handler.json",
|
||||||
|
"files-scs:config/presets/ldp/operation-handler.json",
|
||||||
|
"files-scs:config/presets/ldp/permissions-extractor.json",
|
||||||
|
"files-scs:config/presets/ldp/request-parser.json",
|
||||||
|
"files-scs:config/presets/logging.json",
|
||||||
|
"files-scs:config/presets/representation-conversion.json",
|
||||||
|
"files-scs:config/presets/setup.json",
|
||||||
|
"files-scs:config/presets/storage-backend/storage-sparql-endpoint.json",
|
||||||
|
"files-scs:config/presets/storage-wrapper.json",
|
||||||
|
"files-scs:config/presets/cli-params.json"
|
||||||
|
]
|
||||||
|
}
|
@ -13,6 +13,10 @@
|
|||||||
"@id": "urn:solid-server:default:variable:rootFilePath",
|
"@id": "urn:solid-server:default:variable:rootFilePath",
|
||||||
"@type": "Variable"
|
"@type": "Variable"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:variable:sparqlEndpoint",
|
||||||
|
"@type": "Variable"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"@id": "urn:solid-server:default:variable:loggingLevel",
|
"@id": "urn:solid-server:default:variable:loggingLevel",
|
||||||
"@type": "Variable"
|
"@type": "Variable"
|
||||||
|
43
config/presets/representation-conversion.json
Normal file
43
config/presets/representation-conversion.json
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld",
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:RdfToQuadConverter",
|
||||||
|
"@type": "RdfToQuadConverter"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:QuadToRdfConverter",
|
||||||
|
"@type": "QuadToRdfConverter"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:RdfRepresentationConverter",
|
||||||
|
"@type": "ChainedConverter",
|
||||||
|
"ChainedConverter:_converters": [
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:RdfToQuadConverter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:QuadToRdfConverter"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:RepresentationConverter",
|
||||||
|
"@type": "CompositeAsyncHandler",
|
||||||
|
"CompositeAsyncHandler:_handlers": [
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:RdfToQuadConverter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:QuadToRdfConverter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:RdfRepresentationConverter"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
47
config/presets/storage-backend/storage-filesystem.json
Normal file
47
config/presets/storage-backend/storage-filesystem.json
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld",
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:MetadataController",
|
||||||
|
"@type": "MetadataController"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:FileIdentifierMapper",
|
||||||
|
"@type": "ExtensionBasedMapper",
|
||||||
|
"ExtensionBasedMapper:_base": {
|
||||||
|
"@id": "urn:solid-server:default:variable:base"
|
||||||
|
},
|
||||||
|
"ExtensionBasedMapper:_rootFilepath": {
|
||||||
|
"@id": "urn:solid-server:default:variable:rootFilePath"
|
||||||
|
},
|
||||||
|
"ExtensionBasedMapper:_acl": "text/turtle",
|
||||||
|
"ExtensionBasedMapper:_meta": "text/turtle"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:DataAccessor",
|
||||||
|
"@type": "FileDataAccessor",
|
||||||
|
"FileDataAccessor:_resourceMapper": {
|
||||||
|
"@id": "urn:solid-server:default:FileIdentifierMapper"
|
||||||
|
},
|
||||||
|
"FileDataAccessor:_metadataController": {
|
||||||
|
"@id": "urn:solid-server:default:MetadataController"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:ResourceStore",
|
||||||
|
"@type": "DataAccessorBasedStore",
|
||||||
|
"DataAccessorBasedStore:_accessor": {
|
||||||
|
"@id": "urn:solid-server:default:DataAccessor"
|
||||||
|
},
|
||||||
|
"DataAccessorBasedStore:_base": {
|
||||||
|
"@id": "urn:solid-server:default:variable:base"
|
||||||
|
},
|
||||||
|
"DataAccessorBasedStore:_metadataController": {
|
||||||
|
"@id": "urn:solid-server:default:MetadataController"
|
||||||
|
},
|
||||||
|
"DataAccessorBasedStore:_containerManager": {
|
||||||
|
"@id": "urn:solid-server:default:UrlContainerManager"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
55
config/presets/storage-backend/storage-sparql-endpoint.json
Normal file
55
config/presets/storage-backend/storage-sparql-endpoint.json
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld",
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:MetadataController",
|
||||||
|
"@type": "MetadataController"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:DataAccessor",
|
||||||
|
"@type": "SparqlDataAccessor",
|
||||||
|
"SparqlDataAccessor:_endpoint": {
|
||||||
|
"@id": "urn:solid-server:default:variable:sparqlEndpoint"
|
||||||
|
},
|
||||||
|
"SparqlDataAccessor:_base": {
|
||||||
|
"@id": "urn:solid-server:default:variable:base"
|
||||||
|
},
|
||||||
|
"SparqlDataAccessor:_containerManager": {
|
||||||
|
"@id": "urn:solid-server:default:UrlContainerManager"
|
||||||
|
},
|
||||||
|
"SparqlDataAccessor:_metadataController": {
|
||||||
|
"@id": "urn:solid-server:default:MetadataController"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:DataAccessorBasedStore",
|
||||||
|
"@type": "DataAccessorBasedStore",
|
||||||
|
"DataAccessorBasedStore:_accessor": {
|
||||||
|
"@id": "urn:solid-server:default:DataAccessor"
|
||||||
|
},
|
||||||
|
"DataAccessorBasedStore:_base": {
|
||||||
|
"@id": "urn:solid-server:default:variable:base"
|
||||||
|
},
|
||||||
|
"DataAccessorBasedStore:_metadataController": {
|
||||||
|
"@id": "urn:solid-server:default:MetadataController"
|
||||||
|
},
|
||||||
|
"DataAccessorBasedStore:_containerManager": {
|
||||||
|
"@id": "urn:solid-server:default:UrlContainerManager"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:ResourceStore",
|
||||||
|
"@type": "RepresentationConvertingStore",
|
||||||
|
"RepresentationConvertingStore:_source": {
|
||||||
|
"@id": "urn:solid-server:default:DataAccessorBasedStore"
|
||||||
|
},
|
||||||
|
"RepresentationConvertingStore:_inConverter": {
|
||||||
|
"@id": "urn:solid-server:default:RepresentationConverter"
|
||||||
|
},
|
||||||
|
"RepresentationConvertingStore:_inType": "internal/quads"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -16,7 +16,7 @@
|
|||||||
"@id": "urn:solid-server:default:PatchHandler",
|
"@id": "urn:solid-server:default:PatchHandler",
|
||||||
"@type": "SparqlUpdatePatchHandler",
|
"@type": "SparqlUpdatePatchHandler",
|
||||||
"SparqlUpdatePatchHandler:_source": {
|
"SparqlUpdatePatchHandler:_source": {
|
||||||
"@id": "urn:solid-server:default:ResourceStore_Converting"
|
"@id": "urn:solid-server:default:ResourceStore_ToTurtle"
|
||||||
},
|
},
|
||||||
"SparqlUpdatePatchHandler:_locker": {
|
"SparqlUpdatePatchHandler:_locker": {
|
||||||
"@id": "urn:solid-server:default:ResourceLocker"
|
"@id": "urn:solid-server:default:ResourceLocker"
|
||||||
@ -25,26 +25,18 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"@id": "urn:solid-server:default:ResourceStore_Converting_RdfToQuad",
|
"@id": "urn:solid-server:default:ResourceStore_ToTurtle",
|
||||||
"@type": "RdfToQuadConverter"
|
"@type": "RepresentationConvertingStore",
|
||||||
|
"RepresentationConvertingStore:_source": {
|
||||||
|
"@id": "urn:solid-server:default:ResourceStore"
|
||||||
},
|
},
|
||||||
|
"RepresentationConvertingStore:_outConverter": {
|
||||||
{
|
"@id": "urn:solid-server:default:RepresentationConverter"
|
||||||
"@id": "urn:solid-server:default:ResourceStore_Converting_QuadToRdf",
|
|
||||||
"@type": "QuadToRdfConverter"
|
|
||||||
},
|
},
|
||||||
|
"RepresentationConvertingStore:_inConverter": {
|
||||||
{
|
"@id": "urn:solid-server:default:RepresentationConverter"
|
||||||
"@id": "urn:solid-server:default:ResourceStore_Converting_Chained",
|
|
||||||
"@type": "ChainedConverter",
|
|
||||||
"ChainedConverter:_converters": [
|
|
||||||
{
|
|
||||||
"@id": "urn:solid-server:default:ResourceStore_Converting_RdfToQuad"
|
|
||||||
},
|
},
|
||||||
{
|
"RepresentationConvertingStore:_inType": "text/turtle"
|
||||||
"@id": "urn:solid-server:default:ResourceStore_Converting_QuadToRdf"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -53,19 +45,8 @@
|
|||||||
"RepresentationConvertingStore:_source": {
|
"RepresentationConvertingStore:_source": {
|
||||||
"@id": "urn:solid-server:default:ResourceStore"
|
"@id": "urn:solid-server:default:ResourceStore"
|
||||||
},
|
},
|
||||||
"RepresentationConvertingStore:_converter": {
|
"RepresentationConvertingStore:_outConverter": {
|
||||||
"@type": "CompositeAsyncHandler",
|
"@id": "urn:solid-server:default:RepresentationConverter"
|
||||||
"CompositeAsyncHandler:_handlers": [
|
|
||||||
{
|
|
||||||
"@id": "urn:solid-server:default:ResourceStore_Converting_RdfToQuad"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"@id": "urn:solid-server:default:ResourceStore_Converting_QuadToRdf"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"@id": "urn:solid-server:default:ResourceStore_Converting_Chained"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
"globals": {
|
"globals": {
|
||||||
"ts-jest": {
|
"ts-jest": {
|
||||||
"tsConfig": "tsconfig.json"
|
"tsconfig": "tsconfig.json"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transform": {
|
"transform": {
|
||||||
|
@ -28,6 +28,8 @@ export const runCustom = function(
|
|||||||
.options({
|
.options({
|
||||||
port: { type: 'number', alias: 'p', default: 3000 },
|
port: { type: 'number', alias: 'p', default: 3000 },
|
||||||
config: { type: 'string', alias: 'c' },
|
config: { type: 'string', alias: 'c' },
|
||||||
|
rootFilePath: { type: 'string', alias: 'f' },
|
||||||
|
sparqlEndpoint: { type: 'string', alias: 's' },
|
||||||
level: { type: 'string', alias: 'l', default: 'info' },
|
level: { type: 'string', alias: 'l', default: 'info' },
|
||||||
})
|
})
|
||||||
.help();
|
.help();
|
||||||
@ -46,7 +48,8 @@ export const runCustom = function(
|
|||||||
variables: {
|
variables: {
|
||||||
'urn:solid-server:default:variable:port': argv.port,
|
'urn:solid-server:default:variable:port': argv.port,
|
||||||
'urn:solid-server:default:variable:base': `http://localhost:${argv.port}/`,
|
'urn:solid-server:default:variable:base': `http://localhost:${argv.port}/`,
|
||||||
'urn:solid-server:default:variable:rootFilePath': process.cwd(),
|
'urn:solid-server:default:variable:rootFilePath': argv.rootFilePath ?? process.cwd(),
|
||||||
|
'urn:solid-server:default:variable:sparqlEndpoint': argv.sparqlEndpoint,
|
||||||
'urn:solid-server:default:variable:loggingLevel': argv.level,
|
'urn:solid-server:default:variable:loggingLevel': argv.level,
|
||||||
},
|
},
|
||||||
}) as Setup;
|
}) as Setup;
|
||||||
|
@ -40,10 +40,10 @@ jest.mock('yargs', (): any => ({
|
|||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
help(): any {
|
help(): any {
|
||||||
// Return once with and once without config value so that both branches are tested.
|
// Return once with and once without values so that both branches are tested.
|
||||||
if (throwError) {
|
if (throwError) {
|
||||||
return {
|
return {
|
||||||
argv: { config: 'value' },
|
argv: { config: 'value', rootFilePath: 'root' },
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user