Skip to content

feat(preferences): generic per-user preferences endpoint#607

Merged
rubenvdlinde merged 1 commit into
developmentfrom
feat/preferences-endpoint
May 25, 2026
Merged

feat(preferences): generic per-user preferences endpoint#607
rubenvdlinde merged 1 commit into
developmentfrom
feat/preferences-endpoint

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

Adds a generic per-user key/value preferences endpoint to procest, backed by Nextcloud IConfig user values.

  • GET /api/preferences/{key} and PUT /api/preferences/{key} (NoAdminRequired + NoCSRFRequired).
  • Keys are sanitised to a safe charset and namespaced under pref_ so callers can't reach arbitrary user values.
  • Backs the shared @conduction/nextcloud-vue CnSupportDialog auto-mount's per-user seen-flag; unauthenticated callers fall back to localStorage.

Fleet rollout — canonical pattern from pipelinq#553 (also merged in decidesk#266).

Backs the shared @conduction/nextcloud-vue CnSupportDialog auto-mount's
per-user seen-flag. Adds GET/PUT /api/preferences/{key} backed by
Nextcloud IConfig user values (NoAdminRequired + NoCSRFRequired). Keys
are sanitised to a safe charset and namespaced under pref_. When the
caller is unauthenticated the widget falls back to localStorage.
@rubenvdlinde rubenvdlinde merged commit 460e1a6 into development May 25, 2026
13 of 22 checks passed
@rubenvdlinde rubenvdlinde deleted the feat/preferences-endpoint branch May 25, 2026 21:24
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ 04a0d92

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer
npm ✅ 326/326
PHPUnit ⏭️
Newman ⏭️
Playwright ⏭️

Quality workflow — 2026-05-25 21:24 UTC

Download the full PDF report from the workflow artifacts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant