23 Commits

Author SHA1 Message Date
湯本 開
cfb7bdb4dc Merged PR 250: [Sp13-1完了]Todoを一斉駆逐する
## 概要
[Task1774: [Sp13-1完了]Todoを一斉駆逐する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1774)

- TODOコメントに修正予定Taskを追加
- cors関連の不要な実装を削除

## レビューポイント
- 作業方針は問題ないか
- client側は軽微なTODOのみだったので今回対処しなかったが問題ないか

## 動作確認状況
- テストとビルドが通ることを確認
2023-07-21 03:06:12 +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
makabe.t
6f92313e9a Merged PR 232: Typistの音声ファイル取得で失敗する件の調査・修正
## 概要
[Task2172: Typistの音声ファイル取得で失敗する件の調査・修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2172)

- 音声ファイルダウンロードURLの取得時にTypistの場合、音声ファイルが見つからない問題を修正しました。
  - ファイルパスを構築する際に実行ユーザーIDを材料にしていたのでTypistの場合が存在しないパスとなっていました。
  - ファイル所有者IDから構成するように修正しました。

## レビューポイント
- ファイルパスの作り方に問題はないか

## UIの変更
なし

## 動作確認状況
- ローカルで確認
2023-07-12 00:06:14 +00:00
oura.a
3584a65682 Merged PR 228: Revert "Merged PR 218: 画面実装(カードライセンス取り込みPU)
Revert "Merged PR 218: 画面実装(カードライセンス取り込みPU)

## 概要
[Task2161: 画面実装(カードライセンス取り込みPU)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2161)

タスク 2161: 画面実装(カードライセンス取り込みPU)
カードライセンス取り込みポップアップを実装しました。
以下の項目については別タスクへ切り出しての対応とし、本タスクでは対象外とさせてください。
・テキストボックスへの4文字区切りの入力
・テキストボックスの文字数制限
・改行コード入力時の挙動(バーコードリーダー対応)

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

## UIの変更
https://ndstokyo.sharepoint.com/:i:/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/Task2161/%E3%82%AB%E3%83%BC%E3%83%89%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E5%8F%96%E3%82%8A%E8%BE%BC%E3%81%BFPU.PNG?csf=1&web=1&e=cRtMX3

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

## 補足
なし"

Reverted commit `9a66ca02`.
2023-07-11 05:50:51 +00:00
oura.a
9a66ca027a Merged PR 218: 画面実装(カードライセンス取り込みPU)
## 概要
[Task2161: 画面実装(カードライセンス取り込みPU)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2161)

タスク 2161: 画面実装(カードライセンス取り込みPU)
カードライセンス取り込みポップアップを実装しました。
以下の項目については別タスクへ切り出しての対応とし、本タスクでは対象外とさせてください。
・テキストボックスへの4文字区切りの入力
・テキストボックスの文字数制限
・改行コード入力時の挙動(バーコードリーダー対応)

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

## UIの変更
https://ndstokyo.sharepoint.com/:i:/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/Task2161/%E3%82%AB%E3%83%BC%E3%83%89%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E5%8F%96%E3%82%8A%E8%BE%BC%E3%81%BFPU.PNG?csf=1&web=1&e=cRtMX3

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

## 補足
なし
2023-07-11 05:06:10 +00:00
saito.k
869880c204 Merged PR 210: API実装(テンプレートファイルDL元)
## 概要
[Task2039: API実装(テンプレートファイルDL元)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2039)

- テンプレートファイルダウンロードURL取得API&テストを実装しました。
  - 構成は音声ファイルDLと同様でBlobストレージアクセス部分は共通のメソッドを使用しています。
  - テンプレートファイルは手動でBlob、DBに追加して確認しています。

## レビューポイント
- 音声ファイルとほどんど同じ処理だが内容に問題はないか
- 共通部分の構成に問題はないか
- テスト項目に問題はないか

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-07-11 01:01:37 +00:00
makabe.t
773c8894e7 Merged PR 208: API実装(音声ファイルDL元)
## 概要
[Task2038: API実装(音声ファイルDL元)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2038)

- 音声ファイルのダウンロードURL取得API&テストを実装しました。
  - SASトークンの有効期限を2時間にしています。
- タスク作成APIでURLのSASトークンを取り除く処理を追加しています。

## レビューポイント
- URLの生成に問題はないか
- テストのためにmodule生成処理を追加したが問題ないか
- タスク作成APIでのURL処理は認識通りか

※対象外:テンプレートファイル関連
以下はコード整形による変更なので対象外
- licenses.repository.module.ts
- tasks.service.spec.ts

## UIの変更
なし

## 動作確認状況
- ローカルで確認
2023-07-07 06:57:29 +00:00
Kentaro Fukunaga
f47a686bac Merged PR 196: 音声ファイルアップロード時のアップロード先URLにユーザーIDを追加する
## 概要
[Task2101: 音声ファイルアップロード時のアップロード先URLにユーザーIDを追加する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2101)

- 音声ファイルアップロード先URLにユーザーIDを含めるのを、ODMSCloud側で実施するよう修正しました
- URLの構築はURLオブジェクトを利用するのが安全であるため、リファクタしました。

## レビューポイント
- 修正方針は妥当か

## 動作確認状況
- ローカルで確認
   - 返却されたURLをもとに、ODMSCloudツールから音声ファイルアップロードできるところまで確認しました
2023-06-30 08:30:29 +00:00
makabe.t
4fb982bf8c Merged PR 177: 外部連携APIの認証ヘッダの形式を修正
## 概要
[Task2054: 外部連携APIの認証ヘッダの形式を修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2054)

- 外部連携APIの認証ヘッダの設定がパラメータに出ているAPIがあったので元のbearerで設定するように修正しました。
  - /files/audio/upload-finished
  - /files/audio/upload-location

## レビューポイント
- 修正箇所は適切か
- 修正内容は適切か
  - OpenAPIとしての内容は認識通りになっているか

## UIの変更
なし

## 動作確認状況
- ローカルで確認
  - Swagger
  - DevTool
2023-06-23 06:30:15 +00:00
makabe.t
418d568af2 Merged PR 153: Task一覧APIのResponseで省略可能でないといけないプロパティが必須になっている箇所を修正する
## 概要
[Task1956: Task一覧APIのResponseで省略可能でないといけないプロパティが必須になっている箇所を修正する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1956)
[Task1918: タスク一覧、タスク追加APIのコメント修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1918)

- Transcription開始日時と終了日時がNULLでも問題ないようにプロパティの型を修正しました。
- タスク一覧の音声ファイル録音時間のコメントも併せて修正しています。

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

## UIの変更
- なし
## 動作確認状況
- ローカルで確認
2023-06-14 08:42:48 +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
湯本 開
26098cc400 Merged PR 130: API実装(タスク一覧取得 | admin)
## 概要
[Task1831: API実装(タスク一覧取得 | admin)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1831)

- AdminがAPIを呼び出したときの処理である、アカウント内のTask情報すべてを取得するロジックを実装

## レビュー対象外
- Transcription開始日時と終了日時が必須プロパティになっている
  - [Task一覧APIのResponseで省略可能でないといけないプロパティが必須になっている箇所を修正する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1956)で修正予定のため
- ユニットテストが未実装
  - [テスト実装(タスク一覧取得 | admin)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1955)で実施予定のため
- API I/Fのstatusのバリデーションがされていない
  - [Task一覧APIのstatusの入力チェックを行うデコレータを実装する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1957)で実施予定のため

## レビューポイント
1. SQLの発行方法は問題なさそうか
   - ~.entityに依存関係を記述( `@OneToOne(...)` や `@OneToMany(...)` )し、TypeORMでの取得時の挙動に任せる方法でよさそうか
2. Permissionテーブル以下も含めて一括でTypeORMによるクエリビルダーに任せたかったが、他の上手くいっている構造と同じ指定をしてもSQL発行時に指定したカラム名を取ってこなくなるという問題が解決できなかったため、2回に分けて取ってくるようにしたが許容可能そうか?
3. 各テーブルでRepositoryを作ってEntityを定義し、他RepositoryからはそのRepository配下のディレクトリを参照するという形を取ってみたが、方針として問題ないか
   - 各テーブルを個別に取得したい場合があるかも?という予想があったため
4. Serviceのつくりとして問題はなさそうか(roleによる呼び分けの実装方法など)
5. RepositoryDTO→ControllerDTOの型変換が複雑であったため、専用のconvert.tsというファイルに分離したが、方針として問題なさそうか

## 動作確認状況
- ローカルで確認
2023-06-12 03:50:48 +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
makabe.t
3191e22ab6 Merged PR 119: 音声ファイルアップロード完了API実装
## 概要
[Task1712: 音声ファイルアップロード完了API実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1712)

- 音声ファイルアップロード完了APIを実装しました。
  - DBへの登録処理を追加しています
    - 音声ファイルテーブル
    - オプションアイテムテーブル
    - 文字起こしタスクテーブル
- jwtトークンデコードがうまくいかないことがありましたので応急対応を入れています。
  - 参考:https://github.com/auth0/node-jsonwebtoken/issues/875

