su-its / ams-backend

:briefcase: (This repository is no longer maintained) The backend server of our Access-management-system.
MIT License
0 stars 0 forks source link

入退室記録を範囲指定で取得するエンドポイントを追加 #76

Closed equal-l2 closed 3 years ago

equal-l2 commented 3 years ago

closes #75.

ghost commented 3 years ago

@equal-l2 追記:そもそもクエリにはヴァリデーションがない(本当は会ったほうが良いけど) の記載も 隠れた前提 になりかねないので、お願いします。

equal-l2 commented 3 years ago

@Stroheim001

いつからは設定せず、いつまでを設定した場合は、90日前から~指定した日付が取得される

これはOpenAPIのドキュメントのパラメータのデフォルト値に記載されています。 エンドポイント自体のdescriptionなどに書いた方がわかりやすければそうします。

クエリにはヴァリデーションがない

一応、YYYY-MM-DD形式の正常な日付以外では400とメッセージが返ってくるようにはなっています。 ただ、OpenAPIの方に記載がないことに気づいたので、その点は修正します。

他にvalidateすべきことがあれば言ってください。

ghost commented 3 years ago

@equal-l2 400でbad requrestになりますが、具体的にこれがアカン的な記載まで(エラーメッセージに)はありますか? (nuxtを経由するので、あり得ない話ではあるのですが念のため...)

equal-l2 commented 3 years ago

@Stroheim001 現状だと、例えばuntilがおかしい場合は以下のようなものが返ってきます。

{
  "message": "'until' is malformed"
}

つまり、どのパラメータがおかしいかは記載がありますが、具体的にどうおかしいかは記載がないです。 (「どうおかしいか」をやりだすと最終的に手動でパースすることになるので……)

ghost commented 3 years ago

@equal-l2 わかりました。こちらとしては、万が一、変なクエリを投げてエラったら、その箇所がおかしいという告知だけするようにしておきます。 恐らくそれ以上は投げたクエリの検証を再度やりだしてケースが無限大に増えてしまうので...

ghost commented 3 years ago

@equal-l2 ドキュメントうるさいおじさんなので、大変もうしわけないのですが、エラッたときのexampleもOpenAPIに記載しておくと、たぶんnuxt作る人が楽というかなんでstkはこんな設計にしたの、の意図が分かると思います。 絶対とはいいませんが...

equal-l2 commented 3 years ago

@Stroheim001 了解しました。すぐやります。

ghost commented 3 years ago

@equal-l2 ams-backend-nodejs.yml よくよく考えたらこの名前修正してないとなんか気持ち悪いねw

equal-l2 commented 3 years ago

@Stroheim001 ドキュメントの追記と一緒にやっておきました。

ghost commented 3 years ago

@equal-l2 お手数おかけしましたorz