feat(users): persist date_format_string preference on users (backend) #184

Merged
YousifShkara merged 1 commit from feat/pms-253-date-format-preference-backend into main 2026-06-12 08:31:22 +02:00
Owner

First half of PMS-253. Add the per-user date/time format preference column on users, wire it through the shared mokosh-types DTOs, and accept/return it on the user create + update + lookup paths. NULL stays the default and renders exactly as today (browser locale), so this is back-compat for every existing row.

The format string itself (token grammar) is a client-side concern. Server validates length only: max 64 chars enforced both by a Postgres CHECK constraint and by validator::Validate on CreateUserRequest + UpdateUserRequest. The matching mokosh-apps profile UI lands in a separate PR against psa-systems/mokosh-apps.

Branched on top of chore/pms-251-cargo-fmt-sweep so it inherits a fmt-clean base; either PR can merge first without conflicts.

#PMS-253

First half of PMS-253. Add the per-user date/time format preference column on users, wire it through the shared mokosh-types DTOs, and accept/return it on the user create + update + lookup paths. NULL stays the default and renders exactly as today (browser locale), so this is back-compat for every existing row. The format string itself (token grammar) is a client-side concern. Server validates length only: max 64 chars enforced both by a Postgres CHECK constraint and by validator::Validate on CreateUserRequest + UpdateUserRequest. The matching mokosh-apps profile UI lands in a separate PR against psa-systems/mokosh-apps. Branched on top of chore/pms-251-cargo-fmt-sweep so it inherits a fmt-clean base; either PR can merge first without conflicts. #PMS-253
feat(users): persist date_format_string preference on users (backend)
All checks were successful
Build OCI container / Build and push mokosh-api image (push) Successful in 3m34s
Create release / Create release from merged PR (pull_request) Has been skipped
E2E (staging) / Playwright against staging (pull_request) Successful in 40s
Check / fmt + clippy + compile + tests (pull_request) Successful in 1m43s
c57d5c601c
First half of PMS-253. Add the per-user date/time format preference column on users, wire it through the shared mokosh-types DTOs, and accept/return it on the user create + update + lookup paths. NULL stays the default and renders exactly as today (browser locale), so this is back-compat for every existing row.

The format string itself (token grammar) is a client-side concern. Server validates length only: max 64 chars enforced both by a Postgres CHECK constraint and by validator::Validate on CreateUserRequest + UpdateUserRequest. The matching mokosh-apps profile UI lands in a separate PR against psa-systems/mokosh-apps.

Branched on top of chore/pms-251-cargo-fmt-sweep so it inherits a fmt-clean base; either PR can merge first without conflicts.

#PMS-253
YousifShkara deleted branch feat/pms-253-date-format-preference-backend 2026-06-12 08:31:22 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-server!184
No description provided.