14 Commits

Author SHA1 Message Date
makabe.t
8a2ca2b786 Merged PR 519: 代行操作で使用するAPIのガード修正+ログ修正
## 概要
[Task2907: 代行操作で使用するAPIのガード修正+ログ修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2907)

- 代行操作するAPIについてガードに代行操作許可の設定を追加しました。
  - ガードの引数で設定したAPIだけが代行操作許可となるように設定しています。
- APIのバリデーションで意図せぬエラーが発生する問題に対処しました。

※ログは未適用なのでガードの設定だけ確認をお願いします。

## レビューポイント
- ガードを設定する対象は適切か
- ガード内での代行操作許可のロジックはホワイトリスト形式の実装として適切か
  - アクセストークンが代行操作用の(代行操作ユーザーIDがある)場合には、ガードで代行操作が許可されているかをチェックするようにしています。

※ログの代行操作への適用は未実装です。

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-11-07 08:41:47 +00:00
湯本 開
83add51148 Merged PR 538: Azure AD B2Cの結果をCacheManagerにキャッシュするよう修正
## 概要
[Task2967: Azure AD B2Cの結果をCacheManagerにキャッシュするよう修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2967)

- キャッシュを扱うRedisServiceを追加
- AdB2cServiceでRedisServiceを使って結果をキャッシュする実装を追加
- ADB2Cの呼び出しと、キャッシュからの取得が行われた時にログを出す実装を追加
  - Azure Monitorで呼び出しコストでアラート出したくなった時のための予防的追加
- 開発環境でローカルのredisを操作する用途のredis-cliをインストールする設定を追加&スクリプトを追加
- `getUser` と `getUsers` の返り値の方を統一 & 使用されなくなった方の型を削除
- AdB2Cの`ttl` に設定する用の値を環境変数に追加
  - 今後実装予定のトークンのキャッシュとはTTLを別にしたかったため
- 複数ユーザー削除処理内でのindex処理が不適切と思われる箇所があったので修正

## レビューポイント
- **Redisへのget/set/delが失敗した際に、エラーログだけ出して成功 or 取得対象なしと同様の動作をするように作成したが、問題なさそうか**
    - これは速度向上用のキャッシュが死んでいても業務は動くべきではないか、という考えによるもの
    - 通信できない=障害中であると想定されるので、失敗しても良いような気もするので相談
- **AdB2cService内でキャッシュを扱う箇所のコードの可読性に問題はないか**
    - 更にWrapしてキャッシュの具体的な動きを隠蔽することも考えたが、詳細なエラーの制御をしづらくなりそうだったので具体的な引数の変換等以上のことはしない形で実装
    - AdB2cServiceが十分に末端の処理なので詳細な処理を生で書いていても認知負荷はそう変わらない可能性がある
- **キャッシュする値の性質によってTTLを変えられる仕組みを前提に設計・実装したが、懸念点はないか**
- **TTLに設定する値は妥当そうか**
- **`Aadb2cUser` を削除したが問題ないか**
- **`deleteUsers` 内のログ処理の変更は適切か**
    - to 岩田さん

## 動作確認状況
- ローカルで確認
- npm run testが通過することを確認
2023-10-31 03:45:31 +00:00
makabe.t
983726eaf3 Merged PR 467: API IF実装
## 概要
[Task2784: API IF実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2784)

- ワークフロー削除APIのIFを実装しOpenAPI定義を更新しました。
- アプリで使用しない環境変数を削除し、チェック対象から外しました。
  - `KEY_VAULT_NAME`

## レビューポイント
- APIのパスは適切か
- 対応する環境変数は足りているか

## UIの変更
- なし
## 動作確認状況
- ローカルで確認
2023-10-05 09:41:20 +00:00
makabe.t
3e0c483b57 Merged PR 456: NestJSの環境変数を整理してバリデーションを修正
## 概要
[Task2769: NestJSの環境変数を整理してバリデーションを修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2769)

- 非必須の環境変数をチェックしないようにオプショナルを修正しました
- ローカルでのDBマイグレーションに必要なため、コンテナ起動時の`.env`ファイル読み込みを追加しました。
- 環境変数についてDB関連項目を残し、すべて`.env.local`に移動しました。

## レビューポイント
- 環境変数に対するチェックのオプショナル設定は適切か
- 環境変数をlocalに移動させたが問題ないか。

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
## 補足
- 不足している環境変数についてレビュー完了後にAppService、Wikiを整備しておきます。
2023-10-02 07:13:34 +00:00
makabe.t
ded673ec74 Merged PR 448: NestJSの環境変数をバリデータでチェックする
## 概要
[Task2729: NestJSの環境変数をバリデータでチェックする](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2729)

- 環境変数のバリデータを実装しました。
  - 起動時にバリデータのチェックに失敗したらエラーとなるようにしています。

## レビューポイント
- チェック対象の環境変数は適切か
  - チェック内容は適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認

