From 30ad3015f04a8ecad4e387906e0971345abbce39 Mon Sep 17 00:00:00 2001 From: Joachim Van Herwegen Date: Fri, 18 Mar 2022 11:22:51 +0100 Subject: [PATCH] refactor: Move key/value storages to relevant configs --- RELEASE_NOTES.md | 3 +- .../handler/account-store/default.json | 10 ++++-- .../handler/adapter-factory/webid.json | 6 +++- .../handler/provider-factory/identity.json | 6 +++- config/identity/ownership/token.json | 6 +++- .../storage/key-value/storages/storages.json | 35 ------------------- 6 files changed, 25 insertions(+), 41 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 305a1bed1..876213a13 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -15,7 +15,8 @@ The following changes pertain to the imports in the default configs: - ... The following changes are relevant for v3 custom configs that replaced certain features. -- ... +- The key/value storage configs in `config/storage/key-value/*` have been changed to reduce config duplication. + All storages there that were only relevant for 1 class have been moved to the config of that class. ### Interface changes These changes are relevant if you wrote custom modules for the server that depend on existing interfaces. diff --git a/config/identity/handler/account-store/default.json b/config/identity/handler/account-store/default.json index aae44a0ee..24e67c0a0 100644 --- a/config/identity/handler/account-store/default.json +++ b/config/identity/handler/account-store/default.json @@ -7,7 +7,9 @@ "@type": "BaseAccountStore", "saltRounds": 10, "storage": { - "@id": "urn:solid-server:default:AccountStorage" + "@type": "EncodingPathStorage", + "relativePath": "/idp/accounts/", + "source": { "@id": "urn:solid-server:default:KeyValueStorage" } }, "forgotPasswordStorage": { "@id": "urn:solid-server:default:ExpiringForgotPasswordStorage" @@ -17,7 +19,11 @@ "comment": "Stores expiring data. This class has a `finalize` function that needs to be called after stopping the server.", "@id": "urn:solid-server:default:ExpiringForgotPasswordStorage", "@type": "WrappedExpiringStorage", - "source": { "@id": "urn:solid-server:default:ForgotPasswordStorage" } + "source": { + "@type": "EncodingPathStorage", + "relativePath": "/forgot-password/", + "source": { "@id": "urn:solid-server:default:KeyValueStorage" } + } }, { "comment": "Makes sure the expiring storage cleanup timer is stopped when the application needs to stop.", diff --git a/config/identity/handler/adapter-factory/webid.json b/config/identity/handler/adapter-factory/webid.json index 502dc334f..5d9a5bd4e 100644 --- a/config/identity/handler/adapter-factory/webid.json +++ b/config/identity/handler/adapter-factory/webid.json @@ -7,7 +7,11 @@ "@type": "WebIdAdapterFactory", "source": { "@type": "ExpiringAdapterFactory", - "storage": { "@id": "urn:solid-server:default:IdpAdapterStorage" } + "storage": { + "@type": "EncodingPathStorage", + "relativePath": "/idp/adapter/", + "source": { "@id": "urn:solid-server:default:KeyValueStorage" } + } }, "converter": { "@id": "urn:solid-server:default:RepresentationConverter" } } diff --git a/config/identity/handler/provider-factory/identity.json b/config/identity/handler/provider-factory/identity.json index 04bed93e1..04d9e2e69 100644 --- a/config/identity/handler/provider-factory/identity.json +++ b/config/identity/handler/provider-factory/identity.json @@ -12,7 +12,11 @@ "args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }, "args_oidcPath": "/.oidc", "args_interactionHandler": { "@id": "urn:solid-server:auth:password:PromptHandler" }, - "args_storage": { "@id": "urn:solid-server:default:IdpKeyStorage" }, + "args_storage": { + "@type": "EncodingPathStorage", + "relativePath": "/idp/keys/", + "source": { "@id": "urn:solid-server:default:KeyValueStorage" } + }, "args_errorHandler": { "@id": "urn:solid-server:default:ErrorHandler" }, "args_responseWriter": { "@id": "urn:solid-server:default:ResponseWriter" }, "config": { diff --git a/config/identity/ownership/token.json b/config/identity/ownership/token.json index 363186c8a..6e4ebdde7 100644 --- a/config/identity/ownership/token.json +++ b/config/identity/ownership/token.json @@ -12,7 +12,11 @@ "comment": "Stores expiring data. This class has a `finalize` function that needs to be called after stopping the server.", "@id": "urn:solid-server:default:ExpiringTokenStorage", "@type": "WrappedExpiringStorage", - "source": { "@id": "urn:solid-server:default:IdpTokenStorage" } + "source": { + "@type": "EncodingPathStorage", + "relativePath": "/idp/tokens/", + "source": { "@id": "urn:solid-server:default:KeyValueStorage" } + } }, { "comment": "Makes sure the expiring storage cleanup timer is stopped when the application needs to stop.", diff --git a/config/storage/key-value/storages/storages.json b/config/storage/key-value/storages/storages.json index e96d52531..eee261487 100644 --- a/config/storage/key-value/storages/storages.json +++ b/config/storage/key-value/storages/storages.json @@ -8,41 +8,6 @@ "relativePath": "/locks/", "source": { "@id": "urn:solid-server:default:BackendKeyValueStorage" } }, - { - "comment": "Storage used by the IDP adapter.", - "@id": "urn:solid-server:default:IdpAdapterStorage", - "@type": "EncodingPathStorage", - "relativePath": "/idp/adapter/", - "source": { "@id": "urn:solid-server:default:KeyValueStorage" } - }, - { - "comment": "Storage used for the IDP keys.", - "@id": "urn:solid-server:default:IdpKeyStorage", - "@type": "EncodingPathStorage", - "relativePath": "/idp/keys/", - "source": { "@id": "urn:solid-server:default:KeyValueStorage" } - }, - { - "comment": "Storage used for IDP ownership tokens.", - "@id": "urn:solid-server:default:IdpTokenStorage", - "@type": "EncodingPathStorage", - "relativePath": "/idp/tokens/", - "source": { "@id": "urn:solid-server:default:KeyValueStorage" } - }, - { - "comment": "Storage used for account management.", - "@id": "urn:solid-server:default:AccountStorage", - "@type": "EncodingPathStorage", - "relativePath": "/idp/accounts/", - "source": { "@id": "urn:solid-server:default:KeyValueStorage" } - }, - { - "comment": "Storage used for ForgotPassword records", - "@id": "urn:solid-server:default:ForgotPasswordStorage", - "@type": "EncodingPathStorage", - "relativePath": "/forgot-password/", - "source": { "@id": "urn:solid-server:default:KeyValueStorage" } - }, { "comment": "Storage used by setup components.", "@id": "urn:solid-server:default:SetupStorage",