1107 Commits

Author SHA1 Message Date
Joachim Van Herwegen
d908374364 feat: Check parent ACL permissions for create/delete requests 2022-03-18 14:15:12 +01:00
Joachim Van Herwegen
e86e0cf36b feat: Return 404 for read/delete requests if there is no resource 2022-03-18 14:15:12 +01:00
Joachim Van Herwegen
9a29cc2257 fix: Extract correct access modes from request 2022-03-18 14:15:12 +01:00
Joachim Van Herwegen
0e4d012086 feat: Add CachedResourceSet
Uses a WeakMap on the identifier to cache resource existence.
2022-03-18 14:15:12 +01:00
Joachim Van Herwegen
4404fa07d9 refactor: Rename resourceExists to hasResource
The function was also moved to the smaller interface ResourceSet.
2022-03-18 14:15:12 +01:00
Joachim Van Herwegen
2ae5924dde feat: Pass access modes to PermissionReaders
This allows PermissionReaders to potentially only check the necessary access modes
for potential performance optimization.
2022-03-18 14:15:12 +01:00
Joachim Van Herwegen
706f0d5316 docs: Add parseContentType changes 2022-03-16 10:18:59 +01:00
Thomas Dupont
a8602055e6
feat: Store content type parameters
* feat: support storage and retrievel of content-type parameters

* test: extra unit tests for parseContentTypeWithParameters

* refactor: simplify set contentType()

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

* refactor: simplify for loop because of unique blankNodes

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

* refactor: ContentTypeParameter should be contentTypeParameter

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

* refactor: remove undefined type in favor of var? syntax

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

* refactor: use new parseContentType internally

* chore: remove commented code

* docs: code documentation line changed

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

* refactor: Check for faulty metadata in contentType rdf structure

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

* refactor: remove all instances of blanknodes

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

* refactor: use full contentType when parsing header

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

* refactor: use quads() method instead of store.getQuads()

* refactor: .value needed for type correctness

* feat: ReprMetadata constructor now supports full content-type string

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2022-03-14 10:27:34 +01:00
Joachim Van Herwegen
30011ba86b docs: Add info about pod seeding to release notes 2022-03-10 10:20:49 +01:00
Adler Faulkner
c8d4bfec39
feat: Support seeding pods and accounts
* feat(seeding): seed accounts and pods with seeded-pod-config.json

* feat(seeding): dry up SeededPodInitializer by using RegistrationManager directly and make compatible with version/3.0.0

* feat(seeding): update seed config files to version 3.0.0 context

* feat(seeding): simplify seeded-root config by importing pre-existing prefilled-root config

* feat(seeding): Add seeding as a default initializer, update seeded pod copy and guide, change seeded pod config to array

* feat(seeding): remove template info from seeded pod guide, use mockFs, code style nit, fix redlock test

* feat(seeding): remove old config file
2022-03-10 10:16:05 +01:00
Joachim Van Herwegen
e4f1e2aa0c chore(deps): update arrayify-stream to v2 2022-03-10 09:01:53 +01:00
Joachim Van Herwegen
44dd56d4f6 Merge branch 'main' into versions/4.0.0 2022-03-09 11:16:35 +01:00
Renovate Bot
982d57e1d2 chore(deps): update actions/download-artifact action to v3 2022-03-08 09:13:30 +01:00
Renovate Bot
311d3e0ff0 chore(deps): update actions/upload-artifact action to v3 2022-03-08 09:13:00 +01:00
Renovate Bot
196c529f6b chore(deps): update actions/checkout action to v3 2022-03-08 09:12:21 +01:00
Renovate Bot
9f6fdab0be chore(deps): update actions/setup-node action to v3 2022-03-08 09:11:11 +01:00
Thomas Dupont
3b353affb1 docs: Add Helm Chart reference to the README 2022-03-02 14:05:33 +01:00
Joachim Van Herwegen
330b645236 docs: Document data migration actions going from v2 to v3 2022-02-28 09:08:11 +01:00
Joachim Van Herwegen
207419bfd4 chore: Fix typo in release notes 2022-02-28 07:27:21 +01:00
Joachim Van Herwegen
c15efc0b82 chore: Update conformance tests to use v4.0.0 branch 2022-02-25 07:16:33 +01:00
Thomas Dupont
5965268ebf
fix: Prevent slugs with trailing slashes for non-container resources
* fix: slugs ending on slash with link header cannot create containers

* refactor(DataAccessorBasedStore): removing duplicate code and errors

* test(ServerFetch): fix integration tests that create a container

* fix: Reinstate original checks in setResource to let tests succeed

* test: change to container paths to end in / on POST only

* refactor: incorporate review changes

* fix: Error check was too strict

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

* test: make testcase to test allowed slash behaviour

* test: removed unnecessary code from tests

