Skip to content

feat: NOC/BGP Router/Gateway の管理画面を Setting に追加#224

Open
csenet wants to merge 1 commit into
developfrom
feat/setting-management
Open

feat: NOC/BGP Router/Gateway の管理画面を Setting に追加#224
csenet wants to merge 1 commit into
developfrom
feat/setting-management

Conversation

@csenet

@csenet csenet commented May 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • サイドバーの Setting(従来 onClick 無しで未動作)を有効化し、NOC / BGP Router / Gateway の3タブからなる管理画面を新設
  • 各タブで一覧・追加・編集・削除(フルCRUD)に対応。Admin API の /noc /router /gateway /gateway_ip を使用
  • Gateway は Gateway IP を同一画面に統合。1:1運用に合わせ、有効/無効は gateway と IP 共通の単一トグル
  • NOC選択ドロップダウンは NOC一覧と連動(NOCタブで追加→即反映)
  • 実運用で未使用の項目(comment / capacity / BGP Routerのaddress)はフォーム・カードから非表示(型・送信側は保持し既存値は破壊しない)
  • 併せて MUI v7 API 移行(TransitionComponentslots 等)と eslint flat config 等のツールチェーン更新を含む

主な変更ファイル

  • 追加: src/api/{NOC,Router,Gateway,GatewayIP}.tssrc/pages/Setting/{Setting,NocSetting,RouterSetting,GatewaySetting}.tsx
  • 変更: src/App.tsx(route追加)、src/components/Dashboard/Dashboard.tsx(Settingナビ配線)、src/interface.ts(型追加)
  • その他: MUI/ツールチェーン移行に伴う各種ファイル更新

バックエンド仕様への対応

  • replace() 仕様に合わせ enable は常時送信、Gateway は noc_id 常時送信(nil dereference回避)
  • Gateway追加時は POST応答にIDが無いため、POST直前の一覧との差分で新規Gatewayを特定してIPを登録(特定不可なら中断し編集からの登録を促す)

Test plan

  • /dashboard/setting で NOC / BGP Router / Gateway 各タブが表示される
  • 各タブで追加・編集・削除が動作する(ローカルbackend :8081)
  • NOCタブで追加したNOCが Router/Gateway のドロップダウンに出る
  • Gateway編集で hostname/IP/有効 が一括保存される
  • 既存seedデータ(NOC01 / noc01er01 / 2404:7a81:920:9600::1111/64)が正しく表示される

🤖 Generated with Claude Code

- Setting ナビを有効化し、NOC/BGP Router/Gateway の管理タブを追加
  (一覧・追加・編集・削除のCRUD、Admin APIの /noc /router /gateway /gateway_ip を使用)
- Gateway は Gateway IP を同一画面に統合(1:1運用に合わせ有効/無効は単一トグル)
- NOC一覧と連動したドロップダウン、実運用で未使用の項目(comment/capacity/address)は非表示
- 併せて MUI v7 API 移行と eslint flat config 等のツールチェーン更新を含む

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant