KIZUNAを利用している監理団体の一覧取得APIです。
| メソッド | URI | Headers |
|---|---|---|
/api/organization/list/{page}/{per_page}?search=〇〇 |
Default |
| パラメーター名 | 型 | 内容 | 特記 |
|---|---|---|---|
| search | string | 名前/ステータス/作成日 空白区切り でLIKE検索 | |
| page | int | 現在のページ(何回実行したか何P目かを表す) | 以降加算されていく |
| per_page | int | リクエスト件数(50なら50件返却) |
/api/organization/list/0/50?search='テスト監理団体 解約'
{primary}
pageが0の時は=1ページ目 / 1の時は2ページ目と同義となる
ステータスコード:200
| パラメーター名 | 型 | 内容 | 特記 |
|---|---|---|---|
| id | int | 監理団体のID | |
| name | string | 監理団体本社の名称 | |
| status | string | 監理団体の状態 | 1:未認証 2:認証済 5:利用中 10:アカウント停止 15:解約 |
| created_at | string | 監理団体作成日(/区切り) |
{
"result" : true,
"errors" : "",
"data" : {
'id' : 1,
'name' : 'テスト監理団体'
'status' : '利用中'
'created_at': '2020/03/05'
},
}
{primary} 何もなければ空配列で返却
statusのEnumの文字列の値の配列と$request->get('search')が一致するものを$statusとして取得。SELECT
*
FROM
`organization_views`
WHERE
(
`organization_views`.`name` LIKE "%{$keyword1}%"
OR `organization_views`.`name` LIKE "%{$keyword2}%"
OR ...
OR `organization_views`.`status` IN ($status1, $status2, ...)
)
AND `organization_views`.`deleted_at` IS NULL
ORDER BY
`organization_views`.`id` DESC
LIMIT $request->route('per_page') OFFSET $request->route('page')
{warning}
name,statusのLIKE検索は、GETパラメータsearchが渡されたときのみ必要になります。
statusに関しては、Enumのvalueの値の配列をループし、検索処理を行います。