## レビューポイント
- DBへの登録処理・内容は適切か
- JOBナンバーの採番は適切か
- jwtデコードの対応は適切か

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-05-30 03:40:36 +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
saito.k
4cf444ab42 Merged PR 98: API実装(SASトークン発行)
## 概要
[Task1737: API実装(SASトークン発行)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1737)

- SASトークンを発行する処理を実装
- コンテナ作成処理を実装
  - 本来はアカウント登録時に作成されるが、動作検証のためSAS発行時に作成するように実装している
- コンテナ存在確認の処理を実装

## レビューポイント
- 実装した処理に漏れはないか
- エラーの処理に考慮漏れはないか
- テストケースは十分か

## 動作確認状況
- ローカルでコンテナ作成とURL発行を確認

## 補足
- 相談、参考資料などがあれば
2023-05-17 00:38:39 +00:00
makabe.t
7353de035f Merged PR 100: 外部連携API、アップロード完了の認証ヘッダを追加&抜け漏れがないか再確認
## 概要
[Task1738: 外部連携API、アップロード完了の認証ヘッダを追加&抜け漏れがないか再確認](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1738)

- 外部連携APIの修正
  - 音声ファイルアップロード完了APIの認証ヘッダを追加

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

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-05-12 08:19:07 +00:00
makabe.t
a740ec3c36 Merged PR 95: (最最最優先)fileSizeをstringからnumberに修正
## 概要
[Task1728: (最最最優先)fileSizeをstringからnumberに修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1728)

- 外部連携APIのパラメータについてファイルサイズをnumberとするように修正しました。
- 外部連携API、音声ファイルアップロード完了APIに401認証エラーを追加しました。

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

## UIの変更
無し

## 動作確認状況
- ローカルSwaggerで確認
2023-05-10 07:25:59 +00:00
makabe.t
8ccc2a82e8 Merged PR 92: OptionItem対応
## 概要
[Task1701: OptionItem対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1701)

- 以下のAPIでOptionItemを配列で持つように修正しました。
  - 音声ファイルアップロード完了API
  - タスク情報取得API

## レビューポイント
- 対応箇所に過不足はないか
- 対応内容として適切か

## UIの変更
無し

## 動作確認状況
- ローカルでSwagger確認
2023-05-09 06:16:44 +00:00
makabe.t
b3ab401cbc Merged PR 90: 全体見直しをかけ、レビュー依頼する
## 概要
[Task1677: 全体見直しをかけ、レビュー依頼する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1677)

- 外部連携API IFについて見直し、各APIに説明を追加しました。
  - ユーザー情報取得API
  - 認証情報再生成API
  - 音声ファイルアップロード完了API(タスク追加API)
  - ステータス変更API
    - チェックアウト
    - チェックイン
    - キャンセル
    - 中断
    - 差し戻し
    - バックアップ
  - テンプレートファイルダウンロード先取得API
  - 次ファイル情報取得API
  - 音声ファイル、タスク情報取得API
  - 認証情報生成API

## レビューポイント
- 外部連携API IFの実装としても漏れはないか
- 各APIの説明は適切か
- 各APIのパス、パラメータは適切か
- API間で文言の統一はできているか

## UIの変更
無し

## 動作確認状況
- ローカルで確認
2023-05-08 08:26:24 +00:00
makabe.t
085f41134a Merged PR 89: IF実装(音声ファイル、タスク情報取得API)
## 概要
[Task1647: IF実装(音声ファイル、タスク情報取得API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1647)

- 以下の外部連携APIのIFを実装しました
  - 音声ファイル、タスク情報取得API
- blob、taskフォルダにあったAPI定義をfilesフォルダに集めました。

## レビューポイント
- フォルダの変更に問題はないか
- 音声ファイル、タスク情報取得APIのパスを`GET /files/audio/task-info`としましたがAPIのパスとして適切でしょうか?

## UIの変更
- なし
## 動作確認状況
- ローカルのSwaggerで確認
2023-04-28 08:12:05 +00:00
makabe.t
728bd6dfeb Merged PR 87: IF実装(テンプレートファイルダウンロード先取得API/次ファイル情報取得要求API)
## 概要
[Task1646: IF実装(テンプレートファイルダウンロード先取得API/次ファイル情報取得要求API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1646)

- 以下の外部連携APIのIFを実装しました。
  - テンプレートファイルダウンロード先取得API
  - 次ファイル情報取得要求AP

## レビューポイント
- 次ファイル情報取得要求APIについてFilesフォルダを掘って新規に追加したがフォルダ構成に問題はないか。
- IFの応答ステータスは適切か。
- リクエスト/レスポンスは想定通りか

## UIの変更
- なし

## 動作確認状況
- ローカルで確認Swaggerで確認
2023-04-25 01:56:40 +00:00