Closed7

ユーザー一覧APIから自分のユーザーを除外する

mu-sukemu-suke

As-Is

ユーザー一覧を取得する際に自分のユーザーも表示されてしまう

To-Be

1件目、2件目以降両方の取得で自分のユーザーが取得されないようになっていること

mu-sukemu-suke

課題点

1. 自分のユーザー情報の除外をどの層で行うのか

  • service層だとfirst - 1件を返すことになり、要求された件数をクライアントに返すことができない
  • repo層でdbにアクセスする際にuidを指定して除外できれば綺麗(要調査)
mu-sukemu-suke

repo層でdbにアクセスする際にuidを指定して除外できれば綺麗(要調査)

where句はresignedで既に使用しているためwhere('uid', !=, uid)みたいなことはできない

そうなるとservice層で除外することになりそうだが、hasNextの+1件取ってくるロジックと衝突しそう

mu-sukemu-suke

混乱してきたので手順の整理

  1. リクエストを送る
  2. repo層でlimitの件数分取得する
  3. service層で自ユーザーを除外する
  4. service層でpaginationの形式に変換してresolver層に返す

そうなるとservice層で除外することになりそうだが、hasNextの+1件取ってくるロジックと衝突しそう

ここを考える

mu-sukemu-suke

where('uid', !=, uid)

これで実装しようとしているが以下のようなエラーが出る

ERROR [ExceptionsHandler] 3 INVALID_ARGUMENT: inequality filter property and first sort order must be the same: uid and logined_at

同じプロパティでorderしなさいよって怒られる

このスクラップは2022/05/12にクローズされました