## 補足
- 参考:[環境変数をバリデーションしたい](https://zenn.dev/waddy/articles/nestjs-configuration-service#5.-%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0%E3%82%92%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%97%E3%81%9F%E3%81%84)
2023-09-28 07:18:09 +00:00
makabe.t
3e12721a92 Merged PR 398: API実装(オプションアイテム更新)
## 概要
[Task2593: API実装(オプションアイテム更新)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2593)

- オプションアイテム更新APIとテストを実装しました。
  - オプションアイテムのバリデータを追加しています。

## レビューポイント
- オプションアイテムのパラメータチェック用バリデータは適切か
- テストケースは適切か
- リポジトリの更新処理に問題はないか

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-09-12 08:52:12 +00:00
makabe.t
0b7d979fae Merged PR 375: API実装(ワークタイプID追加API)
## 概要
[Task2516: API実装(ワークタイプID追加API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2516)

- ワークタイプ追加APIとテストを実装しました。
  - オプションアイテムも一緒に追加されるように実装しています。
  - ワークタイプの制限のためにカスタムバリデータを実装しています。

## レビューポイント
- 追加時のエラー処理は適切か
- バリデータは適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-09-04 07:08:19 +00:00
oura.a
f56f95123b Merged PR 376: [Sp17完了MISO]バリデータをクラスを使用した記述に統一する
## 概要
[Task2502: [Sp17完了MISO]バリデータをクラスを使用した記述に統一する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2502)

バリデータの記述方法をクラスで外だしする形に統一しました。
また、未使用の引数を削除しました。

## レビューポイント
期待通りの修正内容であるか。
未使用の引数を削除してしまったが、問題ないか。

## UIの変更
なし

## 動作確認状況
ローカルで該当バリデーションを使用しているAPIを実行し、動作を確認済み

## 補足
なし
2023-09-01 09:12:52 +00:00
saito.k
d5c756184b Merged PR 352: API実装(TypistGroup追加API)
## 概要
[Task2428: API実装(TypistGroup追加API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2428)

- IFを修正
  - typistIdsの要素が数値であることをOpenAPIに明記する
  - typistIdsのチェックバリデータを追加・修正
- entity修正
- typistGuroup作成処理を実装
- テスト作成

## レビューポイント
- テストケースは足りているか
- entityの修正に問題はないか
- typistIdsのチェック処理で漏れているものはないか

## UIの変更
- Before/Afterのスクショなど
- スクショ置き場

## 動作確認状況
- ローカルで確認

## 補足
- 相談、参考資料などがあれば
2023-08-25 07:11:09 +00:00
makabe.t
ad969bd2cf Merged PR 323: アカウント登録APIを修正
## 概要
[Task2353: アカウント登録APIを修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2353)

- アカウント登録時にコンテナを作成するように修正
- ログ追加
- リクエストのバリデータを追加

## レビューポイント
- 処理の流れに問題はないか
- テストケースに不足はないか
- バリデータに問題はないか

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-08-16 09:12:56 +00:00
saito.k
4565d59a51 Merged PR 301: ユーザー追加修正(API/画面)
## 概要
[Task2327: ユーザー追加修正(API/画面)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2327)

- ユーザー追加API
  - リクエストにencryption,encryptionPassword,promptを追加
  - リクエストからtypistGroupIdを削除
  - ロールに応じてDBに保存するデータを作成する処理を追加
  - リクエストパラメータのバリデーションチェックを追加
- ユーザー追加画面
  - TypistGroupの選択欄を削除
  - RoleがAuthorの場合、encryption,encryptionPassword,promptを追加

## レビューポイント
- 修正に不足はないか
- 画面のユーザー追加処理を引数を渡さずにstoreから取得するようにしたが問題ないか
- 画面に必要な値をまとめて取るようにしたが問題ないか
- デザインに差異はないか

## UIの変更
- https://ndstokyo.sharepoint.com/:f:/r/sites/Piranha/Shared%20Documents/General/OMDS/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/Task2327?csf=1&web=1&e=uvTYlb

## 動作確認状況
- ローカルで確認

## 補足
- 相談、参考資料などがあれば
2023-08-07 00:11:54 +00:00
makabe.t
338d6b88a9 Merged PR 299: ユーザー編集API実装
## 概要
[Task2317: ユーザー編集API実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2317)

- ユーザー編集APIとテストを実装しました。

## レビューポイント
- リポジトリでのチェックは適切か
- バリデータの適用は適切か
- テストケースは十分か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-08-04 05:39:33 +00:00
saito.k
6a1226c62e Merged PR 165: タイピスト割り当て変更API実装
## 概要
[Task1932: タイピスト割り当て変更API実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1932)

- タイピスト割り当て変更APIを実装
- テスト実装

## レビューポイント
- IFのバリデーションを実装したがチェック内容はこれでよさそうか
- DBのデータ取得・更新処理は問題ないか
  - DBへアクセスする回数は問題ない程度か
- パスパラメータのバリデーションは問題ないか

## UIの変更
- Before/Afterのスクショなど
- スクショ置き場

## 動作確認状況
- ローカルで確認(swaggerUI,Postman)

## 補足
- 別途sqliteを用いたテストを実装する予定
2023-06-23 04:04:01 +00:00
湯本 開
f5ce65add8 Merged PR 147: Task一覧APIのstatusの入力チェックを行うデコレータを実装する
## 概要
[Task1957: Task一覧APIのstatusの入力チェックを行うデコレータを実装する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1957)

- Statusに該当する文字列が `,` で連結されている場合のみバリデーション通過となるようなデコレータを実装

## レビューポイント
- 実装コストを考慮して汎用的な指定をできるようにしなかったが問題ないか
- 実装コードは妥当な実装になっているか

## 動作確認状況
- ローカルで確認
2023-06-12 05:26:26 +00:00