* test: remove metadata line and duplicate tests

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2022-02-23 14:35:02 +01:00
Joachim Van Herwegen
bf1afdd6ec chore: Add template for v4.0.0 release notes 2022-02-23 13:28:15 +01:00
Joachim Van Herwegen
5d1645aff2 Merge branch 'versions/3.0.0' 2022-02-23 11:28:44 +01:00
Joachim Van Herwegen
0dcd6d227e Release version 3.0.0 of the npm package. v3.0.0 2022-02-23 11:10:36 +01:00
Joachim Van Herwegen
b292cd2e2b chore: Update configs to v3.0.0 2022-02-23 11:09:41 +01:00
Ruben Verborgh
eceb71088a docs: Explain why IDP redirects are transformed into JSON responses. 2022-02-23 10:40:14 +01:00
Joachim Van Herwegen
f3e23ce667 docs: Mention context update in RELEASE_NOTES.md 2022-02-22 13:38:06 +01:00
Ruben Verborgh
6306090114 refactor: Add resolveModulePath. 2022-02-22 09:31:24 +01:00
Joachim Van Herwegen
2dc20fe3bc feat: Store the server version on start 2022-02-22 09:31:24 +01:00
Joachim Van Herwegen
62e2210023 feat: Warn users when they change the base URL 2022-02-22 09:31:24 +01:00
Joachim Van Herwegen
847dc821b8 chore: Add init logging to conformance tests 2022-02-21 14:40:33 +01:00
Joachim Van Herwegen
e604c0c2e4 feat: Return client information from consent handler 2022-02-21 10:04:57 +01:00
Joachim Van Herwegen
e9e3c6df3c fix: Improve OIDC error descriptions 2022-02-21 10:04:57 +01:00
Joachim Van Herwegen
c9ed90aeeb fix: Update OIDC provider dependency to v7
The biggest resulting change is that the consent page always appears
after logging in.
Some minor fixes to be closer to the spec are included
together with some minor structural refactors.
2022-02-21 10:04:57 +01:00
Joachim Van Herwegen
1769b799df fix: Make IDP routes independent of handlers 2022-02-16 12:47:45 +01:00
Joachim Van Herwegen
1ed45c8903 fix: Prevent login page from showing error before redirect 2022-02-16 12:47:45 +01:00
Joachim Van Herwegen
35e7e0d447 test: Add IDP test for clients with a WebID 2022-02-16 08:28:07 +01:00
Thomas Dupont
ce754c119f
fix: Add content-negotiation when fetching dataset from url
* Solution works but tests don't

* refactor(FetchUtil): use arrayifyStream

* refactor(FetchUtil): split fetchDataset into 2 separate functions

* style(FetchUtil): onelining instead of declaring new local var

* test: trying to mock rdfDereferencer

* refactor: promise can't have async function as arg

* test(FetchUtil): pass Quad array to mockDereference instead

* test: all tests should pass now and coverage is back to 100%

* style: comment typo

* chore: make package.json and package-lock.json compatible with main

* chore: fix package.json double entries

* chore: updated package.json to be alfabetical again

* refactor(AgentGroupAccessChecker): Remove converter from contructor and config

* refactor(TokenOwnerShipValidator): Remove converter from constructor and config

* refactor(FetchUtil): Return BadRequestHttpError instead of generic Error

* test(FetchUtil): return Response object instead of mocking fetch

* style: typos and newlines
2022-02-15 13:44:03 +01:00
Joachim Van Herwegen
c5052625d1 Merge branch 'main' into versions/3.0.0
# Conflicts:
#	package-lock.json
#	package.json
#	src/storage/patch/SparqlUpdatePatcher.ts
#	test/unit/init/AppRunner.test.ts
#	test/unit/util/QuadUtil.test.ts
2022-02-11 15:30:45 +01:00
Joachim Van Herwegen
d2870e5c8b fix(deps): Update dependencies 2022-02-11 15:28:50 +01:00
Joachim Van Herwegen
52f400d344 fix(deps): Update dependency eslint-plugin-jest to v26 2022-02-11 15:28:50 +01:00
Joachim Van Herwegen
9ceb62b8b6 refactor: Remove @rdfjs/data-model dependency
We already have N3.js for term generation.
No need to have two solutions there.
2022-02-11 15:28:50 +01:00
Joachim Van Herwegen
0d28f45c79 fix(deps): Update dependency marked to v4 2022-02-11 15:28:50 +01:00
Joachim Van Herwegen
693f441a1b docs: Update RELEASE_NOTES with IDP architecture change 2022-02-11 10:52:45 +01:00
Joachim Van Herwegen
9577791472 feat: Simplify setup to be more in line with IDP behaviour 2022-02-11 10:52:45 +01:00
Joachim Van Herwegen
129d3c0ef1 test: Update IDP integration tests for new API 2022-02-11 10:52:45 +01:00
Joachim Van Herwegen
a684b2ead7 feat: Update IDP templates to work with new API format 2022-02-11 10:52:45 +01:00
Joachim Van Herwegen
bc0eeb1012 feat: Split up IDP HTML, routing, and handler behaviour 2022-02-11 10:52:45 +01:00
Joachim Van Herwegen
8f8e8e6df4 feat: Send reset password recordId as query parameter
This is a revert of a previous change
but is now possible due to the use of JSON bodies.
This does mean JavaScript is required in the HTML page,
but that will be required for future changes anyway.
2022-02-11 10:52:45 +01:00
Joachim Van Herwegen
c216efd62f
feat: Allow for custom CLI and variable options
* feat: (AppRunner) Mechanism to configure cli args and derive componentsjs vars from them implemented

* fix: (AppRunner) tidying

* fix: (AppRunner) tidying up

* fix: (AppRunner) runCli method made sync

* fix; (VarResolver) refactored to multiple files, and other stylistic fixes.

* chore: (AppRunner) Uses builder pattern for yargs base arguments setup to enable better typescript inference

* fix(AppRunner): refactoring AppRunner and VarResolver

* fix(AppRunner): refactoring AppRunner promise handling

* fix(AppRunner): verror dependency removal

* fix: Simplify CLI error handling

* feat: Use same config for both CLI and app instantiation

* fix: Update typings and imports

* feat: Split VariableResolver behaviour to 2 classes

* feat: Move default value behaviour from CLI to ValueComputers

* test: Add unit tests for new CLI classes

* feat: Integrate new CLI configuration with all default configurations

* feat: Add createApp function to AppRunner

* docs: Update comments in CLI-related classes

* fix: Various fixes and refactors

Co-authored-by: damooo <damodara@protonmail.com>
2022-02-11 10:00:12 +01:00