Files
ottyl/tickets/010-css-management.md
T
2026-09-05 12:46:45 +01:00

31 lines
1.3 KiB
Markdown

# 010 — CSS import/management
## Summary
Let users import custom CSS (stored alongside settings/profiles, deletable) or link
to an external CSS path/URL (not deletable, just referenced).
## Scope
- `POST /api/settings/css` (import): accept raw CSS content, store it in the same
directory as settings/profiles ([008](008-settings-model.md)), return an id/handle.
- `DELETE /api/settings/css/:id`: remove an imported CSS file; reject deletion for
linked (non-imported) entries.
- `POST /api/settings/css/link`: register a path/URL reference without copying
content; these are never deletable via the delete endpoint (only "unlink"-able,
if that distinction matters — clarify in implementation).
- Settings model tracks the list of CSS entries (imported + linked) with enough
metadata to distinguish the two kinds.
- Serve imported CSS content back so the frontend can `<link>`/inline it.
## Acceptance criteria
- Importing CSS persists content under the settings directory and survives restart.
- Deleting an imported CSS entry removes the file and the settings reference.
- Attempting to delete a linked (non-imported) entry is rejected.
- Linked entries resolve to their original path/URL, not a copy.
## Depends on
- [008 — Settings model](008-settings-model.md)