83 Commits

Author SHA1 Message Date
saito.k
d2c2223acf Merged PR 497: strictNullChecks修正③(task,users ,Repositoriesのusers)
## 概要
[Task2837: 修正③(task,users ,Repositoriesのusers)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2837)

- feature
  - tasks
  - users
- Repositories
  - users

## レビューポイント
- 該当箇所にコメントで記載

## 動作確認状況
- ローカルでテストが通ることを確認

## 補足
- 相談、参考資料などがあれば
2023-10-16 10:25:45 +00:00
makabe.t
c9bc6393c6 Merged PR 490: ワークタイプ削除API実装
## 概要
[Task2611: ワークタイプ削除API実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2611)

- ワークタイプの削除APIとテストを実装しました。
※API IF部分は対象外です。

## レビューポイント
- リポジトリのエラーチェックに問題はないか
- テストケースは適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-10-16 09:39:01 +00:00
maruyama.t
00f4966aa9 Merged PR 470: [Sp-19]アカウント削除時に削除するテーブルについて、on delete cascadeではなくコード上で削除を行うよう修正する
## 概要
[Task2783: [Sp-19]アカウント削除時に削除するテーブルについて、on delete cascadeではなくコード上で削除を行うよう修正する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2783)

アカウント削除時に削除するテーブルについて、on delete cascadeではなくコード上で削除を行うよう修正
一部ユニットテスト用にutilityのcreateForeignKeyConstraints: falseに指定
LGTM後、すべてのテーブルのレコード削除の動作確認をDEV環境で実施します。

## レビューポイント
DBマイグレーションファイルが正しく修正されているか

## UIの変更
なし

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

