mirror of
https://github.com/LogicLabs-OU/OpenArchiver.git
synced 2026-04-06 00:31:57 +02:00
System settings #270
Closed
opened 2026-04-05 16:17:13 +02:00 by MrUnknownDE
·
0 comments
No Branch/Tag Specified
main
gh-pages
v0.5.1-dev
v0.4.3-release
ee-legalhold
ee-retention
v0.4.3-dev
wayneshn-patch-1
v0.4.3-pre
v0.4.2-fix
v0.4.2-dev
v0.4.1-dev
mailbox-processing-opt
v0.4.0-fix
ee-init
docs-ocr
v0.3.x-fixes
issue-templates
security-update
create-funding-yml
display-versions
attachment-ocr
docs
user-api-key
demo-mode
v0.3.0
system-settings
wip
CLA-v2
role-based-access
dev
v0.5.0
v0.4.2
v0.4.1
v0.4.0
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.1
v0.2.0
v0.1.2
v0.1.1
v0.1.0
Labels
Clear labels
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
bug
documentation
documentation
duplicate
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
good first issue
help wanted
help wanted
help wanted
help wanted
improvement
improvement
question
question
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
MrUnknownDE
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github/OpenArchiver#270
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @wayneshn on 8/24/2025
The goal of this issue is to create a centralized place for administrators to manage global, generic configurations for the application.
Database Schema:
system_settings, will be created.JSONBcolumn namedconfig. This allows for easy extension of settings in the future without requiring schema migrations.packages/backend/src/database/schema/system-settings.ts.Shared Types:
packages/types/src/system.types.ts.SupportedLanguageType: A specific union type will be created to constrain the available languages.SystemSettingsInterface: This interface will define the shape of the settings object.Proposed Settings Schema:
Based on the feedback, the settings will be simplified to only include essential generic configurations.
API Endpoints & Routing:
packages/backend/src/api/routes/settings.routes.ts.GET /api/v1/settings: Retrieves the current system settings.PUT /api/v1/settings: Updates the system settings.Permissions & Access Control:
requirePermissionmiddleware will be used to secure the endpoints.packages/types/src/iam.types.ts, the existingAppSubjectstype includes'settings', which will be used for this feature. No new subject is needed.AppActions:GET /api/v1/settings: This should be an open api route, it should be accessible without authorization or permissions. Make sure no sensitive data is exposed in this route.PUT /api/v1/settings: Requires'manage'permission on the'settings'subject. This is appropriate as'manage'is a valid action and implies the ability to create and update.Controller and Service:
SettingsControllerwill handle the HTTP logic.SettingsServicewill contain the business logic for interacting with the database.Part 2: Frontend UI Implementation
A new page will be added to the dashboard for administrators to manage these settings.
packages/frontend/src/routes/dashboard/settings/system/+page.svelte.+page.server.tswill fetch the settings data from the API on page load.