1155 Commits

Author SHA1 Message Date
Joachim Van Herwegen
528823725a docs: Add architecture diagrams and documentation 2022-08-08 09:14:43 +02:00
Joachim Van Herwegen
dd9781b5f2 docs: Refactor documentation directory structure 2022-08-08 09:14:43 +02:00
Joachim Van Herwegen
3e9989ee1b chore: Update Components.js to v5.3.0 2022-08-08 09:05:17 +02:00
Joachim Van Herwegen
839a923df6 fix: Update the default timeout to 6s 2022-08-05 16:19:33 +02:00
Joachim Van Herwegen
21b2850696 fix: Remove MS-Author-Via header 2022-08-05 15:58:29 +02:00
Joachim Van Herwegen
a99616acf2 fix: Prevent FileSystemResourceLocker from writing to ./ 2022-08-05 11:36:06 +02:00
Joachim Van Herwegen
6985fb3af3 docs: Describe changes to default configs 2022-08-05 09:24:27 +02:00
Joachim Van Herwegen
1a91e74793 docs: Fix typo 2022-08-05 09:19:02 +02:00
Joachim Van Herwegen
de2f447847 docs: Clean up RELEASE_NOTES.md 2022-08-05 09:16:53 +02:00
Joachim Van Herwegen
00c6658e6f docs: Update metadata documentation 2022-08-05 08:08:34 +02:00
Joachim Van Herwegen
740ba3398b Merge branch 'main' into versions/5.0.0
# Conflicts:
#	RELEASE_NOTES.md
#	config/app/variables/cli/cli.json
#	config/app/variables/default.json
#	package-lock.json
#	package.json
2022-08-04 17:18:34 +02:00
Wout Slabbinck
ca62511d12
feat: Edit metadata resources (#1188)
* feat: only allow metadata to be edited with PATCH request & only allow metadata files to be edited when a resource is available

* fix: remove unnecesary log at POST

* feat: PUT resets metadata contents + not possible to add metadata with PUT to container

* feat: add metadataStrategy (auxiliaryStrategy) + use that strategy in operationhandlers

* feat: PUT request on existing LDPC is not allowed as it would be possible to edit (read reset) metadata

* test: add unit tests to operationhandlers to handle metadata editing

* test: add unit tests to representationPatchHandler to handle metadata editing

* fix: update dependency of meta.json to version 3.0.0

* fix: lint and dependency still v2

* fix: replaced file references to resource references + moved Patch check to new patchhandler which is more generic

* fix: moved checking metadata resources checking from DELETE and POST handler down to DABS

* fix: remove PATCH message about metadata extension

* fix: move PATCH message about metadata extension

* WIP: adding writeMetadata + getMetadata in DABS and add writeMetadata to DataAccessors (part 1)

* WIP: implement writeMetadata in memorybackend + change resourceExists

* WIP: implement writeMetadata in SparqlDataAccessor.ts

* test: fix test interfaces

* test: InMemoryDataAccessor.ts resulted into changing identifier for writeMetadata in DataAccessor.ts (now taking subject identifier instead of metadata resource identifier)

* test: accessor tests implemented for metadata

* test: add RdfImmutableCheckPatcher.test.ts

* test: add tests in DataAccessorBasedStore.test.ts

* test: fix template config for DynamicPods test

* test: add integration tests for metadata

* fix: change metaStrategy to metadataStrategy

* refactor: comments updated to new location CSS on github + some alphabetical edits

* refactor: remove getMetadata function in DABS as it is only used once

* refactor: add DataAccessorBasedStoreArgs to DataAccessorBasedStore.ts

* docs: modify documentation for writeMetadata function in DataAccessor.ts

* feat: ldp:contains is also part of the metadata resource of a container

* refactor: change function name and move check to DataAccessorBasedStore

* fix: fix tests for DABS and PutOperationHandler

* feat: avoid cloneRepresentation by introducing RdfPatcher, RdfStorePatcher and modifying ImmutableMetadataPatcher, N3Patcher, patching.json and SparqlUpdatePatcher

* test: fix patcher tests

* feat: create sparqlInsertMetadata in SparqlDataAccessor.ts

* fix: move check during put on container if it exists already back to PutOperationHandler.ts after discussion in PR

* test: update tests PutOperationHandler.ts and DataAccessorBasedStore.ts regarding previous commit

* test: add converter to DABS and replace rejection on data during container creation to warning

* test: implemented RdfPatcher test

* feat: remove ContainerPatcher

* fix: fix lint

* fix: fix integration tests

* refactor: fix minor issues mentioned in the PR

* WIP: problem with removeResponseMetadata

* refactor: remove responseMetadata in QuadToRdfConverter.ts

* feat: handle ResponeMetadata when writing to the store via a patch

* refactor: refactor based on comments in PR

* feat: make ImmutableMetadataPatcher.ts instantiation more clear

* test: achieve 100% coverage again

* fix: fix lint

* refactor: return to explicit arguments for the DABS

* fix: return to explicit arguments for the DABS (missed one)

* feat: optimise immutable checker

* fix: fix, enhance docs + optimise config files

* fix: DABS + QuadToRdfConverter feedback implemented

* fix: patching feedback implemented

* test: update operationhandler tests

* test: update integration tests after feedback

* test: update DABS tests after feedback

* test: update ImmutableMetadataPatcher.test.ts after feedback

* test: update patch tests after feedback

* docs: add documentation about editing metadata

* fix: config: intendation + name change + extra filters | filter pattern

* docs: tsdoc added to RdfStorePatcher.ts

* fix: DABS split implemented for getRepresentation + comment refactoring

* docs: further documentation on removing response data on serialization

* fix: DABS getRepresentation method

* docs: apply feedback from Joachim on the documentation of metadata-editing.md

* fix: indentation fix + fix metadata-editing.md documentation after feedback from Joachim

* docs: small fix in metadata-editing.md documentation after feedback from Joachim

* fix: fix metadata-editing.md documentation after feedback from Joachim

* fix: fix tests meta-editing after feedback Joachim

* feat: first attempt at RELEASE_NOTES.md

* docs: update release notes based on feedback

* docs: fix newline

* fix: patching config changes after feedback

* docs: metadata editing documentation changes after feedback

* docs: metadata editing documentation changes after feedback

* docs: metadata editing documentation changes after feedback

* feat: optimisation on ImmutableMetadataPatcher.ts algorithm

* feat: remove converter from DABS and add conversion for metadata resources in the RCS

* fix: Fix documentation RepresentationPatchHandler.ts + fix response graph not being stored due to convertingstore

* feat: make RepresentationPatcher generic

* test: generic RepresentationPatcher tests

* test: 100% coverage for patchers again

* feat: containers can be created with POST with no content-type

* feat: Immutable checks always with subject identifier

* feat: create AuxiliaryLinkMetadataWriter for adding description resources Link Header

* test: add tests for AuxiliaryLinkMetadataWriter and update them for ImmutableMetadataPatcher

* feat: remove metadataGenerator from acl.json and fix tests accordingly

* WIP: preserve metadata on PUT

* feat: preserve metadata on PUT

* fix: keep metadata on PATCHes

* test: add unit tests for preserving metadata on PUT

* fix: remove inConverter from sparql endpoint as that is already the default in the (converting.json)

* fix: add metadatastrategy to RepresentationConvertingStore in regex.json

* test: add integration tests for preserving metadata on PUT

* docs: update release notes and adding documentation about preserving metadata on PUT

* WIP: Template create setRepresentation

* fix: Move container exists and not allowed check to setRepresentation

* test: fix lint

* fix: update configs and documentation

* refactor: update and add documentation + small refactoring

* refactor: update and add documentation + small refactoring + fix tests

* fix: Dynamic pod config + tests

* fix: TemplatedResourcesGenerator does not create containers when they already exist

* fix: metadata preservation now deals with complex content types

* docs: explain the case when there is no content-type

* fix: minor comments
2022-08-04 15:24:36 +02:00
Joachim Van Herwegen
f050d8ec1b chore(release): Release version 4.1.0 of the npm package 2022-08-04 14:23:20 +02:00
Joachim Van Herwegen
6d8b562a41 docs: Update RELEASE_NOTES.md 2022-08-04 14:05:10 +02:00
dependabot[bot]
8ace4705c4 chore(deps): bump got from 11.8.3 to 11.8.5
Bumps [got](https://github.com/sindresorhus/got) from 11.8.3 to 11.8.5.
- [Release notes](https://github.com/sindresorhus/got/releases)
- [Commits](https://github.com/sindresorhus/got/compare/v11.8.3...v11.8.5)

---
updated-dependencies:
- dependency-name: got
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-04 13:56:24 +02:00
Joachim Van Herwegen
deea184975 chore: Update devdependencies 2022-08-04 11:13:13 +02:00
Joachim Van Herwegen
15e756efc1 chore: Update dependencies 2022-08-04 11:13:13 +02:00
Joachim Van Herwegen
8848695383 docs: Link to tutorials in release docs 2022-08-03 08:50:34 +02:00
Joachim Van Herwegen
f9d721a372 test: Add logout integration test 2022-08-03 08:42:06 +02:00
jaxoncreed
3fea5c98f5
feat: Allow switching accounts
* feat: Allow logging out on the consent page

* feat: log in with a different account cleanup

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2022-08-03 08:19:22 +02:00
smessie
1350ec113a docs: Fix link to Identity Provider section 2022-08-02 16:23:02 +02:00
Emelia Smith
bc6869579a docs: updating seeding pods to reference new URLs
Inrupt PodSpaces has been migrated to ESS 2.0 and the URLs have all changed. This change updates the documentation to reference the new URLs. https://inrupt.com/blog/pod-spaces-upgrade
2022-07-28 14:13:06 +02:00
Joachim Van Herwegen
9dcba1a288 refactor: Add imports that allow for HTTPS through CLI params 2022-07-28 11:19:24 +02:00
dependabot[bot]
ca36d86bc6 chore(deps): bump fetch-sparql-endpoint from 2.4.0 to 3.0.0
Bumps [fetch-sparql-endpoint](https://github.com/rubensworks/fetch-sparql-endpoint.js) from 2.4.0 to 3.0.0.
- [Release notes](https://github.com/rubensworks/fetch-sparql-endpoint.js/releases)
- [Changelog](https://github.com/rubensworks/fetch-sparql-endpoint.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubensworks/fetch-sparql-endpoint.js/compare/v2.4.0...v3.0.0)

---
updated-dependencies:
- dependency-name: fetch-sparql-endpoint
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-28 11:10:28 +02:00
Joachim Van Herwegen
f667911229 test: Use AppRunner to set up an integration test 2022-07-28 10:58:57 +02:00
Joachim Van Herwegen
df2cb189be test: Add CLI integration tests 2022-07-28 10:58:57 +02:00
Joachim Van Herwegen
4e999eba98 feat: Enable strict parsing of CLI arguments 2022-07-28 10:58:57 +02:00
Joachim Van Herwegen
f609f1a9c5 feat: Accept both Settings and VariableBindings to create an App 2022-07-27 10:00:43 +02:00
Joachim Van Herwegen
d7d1480e8e refactor: Fix indentation 2022-07-26 12:01:21 +02:00
Joachim Van Herwegen
c6b8def8c1 docs: Update tutorial URL 2022-07-25 14:47:36 +02:00
dependabot[bot]
8609704528 chore(deps-dev): bump eslint-import-resolver-typescript
Bumps [eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript) from 2.5.0 to 3.2.5.
- [Release notes](https://github.com/import-js/eslint-import-resolver-typescript/releases)
- [Changelog](https://github.com/import-js/eslint-import-resolver-typescript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-import-resolver-typescript/compare/v2.5.0...v3.2.5)

---
updated-dependencies:
- dependency-name: eslint-import-resolver-typescript
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-15 08:17:21 +02:00
Thomas Dupont
c902638bde ci: docker test fixes 2022-07-15 07:57:24 +02:00
Thomas Dupont
66e82dd772 feat: store turtle prefixes in metadata when parsing
build: correct package-lock file
2022-07-14 13:56:04 +02:00
Joachim Van Herwegen
93a141dd61 fix: Improve HTTP stream error messages 2022-07-14 11:41:18 +02:00
Joachim Van Herwegen
085d0accad docs: Add N3 Patch to example requests 2022-07-13 12:14:50 +02:00
Thomas Dupont
821bc8a5c4 ci: build docker image for ARM/v7 32bit instead of ARM64 2022-07-13 11:08:34 +02:00
Thomas Dupont
9049e9de64 ci: build docker images for ARM64 too 2022-07-12 15:36:15 +02:00
Thomas Dupont
17e49e2f48 build: replace bcrypt (native) with bcryptjs 2022-07-12 15:36:15 +02:00
Joachim Van Herwegen
9a12152253 feat: Use an IdentifierMap for ResourceStore responses 2022-07-11 16:48:50 +02:00
Joachim Van Herwegen
145758adbf feat: Add find utility function for Iterables 2022-07-11 16:48:50 +02:00
Joachim Van Herwegen
286f815081 docs: Update authorization architecture documentation
Based on the new Permission interfaces
2022-07-11 14:07:43 +02:00
Joachim Van Herwegen
e017093a99 docs: Update RELEASE_NOTES.md with permission changes 2022-07-11 14:07:43 +02:00
Joachim Van Herwegen
47c54abe22 test: Add integration test for intermediate containers 2022-07-11 14:07:43 +02:00
Joachim Van Herwegen
d5bcec704c feat: Update configs based on all permission changes 2022-07-11 14:07:43 +02:00
Joachim Van Herwegen
fd83f4b013 feat: Update WebAclMetadataCollector to support new permission interface 2022-07-11 14:07:43 +02:00
Joachim Van Herwegen
7996fe5c3b feat: Split WebAclReader behaviour over multiple classes 2022-07-11 14:07:43 +02:00
Joachim Van Herwegen
0ff05fd420 feat: Update PermissionReaders to support new permission interface 2022-07-11 14:07:43 +02:00
Joachim Van Herwegen
11c0d1d6cf feat: Add contains function to IdentifierStrategy 2022-07-11 14:07:43 +02:00
Joachim Van Herwegen
18391ec414 feat: Introduce ModesExtractor for intermediate containers 2022-07-11 14:07:43 +02:00
Joachim Van Herwegen
7085252b3f feat: Update ModesExtractors to support new permission interface 2022-07-11 14:07:43 +02:00