Skip to content

feat: implement controller for sdk#29

Open
Yu-da-1 wants to merge 19 commits intomainfrom
feature/implement-controller-for-sdk
Open

feat: implement controller for sdk#29
Yu-da-1 wants to merge 19 commits intomainfrom
feature/implement-controller-for-sdk

Conversation

@Yu-da-1
Copy link
Copy Markdown
Member

@Yu-da-1 Yu-da-1 commented Dec 26, 2025

Description

このPRは、monas-sdkmonas-gateway を追加し、gateway -> sdk -> state-node の経路でコンテンツ操作を行うための土台を実装する。
合わせて monas-account / monas-content のアプリケーション層を整理し、署名・認証・委譲トークン発行・ローカル検証導線を一貫させる。

主な変更点:

  • ワークスペースに monas-sdk / monas-gateway を追加
    • Cargo.toml の workspace members を更新
    • gateway 実行用エントリポイントを追加
  • monas-sdk を新規実装
    • 共通レスポンス (ApiResponse, ApiError) を整備
    • MonasController 配下に content / share / state / keypair コントローラを実装
    • state-node 連携時の認証ヘッダ転送と account 署名連携を実装
    • create/update/delete 失敗時のロールバック処理を実装
    • モデル層 (content, share, state, state_node) を追加
    • 統合テスト (content/share/state) を追加
  • monas-gateway を新規実装
    • axum ベースの HTTP API を追加
    • MonasController を呼び出すハンドラ群を実装
    • X-Request-* を含む state-node 認証コンテキストの組み立てを実装
    • health エンドポイントを追加
  • monas-account のアプリケーション層を再編
    • application_servicecommand/error/port/service に分割
    • 委譲トークン発行 (issue_delegated_token) を実装
    • JWT signer を追加
    • presentation 層に /issuer/delegate と sign レスポンス拡張を追加
  • monas-content 側の command/service/presentation を調整
    • SDK から利用しやすい形へインターフェースを整理
  • 開発運用改善
    • Makefile, scripts/state-node-run.sh, scripts/gateway-run.sh を追加
    • README.md にローカル起動手順を追記

今回の検証で追加したID契約対応:

  • create 応答に remote_content_id を追加
  • update/delete 入力を local_content_id + remote_content_id の2ID構成に変更
  • gateway 側で path id を local_content_id に注入し、remote は body で受ける形に変更

Notes & open questions

@Yu-da-1 Yu-da-1 changed the base branch from main to feature/soma/state-node-sync December 26, 2025 18:04
@Yu-da-1 Yu-da-1 changed the base branch from feature/soma/state-node-sync to main March 24, 2026 00:22
@Yu-da-1 Yu-da-1 marked this pull request as ready for review April 11, 2026 04:19
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