8 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
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
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
saito.k
8c3e1db63b Merged PR 185: API修正(チェックアウト候補変更)
## 概要
[Task2070: API修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2070)

- DBの検索条件を変更
  - ユーザーグループ検索
    - 同一アカウント内という条件を追加
      - ユーザーグループIDは画面側から渡されるが、そのIDが同じアカウント内のIDかわからないため
  - タイピストユーザー検索
    - 同一アカウント内でロールが`typist`という条件を追加
      - 画面側から渡されるユーザーIDが、同じアカウント内のIDかわからないため
      - 画面側から渡されるユーザーIDが、Typistであるかわからないため
  - タスク検索
    - 同一アカウント内という条件を追加
      - 渡される音声ファイルIDが同じアカウント内であるかわからないため
    - 自身のロールが`author`だった場合、AuthorIDが一致するタスクという条件を追加(管理者ロールがある場合は条件無し)

## レビューポイント
- 不要な条件追加ではないか
- ロールの型変換処理に問題はないか

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

## 動作確認状況
- ローカルで確認
## 補足
- 相談、参考資料などがあれば
2023-06-27 07:18:19 +00:00
Kentaro Fukunaga
42bc458632 Merged PR 155: API IF実装
## 概要
[Task1930: API IF実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1930)

- Typist一覧取得API、TypistGroup一覧取得API、チェックアウト候補変更APIの3本のAPIIFを実装しました。
- 既存のTask系APIで使用していた Typist クラスの名前をAssigneeに変更しました
- npm run formatでフォーマットした内容も含まれています。

## レビューポイント
- IFはラフスケッチで合意した内容に沿っているか
- 既存のTask系APIのTypistクラスの名前変更に関して、修正抜け漏れはないか
- チェックアウト候補変更APIのリクエスト/レスポンスのクラス名は適切か

## UIの変更
- なし

## 動作確認状況
- ローカルでPostmanにてAPIIFの値が返ることを確認しました

## 補足
- 特になし
2023-06-14 07:55:22 +00:00
makabe.t
1082a48fe9 Merged PR 139: 認証・認可を宣言的に扱える仕組みを既存処理に適用する
## 概要
[Task1830: 認証・認可を宣言的に扱える仕組みを既存処理に適用する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1830)

- 既存処理について、認証認可をガードで実施するよう以下のAPIに適用しました。
- ユーザー一覧
  -  GET /users
- ユーザー追加
  - POST /users/signup/
- 音声ファイルアップロード先取得
  - GET /files/audio/upload-location/
 - ライセンス注文
   - POST /licenses/orders
ロールガードのテストで定数を使うように修正

## レビューポイント
- 対応APIの抜け漏れはないか
- 対応内容に問題はないか
  - 付与権限
  - トークン内容取得

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-06-09 08:39:44 +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
湯本 開
6a8cfd5530 Merged PR 94: [Sp8-2で絶対着手] 認証・認可を宣言的に扱える仕組みの実装
## 概要
[Task1725: [Sp8-2で絶対着手] 認証・認可を宣言的に扱える仕組みの実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1725)

- 認証(アクセストークンが正しいか)の認証を `@UseGuards(AuthGuard)` をControllerに追加することで確認できる仕組みを追加
  - 実際の修正は別Task想定
- 権限チェック(アクセストークンに含まれる権限でAPI呼び出し可能か)のチェックを `@UseGuards(RoleGuards.configure({ ... }))` をControllerに追加することで確認できる仕組みを追加
  - 実際の修正は別Task想定
- 具体的な使い方はテスト、あるいはUsersControllerのGET /usersのコメントアウトされたコード参照
- 無駄に重複していたコードを共通化

## レビューポイント
- 使いやすそうか?
- この認証Guardsを使用して認証する時の懸念点はないか
- コードに問題はなさそうか
- テスト容易性のため、公開するべきでないメソッドを公開している事に対して納得できるか

## 動作確認状況
- ローカルで確認
2023-05-22 08:08:02 +00:00