24 Commits

Author SHA1 Message Date
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
maruyama.t
2c935c8b52 Merged PR 101: API実装(ライセンス注文登録)
## 概要
[Task1685: API実装(ライセンス注文登録)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1685)

タスク 1685: API実装(ライセンス注文登録)
ライセンス注文APIを追加

## レビューポイント
登録時のDB処理方法に問題がないか。
処理、エラーハンドリングに過不足がないか。

## UIの変更
なし

## 動作確認状況
ローカルでユニットテストを実施。
ローカルでAPIを実行し、DBに登録できること・poNumberの重複チェックが想定通りに動作していることを確認。

## 補足
なし
2023-05-30 07:17:43 +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
masaaki
21695a6590 Merged PR 97: API I/F実装(ライセンス注文登録API)
## 概要
[Task1681: API I/F実装(ライセンス注文登録API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1681)

- 元PBIへのリンク(内容・目的などはそちらにあるはず)
 [プロダクト バックログ項目 1221: ライセンスを注文したい](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1221)

- 何をどう変更したか、追加したライブラリなど
 ラフスケッチに基づき、ライセンス注文登録APIのI/F実装とopenapi化を行いました。

- このPull Requestでの対象/対象外
 変更分すべてが対象になります

- 影響範囲(他の機能にも影響があるか)
 無し

## レビューポイント
- Swagger UI上でテスト実行すると、正常時のレスポンスコードが200ではなく201となります。
湯本さんが実施されたユーザ追加のAPI I/F実装の動画を見ると、その時も201となっていたので、そのまま進めましたが、もし問題ある場合は指摘お願いします。

## UIの変更
- 無し

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

## 補足
- 相談、参考資料などがあれば
2023-05-12 01:00:10 +00:00
iwata
94ab0e5b0d Revert "ラフスケッチを元に新規APIをNestJS上で実装する"
This reverts commit 12cd9c5a035efa493d4e85fd7ed6f696da8dc520.
2023-05-11 13:54:35 +09:00
iwata
12cd9c5a03 ラフスケッチを元に新規APIをNestJS上で実装する 2023-05-11 10:52:48 +09: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
saito.k
0bcb0b071b Merged PR 86: IF実装(ステータス変更要求API)
## 概要
[Task1645: IF実装(ステータス変更要求API/初回音声ファイル情報)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1645)

- ステータス変更要求APIのIF実装
  - 使用目的ごとにAPIを作成
- OpenAPI.json生成

## レビューポイント
- API仕様詳細では引数にファイルIDを渡すように記載されていたが、タスクIDを受け取るようにした。
  - タスクIDで問題ないと思っていますが、認識あってますでしょうか?
- 返却するエラーの種類は足りているか

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

## 動作確認状況
- Swagger UIと生成したOpenAPI.jsonで確認

## 補足
- 相談、参考資料などがあれば
2023-04-26 06:32:50 +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
makabe.t
8a0815821e Merged PR 85: IF実装(ユーザー情報取得API/音声ファイルアップロード完了API)
## 概要
[Task1644: IF実装(ユーザー情報取得API/音声ファイルアップロード完了API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1644)

- 以下の外部連携APIのIFを実装しました。
  - ユーザー情報取得API
  - 音声ファイルアップロード完了API

## レビューポイント
- 音声ファイルアップロード完了APIについてTaskフォルダを掘って新規に追加したがフォルダ構成に問題はないか。
- IFの応答ステータスは適切か。
- リクエスト/レスポンスは想定通りか
  - ユーザー情報取得API応答のWorkTypeID周りが不安なのでご確認をお願いします。

## UIの変更
- なし

## 動作確認状況
- Swaggerをローカルで確認
2023-04-24 09:58:25 +00:00
saito.k
0a970e814f Merged PR 76: API実装(I/F)
## 概要
[Task1576: API実装(I/F)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1576)

- sas発行APIのIFを実装
  - アップロード用のSAS発行API
    - GET /blob/uploadSas
  - ダウンロード用のSAS発行API
    - GET /blob/downloadSas
- notification関連のフォーマット修正
- notification関連でlintエラーが出ていた箇所を修正
- openapi.jsonを生成するコマンドを使用できるように修正

## レビューポイント
- レスポンスとして返却する内容に不足は無いか
- URIはこれで良さそうか

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

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

## 補足
- 相談、参考資料などがあれば
2023-04-14 01:08:32 +00:00
saito.k
ee2e8dbd5d Merged PR 64: デバイス登録API実装
## 概要
[Task1571: デバイス登録API実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1571)

- NotificationHubへのデバイス登録APIを実装
  - NotificationHubへの接続
  - 登録処理

## レビューポイント
- ディレクトリ構成に問題は無いか

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

## 動作確認状況
- ローカルでNotificationHubに接続できるところまで確認

## 補足
- 返却するエラーやサーバー側で設定する部分の登録情報については仮です。
  - 「プロダクト バックログ項目 1389: デスクトップアプリ/モバイルアプリに様々な通知をしたい」で実装・設計する想定
2023-04-10 00:41:32 +00:00
saito.k
382bb4e25f Merged PR 62: デバイス登録APIのIF実装
## 概要
[Task1570: デバイス登録APIのIF実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1570)

- NotificationHubへのデバイス登録を行うAPIのIFを実装
  - MSへの問い合わせで想定していた引数で概ね問題ないとの回答
- OpenAPI生成関数が動作しなくなっていたので削除
  - 生成するためにはServiceごとにモックを作成しないといけないため修正コストが高すぎると判断

## レビューポイント
- Requestのプロパティについて認識違いは無いか
- 外部連携用のAPIも他のAPIと同様の場所に配置したが問題ないか
- 返却するステータスコードはこれで良いか?
  - 登録の成功は201?
  - エラー時のステータスコードの種類に過不足は無いか

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

## 動作確認状況
- OpenAPIを生成して確認

## 補足
2023-04-07 01:05:28 +00:00
saito.k
82e1de1165 Merged PR 59: DBにテーブルを作成する手順を実装(マイグレーション)
## 概要
[Task1493: DBにテーブルを作成する手順を実装(マイグレーション)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1493)

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

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

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

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

## 補足
- 相談、参考資料などがあれば
2023-03-29 06:57:00 +00:00
湯本 開
9f5252baf8 Merged PR 56: API実装(アカウント登録)
## 概要
[Task1496: API実装(アカウント登録)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1496)

- アカウント登録のAzureAD B2Cへのユーザー作成部分以外について実装
- migration SQLに足りない要素があった箇所を修正(default追加)
- 各種環境変数を追加
- 秘密鍵/公開鍵を取得する方法を環境変数に変更(KeyVaultからWebAppsの機能で環境変数へ流し込む想定)

## レビューポイント
- 実装方法として問題がありそうな箇所が存在しないか
- 可読性の低い箇所が存在しないか
- Moduleの分け方、つなげ方などは問題ないか
- ラフスケッチと違い、Account作成と管理者ユーザー作成を同一トランザクションで行うよう修正したが問題ないか

## 動作確認状況
- メール送信以外はローカルで確認、メール送信部分は未確認
2023-03-29 03:55:44 +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
makabe.t
41f0213fe9 Merged PR 1: タスク 1359: API実装(認証/IDトークン検証)
## 概要
[タスク 1359: API実装(認証/IDトークン検証)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1359)

- IDトークンを受け取って内容を検証し、デコードしたペイロードを返すサービスを実装しました。

## レビューポイント
- サービスの処理の流れが認識とあっているか。
- ADB2CのAPI呼び出しを別サービスにしているが問題ないか
- 公開鍵の変換処理を別サービスに切り出しているが構成に問題はないか。
- トークンの検証をエラーごとに処理しているがエラー内容は認識通りか

## UIの変更
- なし

## 動作確認状況
- テストが通ることを確認

# 備考
- IDトークンを検証して中身を返すまでの実装です。
2023-03-07 01:30:13 +00:00
拓海 真壁
bf7a985b0d Merged PR 7: タスク 1384: OMDS環境への引っ越し(Pipeline)
## 概要
[タスク 1384: OMDS環境への引っ越し(Pipeline)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1384)

- OMDS環境へのPipeline引っ越しに関する変更です。
  - パイプラインをDevOpsで作成しているためYamlファイルを削除
  - buildへのパスを修正

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

## UIの変更
- なし

## 動作確認状況
- パイプラインが動作してAzure環境にデプロイされることを確認
2023-02-24 07:53:44 +00:00
斎藤 快斗
c82d0363ac Merged PR 6: タスク 1362: API実装(I/F)
## 概要
[Task: 1362](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%202_2?workitem=1362)

- 以下のIFを実装
  - AzureADのidトークンを受け取り、アクセストークン・リフレッシュトークンを返却するAPI
  - リフレッシュトークンを受け取り、アクセストークンを返却するAPI
- エラー時のレスポンスを作成

## レビューポイント
- 各APIのリクエスト・レスポンスの型

## UIの変更
- なし

## 動作確認状況
- SwaggerUIでAPIを確認

## 補足
2023-02-24 06:01:33 +00:00
斎藤 快斗
3b4b3c59e7 Merged PR 4: API実装のためのディレクトリを構成
## 概要
[Task: 1358](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%202_2?workitem=1358)

- API実装を行うためのベースとなる実装を行いました。
  - ディレクトリ構成
  - ビルドの設定
  - openapi.jsonの配置場所
  - openapi.jsonの生成コマンド作成

## レビューポイント
- ベース実装として足りているか
- openapi.jsonを生成するコードの配置場所は`src/api/generate.ts`で良いか

## UIの変更
- なし

## 動作確認状況
- ローカルで`/health`が200 OKを返却することを確認

## 補足
2023-02-20 08:12:36 +00:00
拓海 真壁
0fa3b0eff8 Merged PR 3: タスク 1327: DevOpsからRegistryにイメージをプッシュ
## 概要
[タスク 1327: DevOpsからRegistryにイメージをプッシュ](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1327)

- AzureDevOpsでデプロイするためにDockerFile等の構成を修正しました。

## レビューポイント
- 情報共有
- コンテナの構成として認識違い、不自然な点はないか

## UIの変更
- なし

## 動作確認状況
- イメージをビルドしてプッシュできることを確認
2023-02-14 04:45:15 +00:00
拓海 真壁
e686db674f Merged PR 1: タスク 1176: 開発環境コンテナの構築(Client/Server)
[タスク 1176: 開発環境コンテナの構築(Client/Server)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1176)
開発用コンテナを構築しました。以下のコンテナを追加しています。
- ライセンス管理
  - server
  - client
- ディクテーション管理
  - server
  - client
- DB(MySQL)
- Cache(Redis)
2023-01-12 08:56:38 +00:00