410 Commits

Author SHA1 Message Date
maruyama.t
e877942175 Merged PR 711: Repositoryロック対応
## 概要
[Task3523: Repositoryロック対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3523)

LicensesRepository
  - allocateLicense
割当先ユーザ取得しロックする処理を追加

WorkflowRepository
 - createtWorkflows
authorの存在確認時にロックを追加
 - updatetWorkflows
authorの存在確認時にロックを追加
UserGroup&UserGroupMemberのロックを追加

AccountsRepository
- updateAccountInfo
プライマリ/セカンダリ管理者ユーザーの存在チェックのロック
(行ロック横展開1で修正されていた)

TasksRepository
- create
タスクの所有者の存在確認とロックを追加
- checkout
対象ユーザの存在確認とロックを追加
- changeCheckoutPermission
対象ユーザの存在確認とロックを追加

UserGroupsRepository
- createTypistGroup
対象ユーザ達のロックを追加
- updateTypistGroup
対象ユーザ達のロックを追加
## レビューポイント
ラフスケッチの、

```
競合ケース E-3. Typistが削除条件判定を行った直後に、チェックアウト候補に削除ユーザーが含まれるTypistGroupが割り当てられる
TypistGroupに割り当たっている時点で削除条件を満たさないので、このケースはないはず
```

ここは未対応でよい認識か。

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

## 補足
- 相談、参考資料などがあれば
2024-02-01 06:06:10 +00:00
makabe.t
6d6eee91e0 Merged PR 712: 行ロック横展開2
## 概要
[Task3470: 行ロック横展開2](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3470)

以下のリポジトリの各メソッドについてロックを追加し、必要なインデックスを追加するマイグレーションファイルを追加しました。
- licenses
  - order
    - 注文の取得にロックを追加して同じPO番号をチェックできるようにする
  - createCardLicenses
    - ライセンスキーチェック毎にロックを追加して同じライセンスキーをチェックできるようにする
  - activateCardLicense
    - ライセンスキーのチェックにロックを追加して同一のライセンスキーがアクティベート済みかチェックできるようにする
  - issueLicense
    - 注文のチェックにロックを追加して同一の注文に対して複数回ライセンスが発行されないようにする
  - allocateLicense
    - ユーザーのライセンス状態取得にロックを追加して複数回割り当てできないようにする
  - deallocateLicense
    - ユーザーのライセンス状態取得にロックを追加して複数回解除できないようにする
  - cancelOrder
    - 注文のチェックにロックを追加してキャンセル中にライセンスが発行されないようにする

