アクティビティ一覧取得API
- 目的・用途
本機能は、システムに登録されているアクティビティを取得する際に用いるAPIである。アクティビティの状態を指定することにより、取得するアクティビティを選別することが可能となる。
- 利用方法
リクエスト時に要求されているパラメータ(※処理概要参照)を指定しAPIを実行する。
- 利用可能なロール
| ロール | システム管理者 | リポジトリ管理者 | サブリポジトリ管理者 | 登録ユーザー | 一般ユーザー | ゲスト(未ログイン) |
|---|---|---|---|---|---|---|
| 利用可否 | ○ | ○ | ○ | ○ | × | × |
機能内容
システム管理者、リポジトリ管理者は全ユーザーのアクティビティ一覧を取得する。
コミュニティ管理者、登録ユーザーは自身が担当するアクティビティ一覧を取得する。
関連モジュール
weko-workflow.rest.py: GetActivities
weko-workflow.api.py: WorkActivity
weko-workflow.utils.py
weko-workflow.config.py
weko-workflow.errors.py
処理概要
OAuth2認証機能を用いてユーザーの適切なアクセス制限を行う。
サーバー負荷軽減のためリクエストのアクセス制限機能をかける。
ETagを用いて既に取得したことがあるデータか判定を行う。
アクティビティ一覧取得を行う場合、以下のように動作する。
認証しているユーザーを確認する。
リクエストパラメータからアクティビティ状態、取得するデータ件数、ページ数を取得する。
関連モジュールを用いて該当するアクティビティ一覧を取得する。
取得したアクティビティ一覧をjsonに格納して返却する。
URLはapi/:version/activities
| パラメータ | 値 | |------------|--------------| | :version | APIのバージョン |
リクエスト
- ヘッダ
| キー名 | 値 | |-------------------|-------------------------------------------------------| | Accept-Language | 表示する言語の指定 | | Authorization | Bearer アクセストークン | | If-None-Match | 初回リクエスト時のレスポンスヘッダーに設定されているETagの値 |
- ボディ
無し
- パラメータ
| キー名 | 値 |
|---|---|
| status | アクティビティの状態(※1) ・all : 登録・編集中、承認待、却下、終了 ・wait : 承認待 ・todo : 登録・編集中、却下 |
| limit | 取得するデータ件数(※2) |
| page | 取得可能なデータ総数をlimitの数値で分割した際の取得するページ(※3) |
| pretty | レスポンスの整形フラグ(※4) ・true, t, yes, 1:有効 ・上記以外:無効 |
(※1)指定がない場合「todo」がデフォルトで設定される
(※2)指定がない場合「20」がデフォルトで設定される
(※3)指定がない場合「1」がデフォルトで設定される
(※4)指定がない場合「false(無効)」がデフォルトで設定される
レスポンス
- ヘッダ
| キー名 | 値 | |--------|----------------| | ETag | コンテンツのハッシュ値 |
- ボディ
アクティビティ一覧をJSON形式で返す(※詳細はAPI仕様書を参照)
異常系
リクエストで与えたパラメータに不正があった場合、エラーコード400を返す
Bearer認証に失敗した場合、エラーコード401を返す
APIを利用できないロールだった場合、エラーコード403を返す
更新履歴
| 日付 | 更新内容 |
|---|---|
| 2023/06/15 | 初版作成 |