## 補足
- 相談、参考資料などがあれば
2023-10-16 09:02:38 +00:00
oura.a
162470838d Merged PR 489: API作成(利用規約情報取得API)
## 概要
[Task2808: API作成(利用規約情報取得API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2808)

利用規約情報取得APIを作成しました。

## レビューポイント
なし

## UIの変更
なし

## 動作確認状況
UT、ローカルで動作確認済み

## 補足
なし
2023-10-13 06:36:57 +00:00
saito.k
370d143c2c Merged PR 473: strictNullCheckの対応を部分的に行う
## 概要
[Task2795: 部分的に修正を行う](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2795)

- strictNullChecks対応
  - features
    - template
    - workflow
  - gateways
    - adb2c
  - repositories
    - template
    - workflow

## レビューポイント
- entityの修正内容
  - nullを追加する項目はあってるか
- adb2cの環境変数を取得している箇所
  - getOrThrowで値が取得できなければエラーになる関数があったので使用しています。
![image.png](https://dev.azure.com/ODMSCloud/6023ff7b-d41c-4fa7-9c6f-f576ba48c07c/_apis/git/repositories/302da463-a2d7-40f9-b2bb-6e8edf324fa9/pullRequests/473/attachments/image.png)

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

## 動作確認状況
- ローカルでテストが通ることを確認

## 補足
- 相談、参考資料などがあれば
2023-10-13 04:07:18 +00:00
oura.a
274292c389 Merged PR 477: API修正(トークン生成API)
## 概要
[Task2800: API修正(トークン生成API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2800)

既存のトークン生成APIに、利用規約バージョンのチェック処理を追加しました。
また、チェック処理で同意済みバージョンが最新でないときのエラー時にログアウトしないような処理を追加しました。

## レビューポイント
なし

## UIの変更
なし

## 動作確認状況
UT,ローカルでの動作確認済み

## 補足
なし
2023-10-12 08:59:36 +00:00
oura.a
0e57d0cb81 Merged PR 471: DBマイグレーション
## 概要
[Task2805: DBマイグレーション](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2805)

利用規約情報管理テーブルを作成しました。
ユーザーテーブル・ユーザー退避テーブルの同意済み利用規約バージョンカラムを、EULA、DPA用に分割しました。
また、ユーザーテーブルの変更に伴うソースコード修正を実施しました。

## レビューポイント
DB定義の認識が合っているか。

## UIの変更
なし

## 動作確認状況
migration up/downでの動作を確認
既存UTがすべて正常に動作することを確認

## 補足
なし
2023-10-10 04:59:57 +00:00
oura.a
aef6a35a7d Merged PR 466: [PBI1220残]退避テーブル対応(月の途中で退会したアカウントの集計対応)
## 概要
[Task2767: [PBI1220残]退避テーブル対応(月の途中で退会したアカウントの集計対応)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2767)

アカウント削除時に以下のテーブルの削除対象データを退避する処理を追加しました。
・ライセンステーブル
・ライセンス割り当て履歴テーブル

## レビューポイント
なし

## UIの変更
なし

## 動作確認状況
UT,ローカル動作確認を実施済み

## 補足
なし
2023-10-06 06:04:11 +00:00
makabe.t
f70e266e85 Merged PR 465: API実装(ワークフロー更新API)
## 概要
[Task2776: API実装(ワークフロー更新API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2776)

- ワークフロー編集APIとテストを実装しました。

## レビューポイント
- リポジトリでのチェック処理は適切か
- テストケースは適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-10-06 00:10:47 +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
maruyama.t
a8bacefc5f Merged PR 461: APIテスト実施
## 概要
[Task2672: APIテスト実施](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2672)

- 元PBI or タスクへのリンク(内容・目的などはそちらにあるはず)
- 何をどう変更したか、追加したライブラリなど
- このPull Requestでの対象/対象外
詳細なレコード(ライセンス、タスク、ユーザーグループなど)は別途dev動作確認にてデータを用意して行います。
現時点では、各レコードの削除はMySQL用にmigrationファイルにて記述したON DELETE CASCADEの機能にて削除を行う為、SQLiteを用いた本ユニットテストでは動作確認対象外としています。
- 影響範囲(他の機能にも影響があるか)
entityの定義(accounts - users)のON DELETE CASCADEを明記

## レビューポイント
- 本ユニットテストは正常系の動作確認と、それぞれのservice内部で異常発生時もAPI自体は正常終了し、[MANUAL_RECOVERY_REQUIRED]ログが表示されることの確認を主な目的として実装しています。

## UIの変更
なし

## 動作確認状況
- ローカルで確認(ユニットテスト)

## 補足
- 相談、参考資料などがあれば
2023-10-05 08:16:00 +00:00
makabe.t
c4c2038e6e Merged PR 458: ワークフロー追加API実装
## 概要
[Task2739: ワークフロー追加API実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2739)

- ワークフロー追加APIとテストを実装しました。

## レビューポイント
- リポジトリのチェックロジックは適切か
- テストケースは適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-10-05 00:20:42 +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
879169c3c7 Merged PR 450: ワークフローAPI IF実装
## 概要
[Task2737: ワークフローAPI IF実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2737)

- Workflow関連で以下のAPIIFを実装し、OpenAPIを更新しました。
  - ワークフロー一覧取得API
  - ワークフロー追加API
  - Author一覧取得API

## レビューポイント
- パラメータは想定通りか
- バリデーションは適切か
- パスは適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-09-28 10:06:51 +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
f994c23b51 Merged PR 432: API実装(テンプレートファイルアップロード先取得API)
## 概要
[Task2654: API実装(テンプレートファイルアップロード先取得API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2654)

- テンプレートファイルアップロード先取得APIとテストを実装しました。
  - フォルダパス+SASトークンの形式で返却する。

## レビューポイント
- 返却URLは適切か
- BlobServiceでSASトークン発行を既存のメソッドとは別で用意したが構成は適切か
- UT用にBlobServiceのoverrideにメソッドを追加したが問題ないか。
- テストケースは適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-09-25 05:45:29 +00:00
makabe.t
f928aa4fd2 Merged PR 424: API実装(テンプレートファイル一覧取得API)
## 概要
[Task2650: API実装(テンプレートファイル一覧取得API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2650)

- テンプレートファイル一覧取得APIとテストを実装しました。

## レビューポイント
- サービスの配置、リポジトリの呼び出しは適切か
- テストケースは適切か
- テスト用にtemplates配下にテンプレートファイル追加関数を追加したが適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-09-21 08:30:21 +00:00
maruyama.t
3f5f75a48f Merged PR 403: API実装(アカウント設定API)
## 概要
[Task2603: API実装(アカウント設定API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2603)

- 元PBI or タスクへのリンク(内容・目的などはそちらにあるはず)
- 何をどう変更したか、追加したライブラリなど
getDealerAccountという一階層上のアカウントを取得する共通的なAPIも実装しています。

- このPull Requestでの対象/対象外
- 影響範囲(他の機能にも影響があるか)
なし

## レビューポイント
- 実行中にdealerアカウントに対して変更が走った場合でも対応できるよう、トランザクションをネストした実装にしています。
トランザクションをネストした場合は、内部のトランザクションが正常に完了し、その後外部のトランザクションも正常に完了すると、変更がコミットされます。
- 画面の仕様上、第五階層でないとdealerの変更は行わないが、API側でdelegationPermissionに対する階層(不整合チェック)をやっていないが、問題ないか。
## UIの変更
- Before/Afterのスクショなど
- スクショ置き場
なし

## 動作確認状況
- ローカルで確認
第五階層以外がアカウント情報を設定できる
アカウント情報を更新する(第五階層が実行/セカンダリ管理者ユーザがnull)
・プライマリ管理者ユーザを存在する値にして、更新される
・セカンダリ管理者ユーザをundefinedで入力し、nullで更新される
アカウント情報を更新する(第五階層以外が実行)
アカウント情報を更新する(ディーラーアカウントが未入力)
・parentAccountIdがnullで更新される
アカウント情報の更新に失敗する(ディーラー未存在)
アカウント情報の更新に失敗する(プライマリ管理者ユーザ未存在)
アカウント情報の更新に失敗する(プライマリ管理者ユーザがnull)
アカウント情報の更新に失敗する(セカンダリ管理者ユーザ未存在)
アカウント情報の更新に失敗する(プライマリ管理者ユーザ、セカンダリ管理者ユーザ両方が未入力)
以下POSTMANで確認
プライマリ管理者ユーザIDをundefinedで入力した場合はエラー
管理者権限のないアカウントで実行した場合、権限エラー
500エラー
## 補足
- 相談、参考資料などがあれば
2023-09-19 07:12:58 +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
2dcb1c1f84 Merged PR 396: API実装(オプションアイテム取得)
## 概要
[Task2592: API実装(オプションアイテム取得)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2592)

- オプションアイテム取得APIとテストを実装しました。

## レビューポイント
- リポジトリの取得ロジックは想定通りか
- テストケースは適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-09-11 08:31:03 +00:00
oura.a
2812bc3d20 Merged PR 383: API実装(パートナー取得API)
## 概要
[Task2540: API実装(パートナー取得API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2540)

パートナー取得APIを実装しました。

## レビューポイント
・データ取得方法が適切かどうか。
以下の優先順位を意識して作成したが適切か?また、意識できていない実装になっていないか?
①QueryBuilderを使用せずに処理する
②RDB、adb2cへのアクセス回数を最小限にする

## UIの変更
なし
## 動作確認状況
ローカルで動作確認済み、UT実施済み

## 補足
プライマリ、セカンダリ管理者IDがない場合のテストはUTでは実装せず、ローカルでの動作確認で正常に動作することを確認しました。
(プライマリ、セカンダリ管理者IDを指定してアカウントを作成するテストユーティリティを作成する必要があるが、あまり汎用的には思えず作成する手間が惜しかったため)
2023-09-08 09:45:10 +00:00
makabe.t
6cba76fa61 Merged PR 385: ワークタイプ更新API実装
## 概要
[Task2569: ワークタイプ更新API実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2569)

- worktypeID更新APIとテストを実装しました。

## レビューポイント
- リポジトリの更新処理に問題はないか
- テストケースは適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-09-07 00:53:30 +00:00
saito.k
b9a2d9b6b4 redis周りの修正をもとに戻す 2023-09-05 15:28:43 +09:00
saito.k
7c946686b7 Merged PR 289: ローカルでRedisコンテナに接続する
## 概要
[Task2312: ローカルでRedisコンテナに接続する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2312)

- 元PBI or タスクへのリンク(内容・目的などはそちらにあるはず)
- 何をどう変更したか、追加したライブラリなど
- このPull Requestでの対象/対象外
- 影響範囲(他の機能にも影響があるか)

## レビューポイント
- 特にレビューしてほしい箇所
- 軽微なものや自明なものは記載不要
- 修正範囲が大きい場合などに記載
- 全体的にや仕様を満たしているか等は本当に必要な時のみ記載

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

## 動作確認状況
- ローカルで確認、develop環境で確認など

## 補足
- 相談、参考資料などがあれば
2023-09-05 05:52:49 +00:00
maruyama.t
7524abbae6 Merged PR 378: API実装(ライセンス発行キャンセルAPI)
## 概要
[Task2498: API実装(ライセンス発行キャンセルAPI)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2498)

- 元PBI or タスクへのリンク(内容・目的などはそちらにあるはず)
- 何をどう変更したか、追加したライブラリなど
ライセンス発行をキャンセルするAPIを実装
下位のアカウント情報と、上位のアカウント情報をセットすると、パートナー関係であるかを返す関数を追加
既存のユニットテストのライセンス作成箇所で、注文ID、削除日時、削除注文IDを指定できるように修正
- このPull Requestでの対象/対象外
- 影響範囲(他の機能にも影響があるか)
既存ユニットテストのライセンス作成部分

## レビューポイント
- 特にレビューしてほしい箇所
パートナー関係かどうかを返す箇所、共通的に使いやすいかどうか
14日より経過していた場合の箇所、ライセンスの有効期限の定数を使っているが分けたほうが良いか
## UIの変更
- Before/Afterのスクショなど
- スクショ置き場

## 動作確認状況
- ローカルで確認
■正常系
ライセンス発行のキャンセルが完了できる(第一階層で実行)
ライセンス発行のキャンセルが完了できる(第二階層で実行)
キャンセルした発行の注文状態が発行待ちに戻る
発行されたライセンスは物理削除される
論理削除されていたライセンスは未割当で、削除前の状態に戻る
■異常系
第一、第二階層以外で実行した場合はエラー
キャンセル対象の発行が存在しない場合エラー
キャンセル対象の発行が14日より経過していた場合はエラー
キャンセル対象の発行のライセンスが使われていた場合はエラー
自身のパートナー以外の発行をキャンセルしようとした場合、エラー

## 補足
- 相談、参考資料などがあれば
2023-09-05 05:17:47 +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
makabe.t
2da40e278b Merged PR 371: API実装
## 概要
[Task2505: API実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2505)

- ワークタイプ一覧取得APIとテストを実装しました。
  - ワークタイプテーブルのリポジトリも実装しています。

## レビューポイント
- リポジトリの実装に問題はないか
- テスト実装に不足はないか

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-09-01 00:24:01 +00:00
oura.a
cb7ba77bc3 Merged PR 362: API実装(ライセンス注文キャンセルAPI)
## 概要
[Task2484: API実装(ライセンス注文キャンセルAPI)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2484)

ライセンス注文キャンセルAPIを実装しました。

## レビューポイント
なし

## UIの変更
なし

## 動作確認状況
ローカルでUT、動作確認実施済み

## 補足
なし
2023-08-31 00:25:13 +00:00
makabe.t
5b1c3a0e99 Merged PR 361: API実装(TypistGroup取得API)
## 概要
[Task2461: API実装(TypistGroup取得API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2461)

- TypistGroup取得APIとテストを実装しました。

## レビューポイント
- DBからの取得ロジックに問題はないか
- テストケースは十分か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-08-29 06:25:15 +00:00
湯本 開
89751396bf Merged PR 354: テスト用関数を作成する(Sprint16)
## 概要
[Task2383: テスト用関数を作成する(Sprint16)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2383)

- WIPレビューで指摘された関数名等を修正
- 汎用関数で問題があった部分を修正
  - データ構築ミスしていた箇所を修正
  - DB的にnullableな所をテスト用関数でも省略できるよう修正
- 各種Account、User作成関数を汎用関数に置き換え

## レビューポイント
- 情報共有

## 動作確認状況
- npm run test 成功
2023-08-28 10:40:55 +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
oura.a
0fd1ff2b6a Merged PR 349: API実装(ライセンス割り当て解除API)
## 概要
[Task2450: API実装(ライセンス割り当て解除API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2450)

ライセンス割り当て解除APIを実装しました。

## レビューポイント
なし

## UIの変更
なし

## 動作確認状況
ローカルでUT、動作確認済み

## 補足
なし
2023-08-24 08:24:06 +00:00
saito.k
b8c2640719 Merged PR 335: API修正(アカウント登録)&テスト実装
## 概要
[Task2369: API修正(アカウント登録)&テスト実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2369)

- リカバリ処理を実装
- テスト追加

## レビューポイント
- テストケースは足りているか
- リカバリ処理を追加したが、漏れはないか

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

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

## 補足
- 相談、参考資料などがあれば
2023-08-21 09:21:04 +00:00
saito.k
76ed87d82a Merged PR 337: API修正(ユーザー追加)&テスト実装
## 概要
[Task2398: API修正(ユーザー追加)&テスト実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2398)

- ユーザー追加のリカバリ処理を実装
  - ADB2Cに追加したユーザー削除
  - DBに追加したユーザー削除

## レビューポイント
- リカバリ処理に不足はないか
- ログはこれでよいか
- テストケースはこれで足りているか
  - ADB2Cのユーザー削除:OK , DB上のユーザーは削除:NO のケースはいるか等

## UIの変更

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

## 補足
- 相談、参考資料などがあれば
2023-08-21 08:25:57 +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
湯本 開
ae88da1728 Merged PR 331: UnitTestユーティリティの内部的な仕組みを改善する
## 概要
[Task2418: UnitTestユーティリティの内部的な仕組みを改善する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2418)

- 上書きするメソッド名を型から取得するよう修正

## レビューポイント
- 修正内容として妥当か
- 懸念点がないか

## 動作確認状況
- npm run testで成功
2023-08-16 07:51:14 +00:00
湯本 開
924106d608 Merged PR 330: pipelineでテストが失敗する現象を修正する
## 概要
[Task2416: pipelineでテストが失敗する現象を修正する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2416)

- テストの仕組み改善によって、SendGridの上書き部分の挙動が変わっていたことに対する対処が漏れていたものに対処

## レビューポイント
- 情報共有
- 追加したSendMailの特別扱いは妥当であるか

## 動作確認状況
- npm run testで成功
2023-08-16 05:28:58 +00:00
湯本 開
704a5aafc2 Merged PR 327: テストを最新化(ユーザー追加)
## 概要
[Task2400: テストを最新化(ユーザー追加)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2400)

- 新規ユーザー追加のユニットテストをDBを利用するテストへ置き換え
- API呼び出しやRepository呼び出しをMockする仕組みを改善
  - オブジェクト全てを上書きするのではなく、特定のメソッドのみを上書きする形に修正
    - これにより、他のDBアクセスは正常にSQLiteへのアクセスが成功しつつ、特定のDBアクセスのみMockにできる

## レビューポイント
- テストケースは足りているか
- Mockする仕組みを改善したが、修正内容は問題ないか

## 動作確認状況
- npm run test で成功
2023-08-16 02:54:32 +00:00
湯本 開
415a76b6bf Merged PR 325: テストを最新化(アカウント登録)
## 概要
[Task2397: テストを最新化(アカウント登録)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2397)

- アカウント登録のテストを最新化(元が無かったので実質新規追加)
- テスト時、外部サービスへの依存をMockに差し替える際のモデルケースを追加
  - `Object.defineProperty` を使って強引にメンバ変数をMock用オブジェクトへ上書きする方式
- migrationとEntityの定義内容が食い違っていた部分をmigration側に合わせるよう修正
  - 実質的にEntityの属性指定は通常実行時には使われないと思われたため、部分的にはテスト用に修正(※意図はコメント済)

## レビューポイント
- テスト時、AdB2cServiceやSendGridService等のDB以外のサービスをMockに差し替えて動かしているが、この方式に問題や懸念点はなさそうか
  - 例えば、`/app/dictation_server/src/features/users/test/utility.ts` に定義されている `makeTestingModuleWithAdb2c` のように構築時にoverrideする形式が既にあるが、そちらの方式でやるべきでは? 等
  - 上記方式ではなく `Object.defineProperty` で良いのでは?という提案を行っているのは、以下の理由
     - モジュール構築時に指定する方法だと依存してるサービス数によっては構築時の指定パラメータが膨大になってしまう懸念がある(3~4個のサービスと連携している場合、`makeTestingModuleWithXXX(...)` の引数指定がえらいことになりそう)
     - `Object.defineProperty` 形式だとテストケース内で必要なサービスを1個1個上書きしていく事が可能なので、汎用関数として切り出して各Serviceで利用できる
- 現状のテストケースとして妥当か
  - 例: SendGridの送信に失敗した場合は最終的にはリカバリを行う実装が入るが、現段階ではリカバリ処理がないためテスト記述なし
- Entityの属性を修正したが問題なさそうか、特にテスト用に指定した箇所があるが問題ないか

## 動作確認状況
- npm run testで成功
2023-08-14 06:52:13 +00:00
oura.a
356f5fe346 Merged PR 320: API実装(ライセンス割り当てAPI)_履歴以外
## 概要
[Task2362: API実装(ライセンス割り当てAPI)_履歴以外](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2362)

ライセンス割り当てのAPIを作成しました。
※ライセンス割り当て履歴テーブルが絡む処理は別タスクでの対応となるので、ここでは未実装です。

## レビューポイント
なし

## UIの変更
なし

## 動作確認状況
ローカルでUT、動作確認実施済み

## 補足
なし
2023-08-10 08:26:44 +00:00
maruyama.t
01d20df628 Merged PR 310: API実装(ライセンス発行API)
## 概要
[Task2341: API実装(ライセンス発行API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2341)

- 元PBI or タスクへのリンク(内容・目的などはそちらにあるはず)
- 何をどう変更したか、追加したライブラリなど
- このPull Requestでの対象/対象外
- 影響範囲(他の機能にも影響があるか)
既存のaccounts.service.spec.tsのテスト

## レビューポイント
- 特にレビューしてほしい箇所
第一階層の場合とそれ以外の処理の違い

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

## 動作確認状況
- ローカルで確認
①第一階層→第二階層から100件のライセンス注文を行い、ライセンス発行APIを呼び出し、
ライセンス注文テーブルの注文状態が発行済になることを確認。
ライセンステーブルが登録されることを確認。
DBの状態は、
第二階層のStock Licensesが100になることを確認。
登録・更新されたデータは処理単位で現在時刻が同じものであること
②第二階層→第三階層から90件のライセンス注文を行い、ライセンス発行APIを呼び出し、
ライセンス注文テーブルの注文状態が発行済になることを確認。
ライセンステーブルが登録されること(第三階層に対してUnAllocated)を確認。
ライセンステーブルが更新されること(第二階層に対してDeleted)を確認。
DBの状態は、
第二階層のStock Licensesが10になることを確認。
Deletedに更新されたライセンスについて、更新順がライセンスIDの順になっていることを確認。
第三階層のStock Licensesが90になることを確認。
登録・更新されたすべてのデータは、処理単位で現在時刻が同じものであることを確認。
③第五階層で呼び出した場合、エラーになることを確認。
④第4階層→第5階層に100件のライセンス注文を行い、ライセンス発行APIを呼び出し、
ライセンス数不足エラーとなることを確認。
⑤②で行ったライセンス発行APIを呼び出し、
ライセンス発行済みエラーとなることを確認。
⑥DBを起動していない状態で、ライセンス発行APIを呼び出し、
Internal Server Error 500が返却されることを確認。
## 補足
- 相談、参考資料などがあれば
2023-08-08 10:01:02 +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
makabe.t
794099f37d Merged PR 292: 外部連携APIにログを入れ込む(強化)
## 概要
[Task2294: 外部連携APIにログを入れ込む(強化)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2294)

- 外部連携APIのログを強化しました。
  - contextオブジェクトで操作者情報を渡すようにしています。
- ログポリシーに従って追加しています。
  - [ログポリシー](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_wiki/wikis/OMDSDictation_wiki/223/%E3%83%AD%E3%82%B0%E3%83%9D%E3%83%AA%E3%82%B7%E3%83%BC)

## レビューポイント
- 出力内容に過不足はないか
- ログ追加対象に過不足はないか。
- contextで操作者情報を渡しているが想定通りか

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-08-02 01:07:02 +00:00
makabe.t
c8ecc32b80 Merged PR 268: Typist割り当てAPIに通知処理を追加
## 概要
[Task2220: Typist割り当てAPIに通知処理を追加](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2220)

- タスクの割り当て候補変更APIに通知処理を追加しました。
  - 割り当てられたTypist全員を対象に通知を送るように実装しています。

## レビューポイント
- 対象となるユーザーは認識通りか
- 通知送信部分に問題はないか
  - tagは20個までのようなので分割して送信するようにしています。

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
  - テストが通ること
  - 割り当て変更が問題ないこと
2023-07-31 01:50:49 +00:00
湯本 開
63109d9857 Merged PR 261: B2C_1_PORC_stgが発行したIDトークンで認証が可能になるよう修正を行う
## 概要
[Task2271: B2C_1_PORC_stgが発行したIDトークンで認証が可能になるよう修正を行う](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2271)

- 型チェックからnonceを削除
- nonceを省略可能に型を修正

## レビューポイント
- 修正内容は問題ないか

## 動作確認状況
- テスト通過、型チェック通過
2023-07-24 05:50:38 +00:00
saito.k
e4ba5229df Merged PR 224: タスク中断API実装
## 概要
[Task2119: タスク中断API実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2119)

- タスク中断APIの処理を実装
- テスト実装
- チェックアウト処理のエラーチェックを修正
  - エラーが発生したときに何が原因なのかログに出力するように修正

## レビューポイント
- チェックインと同様の処理部分を切り出さずにそのまま実装したが、スマートに切り出せる方法はありそうか。
  - チェックインとサスペンドの取得処理だけ切り出してもあまりうれしくない(この2つ以外のところで使えなさそう)
    - キャンセルでは使えるかもだけど
  - チェックアウトやその他のメソッドのタスク取得とまとめようとすると、チェック内容や検索条件に差異がありきれいに切り出すことができなさそう。
    - まとめようとすると、引数が膨大でチェック項目も複雑になる

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

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

## 補足
- コンフリクトが発生しているが、現在のdevelopを取り込むとエラーになるので解消し次第、取り込んで競合解決します
- チェックインAPIの実装も入っていますが、そこは別のPRでレビューを行っているので対象外となります
2023-07-12 08:27:46 +00:00
saito.k
7be4da29bb Merged PR 219: タスクチェックインAPI実装
## 概要
[Task2118: タスクチェックインAPI実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2118)

- チェックインAPIの処理を実装
- テスト実装

## レビューポイント
- 文字起こし担当であるかどうかをチェックする方法についてどちらが良いか
  - チェックアウト権限テーブルで、タスクに紐づく割り当て候補を確認する(チェックアウトした時点で個人指定のみとなっているはず)
  - タスク情報にあるtypist_user_idで確認する
- テストケースは足りているか

## UIの変更

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

## 補足
- 相談、参考資料などがあれば
2023-07-12 02:57:53 +00:00
masaaki
9c0f457e9f Merged PR 220: [12-2]RoleGuradにTierに対するチェックを実装する
## 概要
[Task1951: [12-2]RoleGuradにTierに対するチェックを実装する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1951)

- 階層の指定について宣言的にできるように対応しました。
- 階層の定数について配列化しました。
(分かりやすさとroleguards側の実装しやすさのため)
- 使用していない宣言がいくつか見られたので、気づいた範囲で削除しました。
- 影響範囲(他の機能にも影響があるか)
 - これまで処理内で階層のチェックを行っていた箇所について、宣言的にチェックするよう修正しました。
  修正対象の洗い出しについては「補足」参照
 - 階層のみチェックする場合を考慮し、既存のrolesに対するチェックを任意指定にしています。
  これに伴い、rolesが指定されなかった場合を考慮して修正を行っています。

## レビューポイント
- 各コントローラを見ていただき、階層チェックのやり方について使いづらさがないか

## UIの変更
- 無し

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

## 補足
- 修正対象の洗い出しは以下の通り実施しています。
https://ndstokyo.sharepoint.com/:u:/r/sites/Piranha/Shared%20Documents/General/OMDS/%E3%83%A9%E3%83%95%E3%82%B9%E3%82%B1%E3%83%83%E3%83%81/PBI1189_%5B%E9%9A%8E%E5%B1%A4%E5%91%A8%E3%82%8A%E6%95%B4%E7%90%86%5D%E7%AC%AC%E4%B8%80%EF%BD%9E%E7%AC%AC%E5%9B%9B%E9%9A%8E%E5%B1%A4%E3%81%A8%E3%81%97%E3%81%A6%E3%80%81%E3%83%91%E3%83%BC%E3%83%88%E3%83%8A%E3%83%BC%E5%90%91%E3%81%91Web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AB%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%97%E3%81%9F%E3%81%84.drawio?csf=1&web=1&e=h3Sbf6
2023-07-12 02:06:16 +00:00