Closed7
ユーザー一覧APIから自分のユーザーを除外する
As-Is
ユーザー一覧を取得する際に自分のユーザーも表示されてしまう
To-Be
1件目、2件目以降両方の取得で自分のユーザーが取得されないようになっていること
課題点
1. 自分のユーザー情報の除外をどの層で行うのか
- service層だとfirst - 1件を返すことになり、要求された件数をクライアントに返すことができない
- repo層でdbにアクセスする際にuidを指定して除外できれば綺麗(要調査)
repo層でdbにアクセスする際にuidを指定して除外できれば綺麗(要調査)
where句はresignedで既に使用しているためwhere('uid', !=, uid)
みたいなことはできない
そうなるとservice層で除外することになりそうだが、hasNextの+1件取ってくるロジックと衝突しそう
混乱してきたので手順の整理
- リクエストを送る
- repo層でlimitの件数分取得する
- service層で自ユーザーを除外する
- service層でpaginationの形式に変換してresolver層に返す
そうなるとservice層で除外することになりそうだが、hasNextの+1件取ってくるロジックと衝突しそう
ここを考える
除外されたかどうかでlimitの値を変更する
where('uid', !=, uid)
これで実装しようとしているが以下のようなエラーが出る
ERROR [ExceptionsHandler] 3 INVALID_ARGUMENT: inequality filter property and first sort order must be the same: uid and logined_at
同じプロパティでorderしなさいよって怒られる
それに近い回答があるけどuid順になっているので違う
このスクラップは2022/05/12にクローズされました