最終更新: a few seconds agoRemove Netlify-related code from main (grafted, HEAD)

CIRCUS DB の API

  • 🆕: 既存の PHP 版に対応する API がないため新規作成するもの。
  • ⚡️: 既存の PHP 版と呼び出し規約を大きく変更するもの。
  • 🔱: application/json 以外の Mime-Type 型を入出力するもの。

ログイン処理

endpoint description
POST /api/login ID・パスワードを受けとってトークンを発行する。
GET /api/login-info ログイン済みのユーザについての最低限の情報の取得。ログインが継続しているかの確認やタイムアウト時間の更新に使う。(❓ fields クエリパラメータで処理する方がよい?)
GET /api/login-info/full ログイン済みのユーザについての詳細な情報を取得する。 (❓ 上記と統合する方がよい?)
GET /api/logout ログアウト。これを呼んだ際に使ったトークンを即座に無効化する。

通常リソースの作成・編集操作

シリーズ

endpoint description
GET /api/series/:seriesuid シリーズ情報の取得
POST /api/series 🆕 🔱 シリーズの HTTP アップロード。
POST /api/series/search シリーズの検索 ❓

ケース

endpoint description
GET /api/case/:caseid ケース情報の取得
POST /api/case/search ケース情報の検索 ❓
GET /api/case/:caseid/tags 🆕 ケースに対応するタグ一覧の取得
PUT /api/case/:caseid/tags 🆕 ケースに対応するタグ一覧の更新
POST /api/case/:caseid/revision 新しいリビジョンの登録
PUT /api/blob/:hash 🔱 新しい BLOB の登録(ラベルのボリュームデータをハッシュ付きで保持する)
GET /api/blob/:hash 🔱 BLOB データの取得

タスク

endpoint description
GET /api/tasks 🆕 ユーザに結びついているタスク一覧の取得
GET /api/tasks/:taskid 🆕 🔱 指定されたタスクの状況の取得
GET /api/tasks/:taskid/progress 🆕 🔱 タスクの進行状況を示す text/event-stream

ユーザプレファレンス

実際にはトークンでログイン中の user の変更になる

endpoint description
GET /api/prerefence プレファレンスの取得
PUT /api/prerefence プレファレンスの更新

管理者用 🔧

CIRCUS RS サーバ管理

endpoint description
PUT /api/server/switch CIRCUS RS サーバの開始 ⚡️
DELETE /api/server/switch CIRCUS RS サーバの停止 ⚡️
GET /api/server/status CIRCUS RS サーバの状態問い合わせ

ユーザ管理

endpoint description
GET /api/user ユーザの一覧の取得
GET /api/user/:email ユーザの取得
POST /api/user ユーザの作成
PUT /api/user/:email ユーザの更新

プロジェクト管理

endpoint description
GET /api/project プロジェクトの一覧の取得
GET /api/project/:projectid プロジェクトの取得
POST /api/project プロジェクトの作成
PUT /api/project/:projectid プロジェクトの更新

グループ管理

endpoint description
GET /api/group グループの一覧の取得
GET /api/group/:groupid グループの取得
POST /api/group グループの作成
PUT /api/group/:groupid グループの更新

ストレージ管理

endpoint description
GET /api/storage ストレージの一覧の取得
GET /api/storage/:storageid ストレージの取得
POST /api/storage ストレージの作成
PUT /api/storage/:storageid ストレージの更新
PUT /api/storage/setactive/:storageid アクティブなストレージを設定 ❓

仕様検討中

ストレージは仕様自体を残すべきかどうかを検討中。本来はこういうストレージの分割や世代管理のようなことは別レイヤーのソフトウェアがやるべき。

サーバ設定情報

endpoint description
GET /api/server-param サーバ設定情報の取得
POST /api/server-param サーバ設定情報の設定