※こちらの資料を参考に各メソッド内で影響に関連すると思われるselectにロックを追加しています。
[行ロックに関する影響調査.xlsx](https://ndstokyo.sharepoint.com//r/sites/Piranha/Shared%20Documents/General/OMDS/%E8%A1%8C%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E5%BD%B1%E9%9F%BF%E8%AA%BF%E6%9F%BB.xlsx?d=wdd6f3d97f7b04a538095c459f8eee2eb&csf=1&web=1&e=qASAOx)

上記資料を参考にタスク内で担当するメソッドについてロックの対応箇所を整理しました。
[Task3470](https://ndstokyo.sharepoint.com/:f:/r/sites/Piranha/Shared%20Documents/General/%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%83%9D%E3%83%BC%E3%82%BF%E3%83%AB/%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/Task3470?csf=1&web=1&e=OGnOhp)

## レビューポイント
- 各メソッドの対応方針は適切でしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2024-01-31 00:57:36 +00:00
makabe.t
dbff86915e Merged PR 708: 対応
## 概要
[Task3550: 対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3550)

- Worktypeの登録・編集時に16文字までとなるように制限を修正しました。
  - APIのバリデータ
  - 画面の最大文字数

## レビューポイント
- 対応内容の認識はあっていますでしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2024-01-29 05:54:35 +00:00
makabe.t
4d462a883a Merged PR 688: 行ロック横展開1
## 概要
[Task3468: 行ロック横展開1](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3468)

- 各リポジトリのメソッドについて行ロックが必要な箇所に処理を追加しました。
- **accounts**
  - **cancelIssue**
    - `canselIssue`と`allocateLicense`での対象ライセンス取得にロックを追加しました。
  - **updateAccountInfo**
    - `updateAccountInfo`でのプライマリ/セカンダリ管理者取得にロックを追加しました。
- **templates**
  - **upsertTemplateFile**
    - `upsertTemplateFile`のテンプレートファイル取得にロックを追加しました。
- **users**
  - **update**
    - ユーザー取得にロックを追加しました。
      - 影響としてはAuthorIDの重複が考えられたのでその対応のために入れています。
  - **findDelegateUser**
    - selectのみでデータの不整合はないので特に処置はしていません。
  - **isAllowDelegationPermission**
    - selectのみでデータの不整合はないので特に処置はしていません。

※こちらの資料を参考に各メソッド内で影響に関連すると思われるselectにロックを追加しています。
[行ロックに関する影響調査.xlsx](https://ndstokyo.sharepoint.com//r/sites/Piranha/Shared%20Documents/General/OMDS/%E8%A1%8C%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E5%BD%B1%E9%9F%BF%E8%AA%BF%E6%9F%BB.xlsx?d=wdd6f3d97f7b04a538095c459f8eee2eb&csf=1&web=1&e=saqcTC)

上記資料を参考にタスク内で担当するメソッドについてロックの対応箇所を整理しました。
[Task3520](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/Task3520?csf=1&web=1&e=ewuJoe)

## レビューポイント
- 競合の対応として適切でしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルでマイグレーション確認
2024-01-29 02:52:24 +00:00
maruyama.t
986b710aaa Merged PR 707: 対応
## 概要
[Task3507: 対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3507)

アップロードとcheckout時にライセンスチェックを行う。ダウンロード時にはチェックを行わない。
- 影響範囲(他の機能にも影響があるか)
checkoutのとき、第五階層の場合にチェックが行われる。
外部連携APIが返却するパラメータが変わるため、OMDSさんに連携する

## レビューポイント
- 不要な個所まで削除していないか(アップロードの場合はチェックを残す)

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

## 補足
- 相談、参考資料などがあれば
2024-01-26 11:07:56 +00:00
makabe.t
794dae0c15 Merged PR 709: テスト対応もれ修正
## 概要
[Task3589: テスト対応もれ修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3589)

- バグ対応で漏れていたテスト修正を実施しました。

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

## UIの変更
-なし

## 動作確認状況
- ローカルで確認
2024-01-26 08:58:08 +00:00
makabe.t
271d85482d Merged PR 705: 対応
## 概要
[Task3549: 対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3549)

- 第五階層のユーザーがライセンス注文する際にディーラーが設定されていない場合に出るエラーを専用のメッセージとなるように修正しました。
※文言はメッセージレビュー後に必要があれば修正します。

## レビューポイント
- エラーの仕分け方は適切でしょうか?

## UIの変更
- [Task3549](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/Task3549?csf=1&web=1&e=uwyFMW)

## 動作確認状況
- ローカルで確認
2024-01-26 08:03:18 +00:00
saito.k
7c83a9ccae Merged PR 704: ユーザー認証メールのURLの期限について
## 概要
[Task3515: ユーザー認証メールのURLの期限について](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3515)

- 環境変数の有効期限に使用されている値を見直し
  - アクセストークンの有効期限
    - ミリ秒→秒単位に修正
  - リフレッシュトークンの有効期限
    - ミリ秒→秒単位に修正
  - 認証メールリンクの有効期限
    - ミリ秒→秒単位に修正
  - SASトークンの有効期限
    - 有効期限が間違っていたので修正
      - 2時間に修正(奥澤さんと調整済み)
  - キャッシュの有効期限
    - 24時間であっていたのでそのまま
## レビューポイント
- ほかに確認する値はあるか

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

## 動作確認状況
- トークン生成時に渡す有効期限情報が秒単位であっているのか値を変更して確認した

## 補足
- 相談、参考資料などがあれば
2024-01-25 06:53:02 +00:00
saito.k
a59cb0fffb Merged PR 700: [テストFB対応]User画面でライセンスのStatusの表示を変更したい
## 概要
[Task3506: テスト対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3506)

- ライセンスが割り当たっている状態の表示をLicense Assignedにする
- ライセンスの期限切れ状態の表示をNo Licenseとする
- ヘッダーのOMDSCloudの表記を削除

## レビューポイント
- 修正内容に不足はないか
- 修正の認識ずれはないか
- ほかに修正が影響している箇所はないか

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

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

## 補足
- 相談、参考資料などがあれば
2024-01-23 11:02:50 +00:00
湯本 開
cf56239da2 Merged PR 669: Pipeline上でdocker-composeを用いてMySQLを起動する方法を調査する
## 概要
[Task3427: Pipeline上でdocker-composeを用いてMySQLを起動する方法を調査する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3427)

- MySQLでUnitTestを実施する仕組みを作成
  - DevContainerにUnitTestからのみアクセスされるMySQLが動くコンテナ( `test_mysql_db` )を追加
  - テストでMySQLを使用し、上記 `test_mysql_db` に対してアクセスするよう構成
  - テストの前処理で `test_mysql_db` の全てのテーブルをTRUNCATEする処理を実行し、データをクリアする
    - 常にテスト用MySQLは起動しているが、テスト実行前にクリアされるので空っぽ前提の状態でテストを実施できる
  - 実際にMySQLを使用して実行されるテストを1つ追加
    - `users.service.spec.ts | UsersService.createUser` が対象
- Pipeline上でDevContainerを起動し、DevContainer内で `npm ci` `(UnitTest用DBへの) migration` `npm run test` を行う仕組みを作成
  - Pipelineを追加
    - **StagingPipelineでテスト・ステップを切り出し**
  - Pipelineテスト用DevContainer(のdocker-compose.yml)を作成
    - 構成は通常の物と同一だが、ネットワーク設定だけ外部のMySQLやRedisと通信しない前提に変更している
  - テストの実行環境を自己ホストではなく、一般で提供されているマシンに変更
    - 自己ホストのマシンにdocker-composeが入ってない/ビルド後のクリア処理が大変等の理由
- テストで使用する環境変数を `.env.test` という別環境変数に切り出し
  - そうすることで、PipelineでKeyVaultへのアクセスをする必要がなくなる
- **migrationの漏れを修正**
  - テストが通らないことで発覚したmigration漏れを修正
- **テストコードを修正**
  - **Date型のミリ秒単位の誤差を setMillseconds(0) を用いることで0にセットするコードを追加(ライセンス付近)**

## レビューポイント
- **WIPレビュー以降の追加の修正で違和感のある箇所はないか**
  - コミット履歴等で追っていただいた方が楽かと思います
  - 直近の`Merge branch 'develop' into feature/3427/poc-mysql-test` 以降がWIP以降に変更されたコードです
- **レビュー通過後、developのPipelineについては手動で同等のコードに変更→PRをdevelopにマージ予定だが進め方として問題はないか**
- [※WIPでレビュー済み] テスト用DevContainerを別途作成したが、現行のDevContainerを使用するよう頑張った方がいいか?
  - [※WIPでレビュー済み] CI/CDの実行速度面を考慮し、使用されないMySQLとRedisのサービスとネットワーク作成が同居しているdocker-compose.ymlの実行を避けたが、管理対象は増えているので議論の余地はある
- [※WIPでレビュー済み] MySQLでUnitTestを実行する際に懸念事項はないか
- [※WIPでレビュー済み] Dockerを起動する関係でCI/CDのスピードが数分遅くなると思われるが、許容可能か
- [※WIPでレビュー済み] `.env.test` に置き換えて問題ないか

## 動作確認状況
- ローカル&Pipelineで実行して確認済
2024-01-23 07:58:42 +00:00
makabe.t
6e931c5afb Merged PR 694: テスト対応
## 概要
[Task3504: テスト対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3504)

- ユーザー取得APIで取得するユーザーの順序をAuthor、Typist、Noneの順になるようにしました。

## レビューポイント
- 単純なorderの指定ではうまくいかないようでしたのでDBからの取得後にソートするようにしていますが処理として適切でしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2024-01-23 00:21:17 +00:00
SAITO-PC-3\saito.k
d23336a065 workflowのソート条件の指定に誤りがあったので修正
テストもその誤りを検知できるように修正
2024-01-19 10:25:17 +09:00
saito.k
3ac1218a6b Merged PR 693: [テストFB対応]Workflow画面でのソート機能
## 概要
[Task3503: テスト対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3503)

- workflowsのソート条件を変更
  - AuthorIDの昇順
  - AuthorIDが同じ場合は、WorktypeIDの昇順

## レビューポイント
- 修正内容の認識があっているか

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

## 補足
- 相談、参考資料などがあれば
2024-01-18 06:28:28 +00:00
makabe.t
4c427d2632 Merged PR 692: マイグレーションファイル適用
## 概要
[Task3487: マイグレーションファイル適用](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3487)

- DB定義に齟齬が出てしまうため、DBマイグレーションファイルをCCBからdevelopにも適用します。

## レビューポイント
- 適用内容は適切でしょうか?
2024-01-16 10:15:56 +00:00
saito.k
0edad18545 Merged PR 674: DBからLicenseAlertカラム削除
## 概要
[Task3429: DBから該当カラム削除](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3429)

- UsersテーブルからLicenseAlertを削除

## レビューポイント
- 追加したマイグレーションファイルの内容に認識違いはないか

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

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

## 補足
- 相談、参考資料などがあれば
2024-01-12 07:03:59 +00:00
makabe.t
196a8018e5 Merged PR 679: U-113メール内容の修正
## 概要
[Task3450: U-113メール内容の修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3450)

- ユーザー追加の認証後に送られるメールU-113の文面を修正しました。
  - コロンと仮パスワードの間に見やすいようにスペースを入れています

## レビューポイント
- 対応箇所は適切でしょうか?

## UIの変更
- なし
## 動作確認状況
- ローカルで確認
2024-01-11 07:49:54 +00:00
saito.k
c4efaf1a1a Merged PR 671: 「LicenseAlert」を消す対応
## 概要
[Task3381: 対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3381)

- 以下の画面から「LicenseAlert」を削除
  - ユーザー追加Popup
  - ユーザー更新Popup
  - ユーザー一覧画面
- 以下のAPIの引数から「LicenseAlert」の設定をするパラメータを削除
  - ユーザー作成API(users/signup)
  - ユーザー更新API(users/update)
- ユーザー一覧取得APIのレスポンスから「LicenseAlert」を削除
- usersEntityから「LicenseAlert」を削除
- クライアントのAPI呼び出し部分を自動生成するopenapi-generator-cliのバージョンを7.1.0で固定
  - 最新バージョン(7.2.0)はaxiosのバージョン1.x用になるため
  - https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.2.0

## レビューポイント
- openapi-generator-cliのバージョンを固定するのではなく、axiosのバージョンを上げたほうがよいか
  - axiosのバージョン1.xが出たのがおととしになるのでそろそろ上げてもいい?
  - このタイミングでメジャーバージョンを上げるのはどうか
    - 基本的な仕様について大きくは変わってない模様
    - 実際に上げてみて軽く動作確認してみたが問題なかった

## UIの変更
- Before/Afterのスクショなど
- 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/Task3381?csf=1&web=1&e=TpXHES

## 補足
- 相談、参考資料などがあれば
2024-01-11 06:58:01 +00:00
makabe.t
87ede1ad3b Merged PR 672: パートナー追加時のメール文面の適用
## 概要
[Task3430: パートナー追加時のメール文面の適用](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3430)

- パートナー追加メールの文面をU-114メールとなるようにしました。
  - 併せてメール送信処理で`await`になっていなかった箇所を修正しました。

## レビューポイント
- パートナー追加メールの適用は適切でしょうか?
- 各メール送信処理の修正内容は適切でしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2024-01-09 08:00:50 +00:00
masaaki
7f8e2d5411 Merged PR 667: ロックが効かなくなる
## 概要
[Task3420: ロックが効かなくなる](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3420)

- 「タスク 3400: テスト修正」対応の影響で正しくlockが行われなくなっていた事象を修正

## レビューポイント
- 特になし

## UIの変更
- 無し

## 動作確認状況
- ユニットテスト実施、ローカル動作確認時、sqlにfor updateが付与されることを確認

## 補足
- 相談、参考資料などがあれば
2023-12-27 10:23:54 +00:00
oura.a
4a73d5f8c4 Merged PR 665: マイグレーションファイル修正
## 概要
[Task3416: マイグレーションファイル修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3416)

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

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

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

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

## 補足
- 相談、参考資料などがあれば
2023-12-27 02:44:19 +00:00
masaaki
7652e5ef08 Merged PR 662: [OMDS様要望] タスク一覧画面の日時表示を変えたい(修正タスク)
## 概要
[Task3362: [OMDS様要望] タスク一覧画面の日時表示を変えたい(修正タスク)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3362)

- 以下の画面について、日時の表示形式をブラウザのロケールに合わせて変換し、時差を考慮した内容になるよう修正しました。
  - タスク一覧画面
  - 音声メタ情報ポップアップ
  - 注文履歴画面(日付のみ表示)
    - サーバからUTCでのYYYY/MM/DDの文字列として返却していたので、ISOStringとして返却して画面で表示内容を変換するよう処理を修正しました
- タスク一覧画面のFile Lengthについて、hh:mm:ss形式となるよう修正しました

## レビューポイント
- formatMillisecondsToHHMMSSについて、他で使うシーンがなかったのでdictation内の関数としたが、全体の関数とした方がよいか
- convertUtcToLocalについて不正な日付の文字列が渡された場合、変換せずに元の値を返却しているが、エラー対応として問題ないか

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

## 動作確認状況
- ローカルで確認、サーバ側はnpm run test実施済

## 補足
- 相談、参考資料などがあれば
2023-12-27 02:24:39 +00:00
oura.a
9852004a36 Merged PR 636: ライセンス発行処理が遅い問題の解決およびトランザクションが効いてなければ効くよう修正する
## 概要
[Task3243: ライセンス発行処理が遅い問題の解決およびトランザクションが効いてなければ効くよう修正する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3243)

ライセンス発行処理が重複して実行できてしまう不具合を修正しました。
■修正内容
・ライセンス注文テーブルの情報を取得する際に、行ロックを取得するよう修正
・ライセンス注文テーブルに、「注文元アカウントID、POナンバー」の2カラムを対象とするインデックスを作成
・以前に外部キー制約をつけた際、自動で作成されていたインデックスを削除

■ロックについて
共有ロックと排他ロックがある
・共有ロック:共有ロック取得中でも、他のトランザクションが共有ロックを取得できる
       排他ロックは取得できない
・排他ロック:排他ロック取得中は、他のトランザクションは共有ロック・排他ロック共に取得できない
今回の修正では、デフォルト設定で共有ロックを取得していた箇所を、明示的に排他ロックを取得するようにした。

■行ロックについて
・インデックス行に対してロックをかけている
 →インデックスが作成されていない、検索条件にヒットしないなどでうまく動かない
  例)インデックスが作成されていないと、テーブル全体のロックとなってしまう
・上記の都合で検索条件が範囲指定のものにロックをかける際は注意が必要。(今回は一意指定なので問題なし)

■SQLiteを使ったユニットテストが`pessimistic_write`に対応していない件について
`process.env.NODE_ENV`の値を参照(テスト実行中は`test`、ビルドした環境で動かすと`undifind`)し、
テスト実行の場合`pessimistic_write`を付与しないようクエリを修正した。

## レビューポイント
インデックスについて懸念点があるか?

## UIの変更
なし

## 動作確認状況
ローカルで以下を確認
■発行処理について
・同じ注文に対し複数タブで発行処理を実行し、後発の処理が「ライセンス発行済みエラー」となることを確認
・同一アカウントからの異なるPOナンバーの注文を同時に発行し、行ロックによる待ちが発生せず並列に処理されることを確認
・別アカウントからの同一POナンバーの注文を同時に発行し、行ロックによる待ちが発生せず並列に処理されることを確認
■インデックスについて
同一アカウントからの異なるPOナンバーの注文を同時に発行
・インデックスを作成している状態で、行ロックによる待ちが発生せず並列に処理されることを確認
・インデックスを削除した状態で、行ロックによる待ちが発生することを確認
・migrate:up/downが正しく動作することを確認

## 補足
以前のアカウント削除PBIで一時的に設定した外部キー制約の作成時に、自動でインデックスも作成されていたようです。
必要ないインデックスはどこかで削除する必要があるかと思っています。
2023-12-27 02:01:24 +00:00
makabe.t
6f62a016d4 Merged PR 663: develop不具合対応
## 概要
[Task3404: develop不具合対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3404)

- ライセンス割り当て通知メールのTOにAdminが入るように修正しました。
- 不要なメソッド`createMailContentFromEmailConfirm`を削除しました。

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

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-12-26 07:24:10 +00:00
湯本 開
f2ef2228c3 Merged PR 661: APIバリデータの漏れを修正
## 概要
[Task3402: APIバリデータの漏れを修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3402)

- Optinal指定が必要なパラメータにOptionalが抜けていた箇所を修正
  - 以前はバリデータ自体が無かったので、IsOptionalが抜けていても偶然動いていた
- 他requestにも同様の漏れがないか `?:` で検索したが、この1件のみだと思われる

## レビューポイント
- 他に同様の記載はなさそうか
- `?:` による省略可能表記以外の記法で省略パラメータは定義されていない認識だが、合っているか

## 動作確認状況
- npm run testは通過
2023-12-25 07:34:49 +00:00
makabe.t
f6c3f69801 Merged PR 657: ユーザー認証完了通知の実装 [U-113]
## 概要
[Task3322: ユーザー認証完了通知の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3322)

- アカウント認証完了後のパスワード通知メール送信処理を追加しました。
- テストでSendGridのメソッドを`overrideSendgridService`で上書きしている箇所について、個別の送信メソッドは不要なので削除しました。

## レビューポイント
- `overrideSendgridService`の対応は適切でしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-12-25 05:59:10 +00:00
makabe.t
9f8ccc436f Merged PR 658: アカウント認証のお願い通知の実装 [U-102]
## 概要
[Task3321: アカウント認証のお願い通知の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3321)

- アカウント登録時の認証メールを送信する機能を追加しました。

## レビューポイント
- 既存のエラー処理はそのままにしていますが不自然な点はないでしょうか?

## UIの変更
- なし
## 動作確認状況
- ローカルで確認
2023-12-25 05:38:28 +00:00
湯本 開
95c058265e Merged PR 655: 外部連携以外のAPIバリデータ見直し(/accounts/*以外)
## 概要
[Task3285: 外部連携以外のAPIバリデータ見直し](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3285)

- バリデータが不足していた部分について、バリデータを追加

## レビューポイント
- 現行の動きが変更されるようなバリデータが設定されていないか
- `AUTHORの時のみ省略不可能` 等のバリデータが設定されているプロパティに関しては、`hogehoge` や `"or ‘1’=’1’"` が設定されたリクエストが来てもバリデータで弾けないが許容可能そうか

## 動作確認状況
- npm run build / npm run test 成功
2023-12-25 05:22:01 +00:00
湯本 開
6deaa37df7 Merged PR 652: 外部連携以外のAPIバリデータ見直し(/accounts/*)
## 概要
[Task3285: 外部連携以外のAPIバリデータ見直し](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3285)

- accounts/* 配下のRequest型に不足しているバリデータを追加

## レビュー対象外
- 他features配下のRequest型のバリデータ
  - 1個のレビューで出すとレビュー負荷が高すぎそうであったため、レビューを分割します

## レビューポイント
- 追加したバリデーションが適切か(主な対応は以下)
  - 数値に型変換していなかったものに型変換を追加
  - IsInt()を追加
  - マイナス値がセットされるとDBリクエストでコケる類のものに制限を追加
  - 文字列はDBやAzure AD B2Cで受付不能な文字数を弾く

## 動作確認状況
- ビルドとテストが成功することは確認
2023-12-25 05:21:35 +00:00
水本 祐希
1c18bf03b6 Merged PR 640: 壊れたライセンステストをDBテストで書き直す
## 概要
[Task3356: 壊れたライセンステストをDBテストで書き直す](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3356)

- 何をどう変更したか、追加したライブラリなど
ライセンスのモック使ったたUTをDBテストになるよう修正
- ライセンス注文が完了する
  - ライセンス注文が完了する
  - ユーザID取得できなかった場合、エラーとなる
  - 親ユーザID取得できなかった場合、エラーとなる
  - POナンバー重複時、エラーとなる

- カードライセンス発行が完了する
  - カードライセンス発行に失敗した場合、エラーになる

- カードライセンス取り込みが完了する
  - カードライセンス取り込みに失敗した場合、エラーになる(DBエラー)
  - カードライセンス取り込みに失敗した場合、エラーになる(ライセンスが存在しないエラー)
  - カードライセンス取り込みに失敗した場合、エラーになる(ライセンスが既に取り込まれているエラー)

※カードライセンス発行、カードライセンス取り込みが完了する、取込可能なライセンスのみが取得できる
以上の3点はすでにDBテストになっていたので、特に修正・追加していません。

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

## 動作確認状況
- ユニットテスト
2023-12-25 00:17:17 +00:00
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
3fc184b4af Merged PR 646: アカウント情報変更完了通知 [U-112] の実装
## 概要
[Task3308: アカウント情報変更完了通知 [U-112] の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3308)

- アカウント情報変更時の通知メール送信機能を追加しました。

## レビューポイント
- メールに渡す情報の取得内容に不自然な点はないでしょうか?

## UIの変更
- なし
## 動作確認状況
- ローカルで確認
2023-12-22 00:18:11 +00:00
Kentaro Fukunaga
9baae2d2dc Merged PR 644: Dictation Workflow完了通知 [U-117] の実装
## 概要
[Task3313: Dictation Workflow完了通知 [U-117] の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3313)

- 文字起こし完了時にメール送信する機能を実装しました。
- npm run formatで変更あった箇所も入っています。

## レビューポイント
- SendGridServiceのIFを「こうしたほうがいいかも」とかあれば。
- メール送信に必要な内容取得で効率的にできそうな部分ないか?

## UIの変更
- なし

## 動作確認状況
- ローカルでnpm run testが通ることを確認
- ローカルでメール送信されることを確認
2023-12-21 06:49:30 +00:00
makabe.t
a6f56d71ee Merged PR 645: アカウント情報消去完了通知 [U-111] の実装
## 概要
[Task3307: アカウント情報消去完了通知 [U-111] の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3307)

-

## レビューポイント
- アカウント削除時の削除通知メール送信機能を追加しました。

## UIの変更
- メールに必要な情報を取得するために削除前に取得処理を入れていますが不自然な点はないでしょうか?

## 動作確認状況
- ローカルで確認
2023-12-20 08:50:16 +00:00
湯本 開
1bc6618a6d Merged PR 643: ライセンス引き戻し完了通知 [U-109] の実装
## 概要
[Task3306: ライセンス引き戻し完了通知 [U-109] の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3306)

- ライセンス引き戻し完了のメール送信機能を追加しました。
- テストでメール送信しないようSendGridのメソッドを上書きする処理を追加しました。

## レビューポイント
- テンプレートの適用内容に不自然な点はないか
- アカウントのFromとToとCCに関わる部分で認識違いはないか
  - `orderedAccountId` という引数には注文したアカウント=下位階層のアカウントが入るという理解であっているか等

## UIの変更
- なし
## 動作確認状況
- npm run testは通過
2023-12-20 07:54:47 +00:00
makabe.t
9e1bc8944f Merged PR 641: ライセンス割当完了通知 [U-108] の実装
## 概要
[Task3305: ライセンス割当完了通知 [U-108] の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3305)

- ライセンス割り当ての完了通知メール送信機能を追加しました。
- テストでメール送信しないようSendGridのメソッドを上書きする処理を追加しました。

## レビューポイント
- テンプレートの適用内容に不自然な点はないでしょうか?
- テストでのメソッドの上書きは適切でしょうか?

## UIの変更
- なし
## 動作確認状況
- ローカルで確認
2023-12-19 09:57:07 +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
makabe.t
11aa73f190 Merged PR 639: ライセンス発行完了通知 [U-107] の実装
## 概要
[Task3304: ライセンス発行完了通知 [U-107] の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3304)

- ライセンス発行完了時のメール送信機能を追加しました。

## レビューポイント
- テンプレートの内容は適切でしょうか?
- メールに渡す値の取得で不自然な点はないでしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-12-19 01:25:57 +00:00
makabe.t
4d325d1751 Merged PR 638: ライセンス発行依頼受付通知 [U-105] の実装
## 概要
[Task3302: ライセンス発行依頼受付通知 [U-105] の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3302)

- ライセンス注文時のメール通知処理を既存処理に追加しました。

## レビューポイント
- テンプレートの適用に問題はないでしょうか?
- メールに渡す値の取得処理は認識通りでしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-12-19 01:16:50 +00:00
makabe.t
a676d65f0a Merged PR 633: HTMLテンプレートファイルの形式を決定
## 概要
[Task3320: HTMLテンプレートファイルの形式を決定](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3320)

- HTMLテンプレートの形式を見ていただくにあたって、ライセンス注文キャンセルでテンプレートからメールを生成する処理を実装しました。
  - ライセンス注文キャンセルメールのテンプレートを追加しています。
- メール送信時にTOとCCに複数人を設定できるように修正しました。

## レビューポイント
- テンプレート中で置き換える文字列を定数として定義していますが違和感はないでしょうか?
- テンプレートの文言置き換え処理ですべてのパターンに引っかかるように正規表現で検索していますが問題ないでしょうか?
- HTMLテンプレート、メール表示内容に違和感はないでしょうか?

## UIの変更
- [Task3320](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/Task3320?csf=1&web=1&e=yU9aDH)

## 動作確認状況
- ローカルで確認
2023-12-18 04:54:53 +00:00
湯本 開
1c39555bfc Merged PR 632: ライセンスオーダーのキャンセル受付通知 [U-106] の実装
## 概要
[Task3303: ライセンスオーダーのキャンセル受付通知 [U-106] の実装](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3303)

- オーダーキャンセルが完了時にメールを送信する処理を追加
- SendGridServiceにテンプレートメールを送信するメソッドを追加
- Adb2cUserからメールアドレスを取得する方法が分散して実装してあったので、取り出す用のメソッドを定義してそれを使用するよう修正

## レビュー対象外
- 実際のメール送信処理部分は未実装なので対象外

## レビューポイント
- SendGridServiceに`sendTtemplateMailWithU{番号}`というメソッドを用意してメール送信を行う形式で問題ないか
  - from/toやCC等もメールの種別毎に異なるので、SendGridService側に具体的にどんなメールを送るかの責任を持たせる方針でいいか
- `sendMailWithU106` の引数に不足や認識間違いはないか
  - キャンセルを行った本人へのメールだけで本当によいか?(他の管理者には知らせないでいいか)等
  - to/cc等も考慮してチェックお願いします

- **特にMISOチーム向け** 依存関係の追加で壊れたテストを削除したが、別途DBテストを追加しないで問題なさそうか?
  - 問題ありそうでれば、別途テスト実装タスクを作る想定

## 動作確認状況
- npm run testが通るところまで確認
2023-12-15 05:56:09 +00:00
makabe.t
ad715285c6 Merged PR 613: 外部連携APIのバリデータ見直し
## 概要
[Task3279: files配下APIの対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3279)

- 外部連携API(以下のAPIが対象)のバリデータを修正しました。
  - ~~音声ファイルアップロード要求API~~
    - ~~GET /files/audio/upload-location~~
  - 音声ファイルアップロード完了API(タスク追加API)
    - POST /files/audio/upload-finished
  - タスクチェックアウトAPI
    - POST /tasks/{audioFileId}/checkout
  - タスクペンディングAPI
    - POST /tasks/{audioFileId}/suspend
  - タスクキャンセルAPI
    - POST /tasks/{audioFileId}/cancel
  - タスクチェックインAPI
    - POST /tasks/{audioFileId}/checkin
  - 音声ファイルダウンロード先取得API
    - GET /files/audio/download-location
  - テンプレートファイルダウンロード先要求API
    - GET /files/template/download-location
  - 次ファイル情報取得要求API
    - GET /tasks/next
  - 認証情報作成API
    - POST /auth/token
  - 通知登録API
    - POST /notification/register

## レビューポイント
- 対象APIに漏れはないでしょうか。
- バリデータの制約は適切でしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-12-13 08:27:00 +00:00
makabe.t
63892bad83 Merged PR 620: テンプレートファイルダウンロードをTypistのみが実行可能にする
## 概要
[Task3291: テンプレートファイルダウンロードをTypistのみが実行可能にする](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3291)

- テンプレートファイルダウンロード先要求APIを実行できるユーザーをTypistのみに修正しました。
  - Authorが実行できないようにしました。

## レビューポイント
- ガードでTypistのみにしたので内部のロールでの分岐処理を削除しましたが問題ないでしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-12-13 08:08:58 +00:00
saito.k
0f35789b91 IPアドレスログ出力に伴う変更の漏れ対応 2023-12-13 12:56:55 +09:00
水本 祐希
5b97b61966 Merged PR 619: API修正(License Inventoryの計算変更)
## 概要
[Task3270: API修正(License Inventoryの計算変更)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3270)

- 何をどう変更したか、追加したライブラリなど
License Inventoryの計算方法を変更
→割り当て済みライセンスは件数に含まれないようにする(未使用と再利用可能ライセンスのみ)

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

## 動作確認状況
- ローカルで確認、ユニットテスト

## 補足
LicenseSummaryのユニットテストが旧式であったため、新しい方式でテストを追加しました。
2023-12-13 02:04:16 +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
makabe.t
b8b3416795 Merged PR 625: セレクトのクエリに追跡用のIDと実行日時の情報を追加する
## 概要
[Task3288: セレクトのクエリに追跡用のIDと実行日時の情報を追加する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3288)

- リポジトリ内でのDB操作でSelect文となる部分にコメント(追跡ID_日時)を追加しました。
  - `find`, `fineOne`, `count`を対象にしています。
- コメントを追加するにあたってContextをリポジトリメソッドの引数に追加しています。

## レビューポイント
- 対応箇所の漏れはないでしょうか?
- コメントのつけ方は適切でしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2023-12-13 00:00:15 +00:00
maruyama.t
934ee7f44d Merged PR 626: Revert 'deleteでコメントを追加できるようにする'
## 概要
[Task3289: deleteでコメントを追加できるようにする](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3289)

delete処理にSQLコメントを挿入する形にリファクタ
レビューポイント
repository/* に存在するdelete文は全て置き換えたはずだが、漏れはなさそうか

Reverts !622
2023-12-12 09:45:30 +00:00
maruyama.t
6c6970c70a Merged PR 622: deleteでコメントを追加できるようにする
## 概要
[Task3289: deleteでコメントを追加できるようにする](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3289)

delete処理にSQLコメントを挿入する形にリファクタ
レビューポイント
repository/* に存在するdelete文は全て置き換えたはずだが、漏れはなさそうか
2023-12-12 09:28:40 +00:00
saito.k
5ef222134e IPアドレス追加に伴う修正漏れ対応 2023-12-12 15:46:37 +09:00