Skip to content

Conversation

ngholiza
Copy link
Collaborator

@ngholiza ngholiza commented Mar 2, 2026

…riment

  • api/db_local.py: local SQLite store for equipment, parameters, experiment_types and experiment_definitions (zero infrastructure)
  • api/routers/equipment.py:
    • POST /register now saves to SQLite AND writes JSON domain config
    • GET /list merges SQLite records + legacy JSON configs (deduped)
    • GET /list/simple returns lightweight {id, name, type, location} for UI dropdowns
  • web/lib/api-client.ts: added EquipmentSimple + getEquipmentListSimple()
  • web/app/experiment/new/page.tsx:
    • removed hardcoded REGISTERED_EQUIPMENT array
    • useEffect fetches from /equipment/list/simple on mount
    • shows loading spinner while fetching
    • shows amber warning with link if no equipment registered yet
    • dropdown populated with live API data

…riment

- api/db_local.py: local SQLite store for equipment, parameters,
  experiment_types and experiment_definitions (zero infrastructure)
- api/routers/equipment.py:
  - POST /register now saves to SQLite AND writes JSON domain config
  - GET /list merges SQLite records + legacy JSON configs (deduped)
  - GET /list/simple returns lightweight {id, name, type, location}
    for UI dropdowns
- web/lib/api-client.ts: added EquipmentSimple + getEquipmentListSimple()
- web/app/experiment/new/page.tsx:
  - removed hardcoded REGISTERED_EQUIPMENT array
  - useEffect fetches from /equipment/list/simple on mount
  - shows loading spinner while fetching
  - shows amber warning with link if no equipment registered yet
  - dropdown populated with live API data
@ngholiza ngholiza merged commit 1d244c0 into dev Mar 2, 2026
Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant