From ebbf957419ef298fb20024addc0995953cff9679 Mon Sep 17 00:00:00 2001 From: "saito.k" Date: Thu, 22 Feb 2024 02:38:05 +0000 Subject: [PATCH] =?UTF-8?q?Merged=20PR=20770:=20AuthorID=E3=82=92=E5=A4=A7?= =?UTF-8?q?=E6=96=87=E5=AD=97=E3=81=A8=E3=82=A2=E3=83=B3=E3=83=80=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E3=82=B3=E3=82=A2=E3=81=AE=E3=81=BF=E3=81=A8=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=83=90=E3=83=AA=E3=83=87=E3=83=BC=E3=82=B7=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=82=92=E5=85=A5=E3=82=8C=E3=81=9F=E3=81=93=E3=81=A8?= =?UTF-8?q?=E3=81=AB=E3=82=88=E3=82=8B=E3=83=87=E3=82=B0=E3=83=AC=E3=81=AE?= =?UTF-8?q?=E8=A7=A3=E6=B6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 概要 [Task3784: AuthorIDを大文字とアンダースコアのみとするバリデーションを入れたことによるデグレの解消](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3784) - タイトルの通り - ロールがAuthorの時のみチェックするように修正 ## レビューポイント - 特になし ## UIの変更 - Before/Afterのスクショなど - スクショ置き場 ## 動作確認状況 - ローカルで確認、develop環境で確認など ## 補足 - 相談、参考資料などがあれば --- .../src/common/validators/authorId.validator.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/dictation_server/src/common/validators/authorId.validator.ts b/dictation_server/src/common/validators/authorId.validator.ts index 02ad278..23afafb 100644 --- a/dictation_server/src/common/validators/authorId.validator.ts +++ b/dictation_server/src/common/validators/authorId.validator.ts @@ -5,11 +5,26 @@ import { ValidationOptions, registerDecorator, } from 'class-validator'; +import { + PostUpdateUserRequest, + SignupRequest, +} from '../../features/users/types/types'; +import { USER_ROLES } from '../../constants'; // 大文字英数字とアンダースコアのみを許可するバリデータ @ValidatorConstraint({ name: 'IsAuthorId', async: false }) export class IsAuthorId implements ValidatorConstraintInterface { validate(value: any, args: ValidationArguments) { + const request = args.object as SignupRequest | PostUpdateUserRequest; + // requestの存在チェック + if (!request) { + return false; + } + const { role } = request; + // roleがauthor以外の場合はスキップする + if (role !== USER_ROLES.AUTHOR) { + return true; + } return /^[A-Z0-9_]*$/.test(value); } defaultMessage(args: ValidationArguments) {