概要
grantを正しくコントロールするためにmodel/page.js
とroutes/page.js
に修正を加えた。
以前まではgrantがnullの場合に、そのままpage.grantをnullで保存していたが
model/page.js
のapplyScope
でgrantを確認し、nullを書き換えることで、想定しているデータ保存ができるようになった.
想定する動作
- 新規作成
- 更新
- 複製
- 移動
- 削除、元に戻す
のオペレーションで、意図するデータになるかどうか(Robo 3T で確認)
概要にある通り、各ステップにてgrantがnullで渡ってきたときにエラーが発生せずに、GRANT_PUBLIC (=1)で保存されることを確認。
また、GRANT_PUBLICの際にgroupidが存在することを防ぐのを確認する。
動作確認
grantにnull/undefinedを渡す
- 新規作成
- 更新
- 複製
- 移動
移動の時はgrantを取得していないため、故意的に操作してnullにするとそのままnullで移動される。
updateをすればnullは修正されるので問題はないと思われる。
エラーも発生していない。
- 削除、元に戻す
削除の際にnullのページは1に書き換えられてtrashに移動される。 完全削除も元に戻すも問題なく動作した。
grantにnullを渡さない(通常状態)
- 新規作成
- 更新
- 複製
- 移動
- 削除、元に戻す
通常通りの動作。データも想定通りの保存
grantに1、groupId に値を入れて渡す
しっかりとnullで保存されている。
grantが5の時でないと保存されないようになった!
結果
問題なし