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 |
サーバ設定情報の設定 |