Skip to content

T-7RNJ-dashboard-transport-adapter

Status: closed/done · Impact: medium · Complexity: medium

The frame reads settings through SettingsTransport (settingGetNamespace / settingSetNamespace). The dashboard’s transport exposes appSetting* CRUD instead, so it doesn’t satisfy the contract. Provide the dashboard’s client to the frame via provideTransport, adapting its settings CRUD to the namespace pair.

LocationRole today
apps/sdlc/desktop/src-nuxt/app/generated/transport.tssdf-nuxt’s ontogen Transport — has appSettingList/GetById/Create/Update/Delete, but NOT settingGetNamespace/settingSetNamespace.
apps/sdlc/desktop/src-nuxt/app/composables/useTransport.tsenv-switch over createIpcTransport/createHttpTransport.
packages/ts/app-frame/app/composables/useTransport.tsframe’s SettingsTransport + provideTransport({ isTauri?, createIpcTransport?, createHttpTransport? }); env-switch stays in the frame.

Add a transport.client.ts plugin (enforce: 'pre') in sdf-nuxt that calls the frame’s provideTransport(...). Because the dashboard’s Transport lacks the namespace methods, wrap its factories so the returned client also implements settingGetNamespace / settingSetNamespace — mapping a namespace to the dashboard’s appSetting* keyed store (get = read the namespace record’s values_json; set = upsert it). Regenerating the ontogen client to emit the namespace pair is an alternative; the adapter is the lower-risk path.

  1. Add sdf-nuxt/app/plugins/transport.client.ts (enforce: 'pre') calling provideTransport.
  2. Wrap the dashboard’s createIpcTransport/createHttpTransport so the client also satisfies SettingsTransport, adapting appSetting* CRUD → settingGetNamespace/settingSetNamespace (namespace ↔ a keyed settings record).
  3. Verify a frame settings section reads/writes through the dashboard’s store.
LocationKindChange
apps/sdlc/desktop/src-nuxt/app/plugins/transport.client.tsnewprovideTransport + appSetting*SettingsTransport adapter
  • AC-1: The frame’s useTransport() in the dashboard returns a client satisfying SettingsTransport, backed by the dashboard’s appSetting* store.
  • AC-2: A frame settings section persists and reads back through the dashboard.
  • Regenerating the ontogen client — the adapter suffices unless preferred.

Depends on T-IKI3-dashboard-frame-prep.

T-IKI3-dashboard-frame-prep


← Back to Tasks