feat: Create multiple configs supporting different store backends

This commit is contained in:
Joachim Van Herwegen 2020-11-02 14:54:46 +01:00
parent fe870f073a
commit 892b5f5921
12 changed files with 212 additions and 40 deletions

View File

@ -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
View 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"
]
}

View 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"
]
}

View File

@ -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"

View 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"
}
]
}
]
}

View 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"
}
}
]
}

View 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"
}
]
}

View File

@ -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"
}
]
} }
}, },

View File

@ -1,7 +1,7 @@
module.exports = { module.exports = {
"globals": { "globals": {
"ts-jest": { "ts-jest": {
"tsConfig": "tsconfig.json" "tsconfig": "tsconfig.json"
} }
}, },
"transform": { "transform": {

View File

@ -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;

View File

@ -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 {