グループの削除
グループを削除する例を挙げます。
curl -v -X DELETE \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
"https://api-jp.kii.com/api/apps/{APP_ID}/groups/{GROUP_ID}"
グループの削除に成功すると Kii Cloud は 204 応答を返します。
グループを削除すると、このグループが保持していた全てのデータ(Bucket、KiiObject、トピック)は自動的に削除されます。
ユーザー削除時のグループ
ユーザーを削除したとき、それに関連付けられたグループは自動的に削除されません。そのグループを参照するメンバーがいなくなってもグループは自動的に消えないため、参照されないグループやそのデータがアプリケーション内の領域を消費し続ける現象が起こりえます。
こうした現象を防止するため、ユーザーの削除では、次の点に注意する必要があります。
削除対象のユーザーがオーナーのとき
削除されるユーザーがグループのオーナーの場合、そのグループはオーナーが不在のまま残り続けます。グループのオーナーの変更や、メンバーの追加と削除ができるのはオーナーだけであるため、事実上、そのグループを管理できるユーザーがいなくなります。
オーナーのユーザーを削除する前には、モバイルアプリの外部仕様に基づいて、オーナーを変更する、グループのオーナーであるユーザーは削除できないようにする(先にグループのオーナーでなくすよう案内する)、ユーザー削除時にグループごと削除するなどの対処を行う必要があります。
削除対象のユーザーが最後のメンバーのとき
削除されるユーザーがグループの最後のメンバーの場合、そのグループを利用するユーザーがいなくなります。URI によってグループが特定できるようになっている場合はグループを参照できますが、モバイルアプリの側で URI も保存していない場合はリークしているのと同じ状態になります(グループの参照方法は グループの参照 と ユーザーとグループの関連 をご覧ください)。
URI による参照を行わない設計のときは、ユーザーの削除の際にグループの削除も考慮する必要があります。
ユーザーを削除するとき、以下の方法でグループの削除も同時に行う処理を検討してください。
- 削除しようとしているユーザーについて、そのユーザーがメンバーであるグループの一覧を取得する
- 取得したグループのそれぞれについて、そのグループのメンバーを取得する
- 削除しようとしているユーザーがグループの最後の 1 人のメンバーなら、ユーザーの削除と同時にそのグループも削除する