Skip to content

feat: per-dataset default view — backend (#169) - #170

Merged
hweej merged 5 commits into
mainfrom
feat/dataset-default-view
Jul 16, 2026
Merged

feat: per-dataset default view — backend (#169)#170
hweej merged 5 commits into
mainfrom
feat/dataset-default-view

Conversation

@hweej

@hweej hweej commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Backend half of #169 — per-dataset default view (v1: coloring, cluster labels, point rendering). Frontend PR (highperformer applying it) follows in cbioportal-cell-explorer.

  • default_view nullable JSON column on Dataset (+ Alembic migration), stored as the frontend AppConfig shape (camelCase) so it applies with no transform.
  • validate_default_view: reuses the generated AppConfig model (from cell-explorer-agent) for types/enums/bounds + extra=forbid, then a v1 allowed-key guard, then cross-field rules mirroring applyConfig.ts.
  • Exposed in the public DatasetResponse (read); settable via admin POST/PUT /admin/datasets with 422 on invalid payloads.
  • DRY: extracted _dataset_to_admin_response.

309 backend tests pass; OpenAPI spec regenerated.

@hweej hweej self-assigned this Jul 16, 2026
@hweej hweej added the enhancement New feature or request label Jul 16, 2026
@hweej
hweej merged commit 09a881e into main Jul 16, 2026
3 checks passed
@hweej
hweej deleted the feat/dataset-default-view branch July 16, 2026 06:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant