43 Commits

Author SHA1 Message Date
makabe.t
f455cd6262 Merged PR 653: ユーザー情報変更完了通知 [U-115] の実装
## 概要
[Task3311: ユーザー情報変更完了通知 [U-115] の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3311)

- ユーザー情報変更時のメール通知を実装しました。

## レビューポイント
- メールの送信先に不自然な点はないでしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-12-22 08:39:11 +00:00
makabe.t
2f2e401ae5 Merged PR 647: ユーザー認証完了のお願い [U-114] の実装
## 概要
[Task3310: ユーザー認証完了のお願い [U-114] の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3310)

- ユーザー追加後の認証メール送信について正規のメール文面を出すようにしました。

## レビューポイント
- メールに渡す情報の取得内容で不自然な点はないでしょうか?
- メール送信処理に失敗した場合には仮登録したユーザーを削除する処理をそのままにしていますが問題ないでしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-12-22 08:23:01 +00:00
makabe.t
b2fef69ea9 Merged PR 635: アカウント登録完了通知 [U-101] の実装
## 概要
[Task3301: アカウント登録完了通知 [U-101] の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3301)

- アカウント登録完了(認証完了)後にメール送信をする機能を追加しました。
  - 合わせてテスト修正をしています。

## レビューポイント
- テンプレートの適用は適切でしょうか。
- テスト修正で対象Sendgridメソッドを上書きしていますが対応として不自然な点はないでしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-12-19 02:00:35 +00:00
saito.k
45b2cad30c Merged PR 624: クエリログに追跡用IDと実行日時を追加する(各作業まとめブランチ)
## 概要
[Task3309: 修正をまとめる用のブランチ](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3309)

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

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

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

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

## 補足
- 相談、参考資料などがあれば
2023-12-13 01:07:36 +00:00
saito.k
5ef222134e IPアドレス追加に伴う修正漏れ対応 2023-12-12 15:46:37 +09:00
saito.k
f1583cf783 Merged PR 611: 操作を特定できる文字列を追跡用のIDに追加する(IPアドレスもログに出力する)
## 概要
[Task3265: IPアドレスを追跡用のIDに追加する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3265)

- MiddlewareでUUIDを発行しリクエストのヘッダに追加する
- 各コントローラーではヘッダからUUIDとIPアドレスを取得する
  - 取得したUUIDとADB2Cの外部IDでトラッキングIDを作成する
  - 作成したトラッキングIDとIPアドレスの繋がりをログに出力する。

## レビューポイント
- ADB2Cの外部IDがない場合にUnauthorized Userという文字列を入れているがほかの表現のほうが良いか
  - 外部IDもオプショナルにして入れなくてもよくする?
-

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

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

## 補足
- 相談、参考資料などがあれば
2023-12-12 04:11:36 +00:00
maruyama.t
94f34a0fde Merged PR 606: 画面修正(Terms画面)
## 概要
[Task3210: 画面修正(Terms画面)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3210)
[Task3211:API修正(バージョン取得API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_sprints/taskboard/OMDSDictation%20%E3%83%81%E3%83%BC%E3%83%A0/OMDSDictation/%E3%82%B9%E3%83%97%E3%83%AA%E3%83%B3%E3%83%88%2023-1?workitem=3211)
[Task3212:API修正(バージョン更新API))](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_sprints/taskboard/OMDSDictation%20%E3%83%81%E3%83%BC%E3%83%A0/OMDSDictation/%E3%82%B9%E3%83%97%E3%83%AA%E3%83%B3%E3%83%88%2023-1?workitem=3212)

- このPull Requestでの対象/対象外
Click here to read the terms of use.の文言は多言語対応の対象のため、現在一律同じ文言がでます。
第一~第四階層は
上からEULA,PrivacyNotice,DPAが表示されています
第五階層は、
上から、PrivacyNotice,DPAが表示されています
- 影響範囲(他の機能にも影響があるか)
ユーザアーカイブテーブルにPrivacyNoticeのバージョンを追加

## レビューポイント
同意済みプライバシーポリシーはユーザーアーカイブの対象だと認識しているが正しいか。
termsテーブルのdocument_typeの値をPrivacyNoticeにしているが、PRIVACY_NOTICEにしたほうがよいか。
ユニットテストに不足はないか。

## UIの変更
- Before/Afterのスクショなど
- スクショ置き場
https://ndstokyo.sharepoint.com/sites/Piranha/Shared%20Documents/Forms/AllItems.aspx?csf=1&web=1&e=hzPw9b&cid=7737ed1b%2D0eb4%2D4331%2Da238%2D14dd35b27e18&FolderCTID=0x012000C0DCEE65AC2177479C3C761CD137C9C9&id=%2Fsites%2FPiranha%2FShared%20Documents%2FGeneral%2FOMDS%2F%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%2FTask3210&viewid=786a81cf%2Dd15f%2D4dc2%2D9e55%2Dc7a729fbc72f
## 動作確認状況
- ローカルで確認

## 補足
- 相談、参考資料などがあれば
2023-12-05 09:10:49 +00:00
水本 祐希
446b9365f2 Merged PR 584: エラーログが意図した通りに出ていないところがありそうな問題を解消する
## 概要
[Task2934: エラーログが意図した通りに出ていないところがありそうな問題を解消する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2934)

- 何をどう変更したか、追加したライブラリなど
error=Errorのログ表示をerror=××Error(エラーの原因)となるように実装

## レビューポイント
- 特にレビューしてほしい箇所
特になし

## 動作確認状況
- ユニットテスト

## 相談(必須レビュアーの方に)
今回の実装のみではまだ解消できていない箇所がいくつかみられました。
以下にその解消できなかったログをいくつかピックアップします。

ERROR [TasksService] error=Error: There is no AuthorId for the API executor.
ERROR [FilesService] error=Error: blob failed
ERROR [FilesService] error=Error: container not found.
ERROR [UsersService] error=Error: ADB2C error
ERROR [UsersService] error=Error: user not found
ERROR [UsersService] error=Error: sort criteria not found
ERROR [UsersService] error=Error: sort criteria not found
ERROR [UsersService] error=Error: The value stored in the DB is invalid.

原因としては、throw new ××Errorではなく、throw new Errorで実装されていました。
interface Error {
    name: string;
    message: string;
    stack?: string;
}

interface ErrorConstructor {
    new(message?: string): Error;
    (message?: string): Error;
    readonly prototype: Error;
}
上記の実装により返却されるメッセージがErrorになっているため解消されていないと考えています。

以上の事象について対応するかしないかということと、対応する場合は、どのように対応していくかをご意見いただきたいです。
本タスクで対応というよりも別タスクとして対応とMISOは想定しています。
2023-11-20 00:49:00 +00:00
水本 祐希
d7bb56af54 Merged PR 580: [Sp20]既存APIのログを強化(外部連携API以外)
## 概要
[Task2295: [Sp20]既存APIのログを強化(外部連携API以外)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2295)

- 何をどう変更したか、追加したライブラリなど
誰が操作したのかを追えるようにログを強化

## レビューポイント
- 特にレビューしてほしい箇所
特になし

## 動作確認状況
- ユニットテスト
2023-11-17 02:54:18 +00:00
makabe.t
ee161a405f Merged PR 560: ユーザー情報取得API実装
## 概要
[Task3036: ユーザー情報取得API実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3036)

- ユーザー関連情報取得APIのIFについてレスポンスを修正しています。
  - AuthorIDを非必須のパラメータにしています。
- ユーザー関連情報取得APIの中身を実装しました。

## レビューポイント
- オプションアイテムのタイプを定数に置いたDictionaryで数値に変換していますが、定数の置き方として不自然ではないでしょうか。

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-11-14 01:47:27 +00:00
maruyama.t
c283df9b0a Merged PR 521: API実装(ユーザ名取得API)
## 概要
[Task2924: API実装(ユーザ名取得API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2924)

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

## レビューポイント
ユーザー存在チェックを行う必要性はあるか?

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

## 補足
- 相談、参考資料などがあれば
2023-10-25 08:28:57 +00:00
saito.k
f553bfc95b Merged PR 501: strictNullChecks修正①(accounts,auth,Repositoiesのaccounts,common)
## 概要
[Task2835: 修正①(accounts,auth,Repositoiesのaccounts,common)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2835)

- features
  - accounts
  - auth
- common
- repositories
  - accounts
- 各entity
  - Nullableの項目の`@Column`デコレータに`type`を追加しないとTypeORMがエラーになりテストが通らないので追加
    - https://qiita.com/maruware/items/08c9ad594e14e4ea1497#%E5%95%8F%E9%A1%8C

## レビューポイント
- コメントとして記載

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

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

## 補足
- レビュー完了後、TODOコメント(strictNullChecks対応)は削除します
2023-10-19 07:13:56 +00:00
saito.k
96848f5e54 Merged PR 499: 修正②(files,licenses , Repositoiesのlicenses)
## 概要
[Task2836: 修正②(files,licenses , Repositoiesのlicenses)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2836)

- feature
  - files
  - licenses
- repositories
  - licenses
  - users
  - worktypes
- entity
  - licenses
  - audio_files
  - audio_option_item
  - checkout_permission
- アクセストークンをそのままService層に渡している箇所を修正し、必要なパラメータのみ渡すように修正
- クライアントの型生成
  - 割り当て可能ライセンス取得APIのIFが変わったため

## レビューポイント
-

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

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

## 補足
- 相談、参考資料などがあれば
2023-10-19 01:04:14 +00:00
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
oura.a
273ba588ce Merged PR 495: API作成(バージョン更新API)
## 概要
[Task2804: API作成(バージョン更新API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2804)

同意済み利用規約バージョン更新APIを実装しました。

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

## UIの変更
なし

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

## 補足
なし
2023-10-16 01:31:30 +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
湯本 開
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
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
5690b66e41 Merged PR 338: トライアルライセンスの期限が30日後になっていないので対応
## 概要
[Task2442: トライアルライセンスの期限が30日後になっていないので対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2442)

- トライアルライセンスの有効期限をライセンス割り当てと同様にDateのラップクラス内で設定するように修正しました。

## レビューポイント
- 修正内容は適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-08-21 06:24:53 +00:00
湯本 開
9803ba4e46 Merged PR 326: テストを最新化(パートナー追加)
## 概要
[Task2401: テストを最新化(パートナー追加)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2401)

- DBテストに修正
- Utilityを追加
- 実装側の変数名やコメント等を修正
- テストに使用するメールアドレスを一般的に使用するべきドメインに修正
  - 参考:
    - https://zenn.dev/progfay/articles/email-example-com
    - https://qiita.com/suzutsuki0220/items/4ad83ed2e2adbb6507a4
- `Promise<void>` となっていた部分をテスト用に `Promise<{accountId: number}>` に修正
  - 返り値を使用しているのはテスト側のみ

## レビューポイント
- 将来的にBlobStorageやSendMailで失敗したケース等も必要だが、それは異常系実装タスク内でテストが追加される想定なので今回追加していないが認識は合っているか
- 各種修正に対して、疑問点や問題点はないか

## 動作確認状況
- npm run testで成功
2023-08-18 02: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
湯本 開
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
saito.k
86d11e7447 Merged PR 314: ユーザー確認API修正
## 概要
[Task2351: ユーザー確認API修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2351)

- アカウント登録後のユーザー検証時に、トライアルライセンスを作成する処理を追加
- テスト修正

## レビューポイント
- トライアルライセンスの有効期限の設定はこれでよいか
- トライアルライセンスの登録内容は正しいか
- テストケースは足りているか、確認するパラメータに不足はないか

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

## 補足
- `npm run format`で複数ファイルが更新されていますが、修正を加えたのは以下のファイルです。
  - /dictation_server/src/constants/index.ts
  - /dictation_server/src/features/users配下のファイル
  - /dictation_server/src/repositories/users/users.repository.service.ts
2023-08-16 02:13:10 +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
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
6a2d2eabde Merged PR 298: ユーザー一覧修正(API・画面)
## 概要
[Task2318: ユーザー追加・一覧修正(API・画面)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2318)

- API
  - ユーザー一覧取得APIのレスポンスにUserIDを追加
  - OpenAPI生成

- 画面
  - コード自動生成
  - storeにidを含めたユーザー一覧情報を格納する

## レビューポイント
- 修正内容に認識違いはないか

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

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

## 補足
- ユーザー追加については別タスクで対応
2023-08-03 00:51:03 +00:00
makabe.t
7ac578d4cc Merged PR 280: ユーザー一覧API修正
## 概要
[Task2231: ユーザー一覧API修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2231)

- ユーザー一覧取得APIを修正しまし、テスト実装を修正しました。
  - グループ情報、ライセンス情報を一緒に取得するよう修正
  - ADB2Cからのユーザー取得を一括取得に修正
※ユーザー以外のテスト変更はユーザーテーブルのスキーム変更に伴うものです。

## レビューポイント
- 取得内容に問題はないか
  - グループとライセンスはDBからリレーションで一緒に取得しているが処理的に問題はないか
  - ADB2Cからのメールアドレス取得のためにidentitiesパラメータを追加したが問題はないか
- テスト項目に問題はないか

## UIの変更
なし

## 動作確認状況
- ローカルで確認
2023-07-31 08:24:51 +00:00
makabe.t
386cee3bca Merged PR 283: API IF修正
## 概要
[Task2306: API IF修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2306)

- ユーザー一覧取得のAPI IFで抜けていた修正を入れました。
  - TypistGroupNameを配列で持つよう修正
  - nullableをrequiredに変更

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

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-07-27 10:23:09 +00:00
makabe.t
d080bb74b3 Merged PR 279: ユーザー一覧API IF修正
## 概要
[Task2230: ユーザー一覧API IF修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2230)

- ユーザー一覧取得APIのIFを更新しました。
  - openapi.jsonを更新
  - サービスからの返却値をIFに合わせて仮の値を入れています。

## レビューポイント
- API IFの修正内容は認識通りか

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
  - Swagger
2023-07-27 08:11:56 +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
saito.k
0907bd28af Merged PR 138: SendGridService内のprivateキーの取得方法を修正する
## 概要
[Task1736: SendGridService内のprivateキーの取得方法を修正する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1736)

- CryptoServiceの削除
- トークン発行・認証に使用するKeyを環境変数から取得するように修正
- 既存テストの修正

## レビューポイント
- Keyの取得関数の配置場所は妥当か

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

## 動作確認状況
- ローカルでテストが通ることを確認
- keyを使う処理(ユーザー追加)を実行して、成功することを確認

## 補足
- 修正した箇所のロールチェックはレビュー対象外
  - 「タスク 1830: 認証・認可を宣言的に扱える仕組みを既存処理に適用する」で調整してもらう想定
2023-06-09 05:35:39 +00:00
saito.k
942ac30d8f Merged PR 136: API実装(ソート条件取得API)
## 概要
[Task1923: API実装(ソート条件取得API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1923)

- ソート条件取得APIを実装
- テスト追加

## レビューポイント
- ソート条件取得APIのレスポンスのデータは足りているか

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

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

## 補足
- 相談、参考資料などがあれば
2023-06-07 09:21:20 +00:00
saito.k
9441049201 Merged PR 134: API修正(IF)
## 概要
[Task1922: API修正(IF)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1922)

- タスク取得APIの引数を修正
  - directionとparamNameを追加
- 定数を文字列配列からオブジェクトに変更

## レビューポイント
- 引数の型を自作のものに修正したが問題ないか。
  - Pull Request 128: API実装(ソート条件変更)で議論中

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

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

## 補足
- 相談、参考資料などがあれば
2023-06-07 07:45:30 +00:00
saito.k
d5e5e59f8c Merged PR 128: API実装(ソート条件変更)
## 概要
[Task1835: API実装(ソート条件変更)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1835)

- ソート条件変更APIを実装
  - トークンからB2CのIDを取得→userテーブルからユーザー情報を取得
  - ユーザーIDでソート条件テーブルを検索→レコードを更新
- ソート条件テーブルにレコードを作成する
  - アカウント作成時の処理にソート条件レコードを作成する処理を追加
  - ユーザー追加時にも処理を追加
- テスト修正

## レビューポイント
- APIの引数をチェックする関数をControllerに配置してもよいか
- ソート条件のレコードを作成するタイミングに漏れはないか
- 実装漏れはないか

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

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

## 補足
- 相談、参考資料などがあれば
2023-06-06 08:20:21 +00:00
oura.a
4ec3d7c51f Merged PR 114: [MISOチーム] ユーザ追加時のAuthorIDの重複チェックがエラーの場合にAzureにアカウント追加しないよう修正する
## 概要
[Task1765: [MISOチーム] ユーザ追加時のAuthorIDの重複チェックがエラーの場合にAzureにアカウント追加しないよう修正する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1765)

タスク 1765: [MISOチーム] ユーザ追加時のAuthorIDの重複チェックがエラーの場合にAzureにアカウント追加しないよう修正する
・ユーザ追加時、Azureへのユーザ登録前に同一アカウント内のAuthorIDの重複チェックを追加。

## レビューポイント
処理に問題がないか。

## UIの変更
なし

## 動作確認状況
ローカルでユーザ追加APIを実行し、同一AuthorIDの際にエラーが出ることを確認。

## 補足
なし
2023-05-25 06:54:50 +00:00
saito.k
b91d260015 Merged PR 93: [WIP]API実装
## 概要
[Task1630: API実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1630)

- アップロード先取得APIの実行権限をチェックするためにアクセストークンに権限情報とロール情報を追加する
- ログイン時に発行しているトークンにパラメータを追加
  - role
    - ユーザーのrole情報(typist/author)
  - scope
    - 管理者権限があるか (admin/空文字)

- トークン発行前にDBからユーザーの情報を取得する処理を追加
- ユーザーを取得するときにユーザーが属しているアカウントの情報も取得するようにentitiyを修正
- `findUserByExternalId`で実行されるSQL
```
SELECT
    `User`.`id` AS `User_id`,
    `User`.`external_id` AS `User_external_id`,
    `User`.`account_id` AS `User_account_id`,
    `User`.`role` AS `User_role`,
    `User`.`author_id` AS `User_author_id`,
    `User`.`accepted_terms_version` AS `User_accepted_terms_version`,
    `User`.`email_verified` AS `User_email_verified`,
    `User`.`deleted_at` AS `User_deleted_at`,
    `User`.`created_by` AS `User_created_by`,
    `User`.`created_at` AS `User_created_at`,
    `User`.`updated_by` AS `User_updated_by`,
    `User`.`updated_at` AS `User_updated_at`,
    `User__User_account`.`id` AS `User__User_account_id`,
    `User__User_account`.`parent_account_id` AS `User__User_account_parent_account_id`,
    `User__User_account`.`tier` AS `User__User_account_tier`,
    `User__User_account`.`country` AS `User__User_account_country`,
    `User__User_account`.`delegation_permission` AS `User__User_account_delegation_permission`,
    `User__User_account`.`locked` AS `User__User_account_locked`,
    `User__User_account`.`company_name` AS `User__User_account_company_name`,
    `User__User_account`.`verified` AS `User__User_account_verified`,
    `User__User_account`.`primary_admin_user_id` AS `User__User_account_primary_admin_user_id`,
    `User__User_account`.`secondary_admin_user_id` AS `User__User_account_secondary_admin_user_id`,
    `User__User_account`.`deleted_at` AS `User__User_account_deleted_at`,
    `User__User_account`.`created_by` AS `User__User_account_created_by`,
    `User__User_account`.`created_at` AS `User__User_account_created_at`,
    `User__User_account`.`updated_by` AS `User__User_account_updated_by`,
    `User__User_account`.`updated_at` AS `User__User_account_updated_at`
FROM
    `users` `User`
    LEFT JOIN `accounts` `User__User_account` ON `User__User_account`.`id` = `User`.`account_id`
WHERE
    ((`User`.`external_id` = ?))
    AND (`User`.`id` IN (?)) -- PARAMETERS: ["B2CのID","2"]

```

## レビューポイント
- 管理者権限の有無とロールは別の概念であるため、別のパラメータとして用意したが問題なさそうか
  - 他の案としてscopeの中に`typist , admin`のようにして、一つのパラメータで権限チェックする?
- DBから取得するデータとしてユーザーが属しているアカウント情報のすべてのカラムを取得するようにしているが、必要なカラムのみにしたほうが良いか?

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

## 動作確認状況
- 実行SQLを確認、JWTの内容を確認

## 補足
- 相談、参考資料などがあれば
2023-05-12 04:48:09 +00:00
x.sunamoto.k
3f7a9ed11a Merged PR 75: API実装(ユーザー一覧取得)
## 概要
[Task1592: API実装(ユーザー一覧取得)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1592)

- ユーザ一覧取得のAPIを実装
- アクセストークンにより権限を確認する
 - src/common/jwt/jwt.ts verifyAuthority([Task1593: API実装(ユーザー登録)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1593)で作成)を呼び出すため追って再修正します。(レビュー対象外です)
 - src/features/users/users.controller.ts getUsersから
  src/features/users/users.service.ts getUsersへ
- DBから同一アカウントのユーザ一覧を取得する
 - findSameAccountUsersを新規作成

- Azure AD B2Cからユーザーを取得してマージ
 - src/gateways/adb2c/adb2c.service.ts getUserを新規作成
 - マージはfor文でまわしています(力技)
- マージした結果を返却

- 影響範囲
 - usersテーブルの変更が入るときにマージ部分の手直しが要ります。(TODOを添えています)

## レビューポイント
- 新規に作成したfindSameAccountUsersの妥当性
- 新規に作成したgetUserの妥当性
→Azureからの返り値はsrc/common/token/types.tsに定義済。
 (Azure AD B2Cから取得できた項目で再定義)

## UIの変更
- 特になし

## 動作確認状況
- ローカルでビルド、テストを実行した後に動作を確認済。

## 補足
- ご不便をおかけしました。よろしくお願いします。
2023-05-12 01:27:19 +00:00
oura.a
e9af39bd47 Merged PR 71: API実装(ユーザー登録)
## 概要
[Task1593: API実装(ユーザー登録)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1593)

https://dev.azure.com/ODMSCloud/ODMS%20Cloud/_git/ODMS%20Cloud
users.controllerにアクセストークン取得処理を追加
users.serviceにユーザ追加処理を追加
user.entityにauto_renew、license_alert、notificationを追加
users.repository.serviceにユーザ追加・AuthorId検索処理を追加

## レビューポイント
処理の記載場所が適切かどうか
期待通りの処理になっているかどうか
テストコードの記載方法が正しいかどうか

## UIの変更
なし

## 動作確認状況
ローカルでのビルド・実行を確認

## 補足
テスト実装について不安要素があります。
・テストの粒度はこれでよいのでしょうか?
・テスト実行に40分かかってしまうのですが実装方法を間違えている箇所がありそうでしょうか?
2023-05-11 09:05:54 +00:00
maruyama.t
d297301212 Merged PR 82: API実装(メール認証)
## 概要
[Task1594: API実装(メール認証)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1594)

- メール認証APIを作成
- src/api/common/にpasswordを追加(ランダムパスワード発行ロジック)
- src/fuatures/gateway/adb2c.service.tsにユーザのパスワードを変更するメソッドchangePasswordを追加
- user.service.spec.tsにメール認証と仮パスワード発行のテストケースを追加
- 影響範囲
(user.service.spec.tsで行っていた既存のテストケース)

## レビューポイント
- commonにpasswordを追加したが、配置として適切かどうか
- user.service.tsのエラー発生時のロジックが十分であるか

## 動作確認状況
- ローカルで確認
2023-05-11 07:45:30 +00:00
makabe.t
bd4aaa8ae1 Merged PR 63: API実装(メール認証)
## 概要
[Task1497: API実装(メール認証)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1497)

- メール認証APIとテストを実装しました。

- IDトークンの型を現状と合わせて修正しました
  - `family_name`と`given_name`を削除しました。
- auth.serviceのテストも併せて修正しました。
  - テストケースのIDトークンを環境変数の鍵で生成するように修正しました。

## レビューポイント
- DBのユーザを検証済みにする処理について、トランザクション内で取得と更新をしていますがトランザクションの使い方として問題ないでしょうか?
- 本APIで使用するカスタムエラーを`common/error/types`に暫定的においていますがどこに配置するのが適切でしょうか?
  - `common/error/types`に配置する、もしくは`common`配下にカスタムエラー用のフォルダを作成してその下に配置するのが良いかと考えています。
- テストのモックでエラーを発生させる際に、テストケース内でエラーを設定していますがモックファイル内でエラー用のモックを設定するべきでしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
  - テストが通ることを確認
2023-04-10 04:44:16 +00:00
湯本 開
dfd9abc1c3 Merged PR 54: API実装(I/F)
## 概要
[Task1494: API実装(I/F)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1494)

- POST /accounts のAPIを実装
- POST /users/confirm のAPIを実装
- 上記APIからopenapiを実装

## レビューポイント
- ラフスケッチ時から変更になった箇所があるが問題ないか
  - ディーラーIDは省略可能かつIDを指定するべきなのでnumber?に型を変更
  - 管理者ユーザー用に同意済み利用規約バージョンを受け付けるようにした
  - reCAPTCHAを想定して事前にreCAPTCHA用トークンを受け付けるようにした

## 動作確認状況
- openapiが生成されることを確認
2023-03-23 07:56:18 +00:00