932 Commits

Author SHA1 Message Date
makabe.t
0099614a5f Merged PR 58: API実装(アカウント登録/Azure AD B2C)
## 概要
[Task1550: API実装(アカウント登録/Azure AD B2C)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1550)

- アカウント登録APIでAzure ADB2Cにユーザを登録する処理を追加しました。
  - GraphAPIで登録処理をしています。

## レビューポイント
- ADB2Cへ登録する情報は認識通りか
- ADB2CへのGraphAPI接続のためにADB2Cテナントにアプリを追加しているが認証として問題ないか。
  - 環境変数にアプリの情報を設定しています
    - ADB2C_TENANT_ID=xxxxxxxx
    - ADB2C_CLIENT_ID=xxxxxxxx
    - ADB2C_CLIENT_SECRET=xxxxxxxx

## UIの変更
無し

## 動作確認状況
- ローカルで確認
  - ADB2C、DBに設定項目が追加されていることを確認
2023-04-05 09:22:50 +00:00
makabe.t
731c633189 Merged PR 57: ログインAPIを修正する
## 概要
[Task1504: ログインAPIを修正する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1504)

- ログイン時にIDトークンをもとにメールアドレスで認証済みのユーザかをDBから取得して判定する処理を追加しました

## レビューポイント
- IDトークンのSubをもとにUserテーブルの`external_id`でユーザを特定しているが利用法として適切か
- DBからのクエリに問題はないか
- ※アカウント登録の処理が含まれていますが、以下の変更についてご確認をお願いします。
  - feature/auth/*
  - repositories/users/*
  - common/error

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-03-31 07:46:56 +00:00
湯本 開
28a7e246a2 Merged PR 60: アカウント登録APIでメール送信するための設定を修正する
## 概要
[Task1565: アカウント登録APIでメール送信するための設定を修正する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1565)

- .envにも定義されているとそちらを優先して読んでしまうため、環境変数を修正

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

## 動作確認状況
- ローカルで確認
2023-03-29 08:14:34 +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
saito.k
b4cd0208e6 Merged PR 51: タスク 1468: 部品component作成(ヘッダー・フッター)
## 概要
[Task: 1468](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%204-2?workitem=1468)

- ヘッダーcomponentを作成
  - ログイン前とログイン後でヘッダーが異なるので各ページに配置するようにした
  - 呼び出すcomponentは一つとして作成し、内部でヘッダーを切り替えるようにした
- フッターcomponentを作成
  - ログイン前とログイン後でページのデザインが異なるのでヘッダー同様、各ページに配置することにした

## レビューポイント
- ヘッダーの作成方法に問題はないか

## 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/Task1468?csf=1&web=1&e=K2tFjK

## 動作確認状況
- 型チェック
- ローカルで動作確認

## 補足
2023-03-27 12:05:56 +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
湯本 開
6fe1cc4d6d Merged PR 50: タスク 1500: DBのテーブル作成SQL実装
[タスク 1500: DBのテーブル作成SQL実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1500)
- SQLを実装
- sql-migrate前提で設定ファイルを追加
# レビューポイント
- 本PBIの範囲で不足しているものはなさそうか
# 動作確認状況
- ローカルのMySQL DBにSQLを流して確認
2023-03-22 08:34:36 +00:00
makabe
98eb915366 言語切り替えを描画前に実施するよう修正 2023-03-15 11:55:18 +09:00
saito.k
555b048ca9 Merged PR 12: タスク 1465: 画面実装(アカウント作成画面)
## 概要
[Task: 1465](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%204-1?workitem=1465)

- アカウント登録

## レビューポイント
-

## 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/Task1465?csf=1&web=1&e=bHB7XJ

## 動作確認状況
- 型チェック
- ローカルで動作確認

## 補足
2023-03-14 07:50:25 +00:00
makabe.t
a69d8b19f3 Merged PR 13: タスク 1470: 画面実装(トップページ)
## 概要
[タスク 1470: 画面実装(トップページ)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1470)

- トップページのデザインを適用しました。

## レビューポイント
- デザイン適用は適切か
- CSSの使い方に問題はないか

## UIの変更
- トップページのデザイン適用
  - [Task1470](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/Task1470?csf=1&web=1&e=BgUfMX)

## 動作確認状況
- ローカルで起動してデザイン確認
2023-03-14 07:17:36 +00:00
makabe.t
5d4ef8e094 Merged PR 11: タスク 1482: AADB2Cのログイン画面で、言語変更できる仕組みを入れる
## 概要
[タスク 1482: [手が空いたらor簡単なら] AADB2Cのログイン画面で、言語変更できる仕組みを入れる](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1482)

- ログイン画面の言語がトップ画面の言語選択と対応するようにしました。
  - クライアントでの言語選択状態をそのままクエリパラメータui_localesで渡すことで言語選択を実現しています(参考:[Azure Active Directory B2C での言語のカスタマイズ](https://learn.microsoft.com/ja-jp/azure/active-directory-b2c/language-customization?pivots=b2c-user-flow))

## レビューポイント
- 言語選択実現方法として適切か

## UIの変更
- ログイン画面の言語
  - [Task1482](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/Task1482?csf=1&web=1&e=lHBZZJ)

## 動作確認状況
- ローカルからログイン画面の言語が変わることを確認
2023-03-13 10:40:32 +00:00
makabe.t
6bcbabc897 Merged PR 7: タスク 1477: 存在しないURLを指定した場合の挙動を実装する
## 概要
[タスク 1477: 存在しないURLを指定した場合の挙動を実装する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1477)

- 存在しないURLを指定した場合にNot Foundページへ遷移するようルーティングしました。
  - エラーページ自体は仮デザインです。

## レビューポイント
- エラー時の対応として問題ないか

## UIの変更
- エラーページ追加
  - [Task1477](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/Task1477?csf=1&web=1&e=nc0yx5)

## 動作確認状況
- 画面を起動して存在しないURLでエラーページに遷移することを確認
2023-03-09 08:47:13 +00:00
makabe.t
8822ddaee4 Merged PR 6: タスク 1484: 言語切り替えの仕組みをいれる
## 概要
[タスク 1484: 言語切り替えの仕組みをいれる](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1484)

- トップ画面での言語切り替え機能を実装しました。
  - 英語、ドイツ語、フランス語、スペイン語で切り替えできるようにしています。

## レビューポイント
- 言語切り替えとして機能に不足はないか
- デザインは仮組なので対象外
  - コンボボックスで言語切り替えできるところのみ確認をお願いします。

## UIの変更
- 言語切り替え追加
  - [Task1484](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/Task1484?csf=1&web=1&e=e3lu7p)

## 動作確認状況
- 画面上で言語切り替えできることを確認

## 補足
- デザインはタグだけの仮組ですので無視してください。
2023-03-09 08:46:31 +00:00
斎藤 快斗
7329591b6f トークンの有効期限をミリ秒に変更 2023-03-08 12:00:54 +09:00
斎藤 快斗
a292eee67d pathを変更 2023-03-08 11:40:36 +09:00
斎藤 快斗
80d96110ca dev環境のbaseパスを修正 2023-03-08 11:19:34 +09:00
斎藤 快斗
edae0ea939 develop用の環境変数を修正 2023-03-08 10:52:30 +09:00
斎藤 快斗
588e60b762 競合解決ミスを修正 2023-03-08 10:02:36 +09:00
saito.k
4ce2bbf823 Merged PR 5: タスク 1471: 画面実装(トークン系)
## 概要
[Task: 1471](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%203-2?workitem=1471)

- アクセストークンの自動更新処理を実装
  - UpdateTokenTimerで定期実行を行う
- 未ログインまたはトークンが期限切れの状態で、ログイン後の画面にアクセスした場合、Topページにリダイレクトする処理を実装
  - RouteAuthGuard.tsx
- APIからのレスポンスが401だった時にTopページにリダイレクトする処理を実装
  - App.tsx

## レビューポイント
- 今の実装だとトークンの自動更新に失敗した場合、画面上では何も起こらないようにになっている
  - 更新が失敗し続け、アクセストークンが切れた段階でRouteAuthGuardではじかれてTopへリダイレクトする
- トークンの期限を確認する間隔を3分にしているが問題なさそうか

## UIの変更
-

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

## 補足
2023-03-08 00:57:55 +00:00
saito.k
a1ddc64d2b Merged PR 2: タスク 1361: 画面実装(ログインページ/ログイン済みページ/エラーページ)
## 概要
[Task: 1361](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%203-2?workitem=1361)

- B2Cログイン後、IDトークンを引数にログインAPIを呼ぶ
- ログインAPIレスポンスのアクセストークン・リフレッシュトークンをlocalStorage/storeにセット
- ログインAPIが成否でページ遷移先を変更する

## レビューポイント
- IDトークンの取得方法は下記リンクを参考にした
  - https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-react/FAQ.md#how-do-i-handle-the-redirect-flow-in-a-react-app

## 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/Task1361?csf=1&web=1&e=Fo5NQZ

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

## 補足
- WIPです。
- 以下の実装は行っていません。
  - アクセストークンの更新処理
  - トークンの期限が切れていた場合、Topページにリダイレクトする処理
2023-03-08 00:18:38 +00:00
湯本 開
c1ed541d87 Merged PR 4: タスク 1385: API実装(認証/トークン発行)
## 概要
[Task 1385](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1385)
- IDトークンを受け取り、リフレッシュトークンとアクセストークンを発行するAPIを実装
- リフレッシュトークンを受け取り、アクセストークンを発行するAPIを実装
  - アクセストークン、リフレッシュトークンの中身は中身を使用するPBIが存在しないので仮のもの

## レビューポイント
- 本PBIで必要な範囲の機能を十分持っているか
- コードに不足部分、問題点などはなさそうか
- テスト項目は妥当か
- アクセストークン、リフレッシュトークンの中身はまだ仮で問題ないか

## 動作確認状況
- ローカルで動作確認
2023-03-07 23:35:53 +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
斎藤 快斗
bfe91c64c9 Merged PR 8: タスク 1360: 画面実装(TOPページ)
[Task1360](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%203-1?workitem=1360)
- Azure AD B2Cのログインを行う実装
- B2Cへの接続設定
- ログイン後のリダイレクト先設定

## レビューポイント
- B2Cへの接続設定で過不足はないか

## UIの変更
- https://ndstokyo.sharepoint.com/:f:/r/sites/Piranha/Shared%20Documents/General/%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/Task1360?csf=1&web=1&e=8bzmdc

## 動作確認状況
- 型チェックだけしています。

## 補足
2023-02-24 07:47:15 +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
斎藤 快斗
3dc0dd4fdb Deleted azure-pipelines.yml 2023-01-27 02:44:34 +00:00
斎藤 快斗
8a76b2adb5 Set up CI with Azure Pipelines
[skip ci]
2023-01-27 02:42:10 +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
Ryunosuke Hanawa
4e83d02f67 Added README.md 2023-01-11 05:52:02 +00:00