From aab5bf2af693fe21f30f65f4c2e9a9e1422aa61f Mon Sep 17 00:00:00 2001 From: "maruyama.t" Date: Tue, 28 Nov 2023 04:01:09 +0000 Subject: [PATCH] =?UTF-8?q?Merged=20PR=20592:=20[=E3=82=B7=E3=82=B9?= =?UTF-8?q?=E3=83=86=E3=83=A0=E3=83=86=E3=82=B9=E3=83=88=E5=85=A5=E3=81=A3?= =?UTF-8?q?=E3=81=A6=E3=81=8B=E3=82=89=E5=AF=BE=E5=BF=9C=E3=81=A7OK]=20?= =?UTF-8?q?=E3=83=A9=E3=82=A4=E3=82=BB=E3=83=B3=E3=82=B9=E7=99=BA=E8=A1=8C?= =?UTF-8?q?=E6=99=82=E3=81=AE=E6=9C=89=E5=8A=B9=E6=9C=9F=E9=99=90=E3=81=AE?= =?UTF-8?q?=E8=A8=88=E7=AE=97=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 概要 [Task2490: [システムテスト入ってから対応でOK] ライセンス発行時の有効期限の計算を変更する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2490) ライセンスの有効期限にタイムゾーンを加味した時刻8時間を追加した - 影響範囲(他の機能にも影響があるか) 既存のユニットテスト ## レビューポイント ライセンスの有効期限がセットされるシチュエーションに対する修正の漏れがないか。 ## UIの変更 なし ## 動作確認状況 - ローカルで確認 ## 補足 - 相談、参考資料などがあれば --- dictation_server/src/constants/index.ts | 6 ++++++ dictation_server/src/features/licenses/types/types.ts | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/dictation_server/src/constants/index.ts b/dictation_server/src/constants/index.ts index 625277c..0f8a7eb 100644 --- a/dictation_server/src/constants/index.ts +++ b/dictation_server/src/constants/index.ts @@ -139,6 +139,12 @@ export const LICENSE_EXPIRATION_THRESHOLD_DAYS = 14; */ export const LICENSE_EXPIRATION_DAYS = 365; +/** + * タイムゾーンを加味したライセンスの有効期間(8時間) + * @const {number} + */ +export const LICENSE_EXPIRATION_TIME_WITH_TIMEZONE = 8; + /** * カードライセンスの桁数 * @const {number} diff --git a/dictation_server/src/features/licenses/types/types.ts b/dictation_server/src/features/licenses/types/types.ts index d303b1e..e6aced1 100644 --- a/dictation_server/src/features/licenses/types/types.ts +++ b/dictation_server/src/features/licenses/types/types.ts @@ -3,6 +3,7 @@ import { IsInt, Matches, Max, Min, Length } from 'class-validator'; import { LICENSE_EXPIRATION_DAYS, LICENSE_EXPIRATION_THRESHOLD_DAYS, + LICENSE_EXPIRATION_TIME_WITH_TIMEZONE, TRIAL_LICENSE_EXPIRATION_DAYS, } from '../../../constants'; @@ -96,6 +97,8 @@ export class NewTrialLicenseExpirationDate extends Date { } else { super(...(args as [string])); // 引数がある場合、引数をそのままDateクラスのコンストラクタに渡す } + // タイムゾーンをカバーするために現在時刻に8時間を加算してから、30日後の日付を取得する + this.setHours(this.getHours() + LICENSE_EXPIRATION_TIME_WITH_TIMEZONE); this.setDate(this.getDate() + TRIAL_LICENSE_EXPIRATION_DAYS); this.setHours(23, 59, 59); // 時分秒を"23:59:59"に固定 this.setMilliseconds(0); @@ -110,6 +113,8 @@ export class NewAllocatedLicenseExpirationDate extends Date { } else { super(...(args as [string])); // 引数がある場合、引数をそのままDateクラスのコンストラクタに渡す } + // タイムゾーンをカバーするために現在時刻に8時間を加算してから、365日後の日付を取得する + this.setHours(this.getHours() + LICENSE_EXPIRATION_TIME_WITH_TIMEZONE); this.setDate(this.getDate() + LICENSE_EXPIRATION_DAYS); this.setHours(23, 59, 59); // 時分秒を"23:59:59"に固定 this.setMilliseconds(0);