mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00

* add todo * Added configurations folder * Added config to index * changed /bin/server to use configfiles * initiate acl with Setup component * add last changes * reset serverconfig * move authenticatedLdpHandler configs to config files * failed to read testss * failed to read testss * removed import part * Fix merge conflicts * add first FileResTests * fix: fix fileresourcestore metadata error * fix unit tests * remove test files * Added test and changed callFile * Fix: metadata file error in FileResourceStore * fix: ensure full test coverage * added tests * Fix get tests * added testfiles * changed config to use PasstrueStore * to continue work on * refactor fileresourcestore config * refactor tests * fix content-types, update tests * replace sync methods with async methods * move acl function to util * added testfiles for Fileserver with acl * update tests * add first acl filestore test * refactor * add resource mapper * refactor config files * add more fileresourcestore acl tests * add locking resource store test files * move file mapping logic to resourcemapper * added beforeAll for a permanent file in Auht tests * make filestore dependent of resource mapper * moved configs to test/configs * set default contenttype * refactor fileresourcemapper * fix map function * refactor * fixed foldercreationtest * changed some tests so the files are cleaned up when done testing * add normalized parser * Auhtenticationtests clean up acl file * refactor unit test * lost changes added again * fix metadata problem * refactor names * reverse change * add getters * configs and start util * add comments * add comments, move code * added acl helper and changed tests * linter 7.7.0 -> 7.0.0 * moved test/tesfiles -> test/assets * removed configs/**/*.ts from tsconfig.json * Temporary changed threshold so cli test is ignored and commiting goes easier, will revert later * added FileResourceStore to index * Changed imports * Changed imports for all configs * Removed comment * Changed names of configs * added 'Config' to name and removed comment * removed unused testfile and added testfile 0 * changed beforeAll to just copy permanent file * change text/turtle to constant * fix converter issue * getHandler -> getHttpHandler, and updates to config * removed ',' * removed trailing / * changed imports for index.d.js problem * removed duplicate file and added line that got removed in mergeconflicts * add jest global teardown * add ignore for CliRunner * add changes * fix copyfile error * remove unused testfiles * adding test with image * add first util functions * relative paths to absolute paths * added 3 FileStoreTests * more refactoring * more absolute paths * fix mkdir path * added test * add util for easy configs * add comments * added some testhelpers and refactor first test * fix converter test error * refactor FileResTests * solved failing test because new converters * removed afterAll() * removed setAcl from util * removed config from Authorization.test.ts * changed strange linting * refactored AuthenticatedFileResourceStore tests * fixed unclear root variable * fix: Use absolute test paths * Mock fs correctly and remove teardown * Clean up after tests Co-authored-by: freyavs <freyavanspeybroeck@outlook.com> Co-authored-by: thdossch <dossche.thor@gmail.com> Co-authored-by: Freya <56410697+freyavs@users.noreply.github.com> Co-authored-by: thdossch <49074469+thdossch@users.noreply.github.com> Co-authored-by: Ruben Verborgh <ruben@verborgh.org>
70 lines
1.8 KiB
TypeScript
70 lines
1.8 KiB
TypeScript
import {
|
|
AllowEverythingAuthorizer,
|
|
AuthenticatedLdpHandler,
|
|
BasicResponseWriter,
|
|
CompositeAsyncHandler,
|
|
HttpHandler,
|
|
MethodPermissionsExtractor,
|
|
QuadToRdfConverter,
|
|
RawBodyParser,
|
|
RdfToQuadConverter,
|
|
ResourceStore,
|
|
SparqlUpdateBodyParser,
|
|
SparqlPatchPermissionsExtractor,
|
|
UnsecureWebIdExtractor,
|
|
} from '../../index';
|
|
|
|
import { ServerConfig } from './ServerConfig';
|
|
import { getInMemoryResourceStore,
|
|
getOperationHandler,
|
|
getConvertingStore,
|
|
getPatchingStore, getBasicRequestParser } from './Util';
|
|
|
|
/**
|
|
* BasicHandlersConfig works with
|
|
* - an AllowEverythingAuthorizer (no acl)
|
|
* - an InMemoryResourceStore wrapped in a converting store & wrapped in a patching store
|
|
* - GET, POST, PUT, PATCH & DELETE operation handlers
|
|
*/
|
|
|
|
export class BasicHandlersConfig implements ServerConfig {
|
|
public store: ResourceStore;
|
|
|
|
public constructor() {
|
|
const convertingStore = getConvertingStore(
|
|
getInMemoryResourceStore(),
|
|
[ new QuadToRdfConverter(), new RdfToQuadConverter() ],
|
|
);
|
|
this.store = getPatchingStore(convertingStore);
|
|
}
|
|
|
|
public getHttpHandler(): HttpHandler {
|
|
const requestParser = getBasicRequestParser([
|
|
new SparqlUpdateBodyParser(),
|
|
new RawBodyParser(),
|
|
]);
|
|
|
|
const credentialsExtractor = new UnsecureWebIdExtractor();
|
|
const permissionsExtractor = new CompositeAsyncHandler([
|
|
new MethodPermissionsExtractor(),
|
|
new SparqlPatchPermissionsExtractor(),
|
|
]);
|
|
const authorizer = new AllowEverythingAuthorizer();
|
|
|
|
const operationHandler = getOperationHandler(this.store);
|
|
|
|
const responseWriter = new BasicResponseWriter();
|
|
|
|
const handler = new AuthenticatedLdpHandler({
|
|
requestParser,
|
|
credentialsExtractor,
|
|
permissionsExtractor,
|
|
authorizer,
|
|
operationHandler,
|
|
responseWriter,
|
|
});
|
|
|
|
return handler;
|
|
}
|
|
}
|