diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2024-04-13 20:38:25 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-13 20:38:25 +0900 |
| commit | 5c7c44c9ebd12e9ae0dd6d7fab8f6dd78ba54eb7 (patch) | |
| tree | a012f78c38bc491abeb15a51bedf72768feb2a83 /packages/backend/src/server | |
| parent | feat(frontend): アップロードするファイルの名前をランダム... (diff) | |
| download | sharkey-5c7c44c9ebd12e9ae0dd6d7fab8f6dd78ba54eb7.tar.gz sharkey-5c7c44c9ebd12e9ae0dd6d7fab8f6dd78ba54eb7.tar.bz2 sharkey-5c7c44c9ebd12e9ae0dd6d7fab8f6dd78ba54eb7.zip | |
fix(backend): 登録にメール認証が必須になっている場合、登録されているメールアドレスを削除できないように (#13703)
* fix(backend): 登録にメール認証が必須になっている場合、登録されているメールアドレスを削除できないように (MisskeyIO#606)
(cherry picked from commit 6b7df2bd10dc28b84f525a621b66fc49bf59cac6)
* Update Changelog
---------
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
Diffstat (limited to 'packages/backend/src/server')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/i/update-email.ts | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoints/i/update-email.ts b/packages/backend/src/server/api/endpoints/i/update-email.ts index 3868278690..eea657ebbd 100644 --- a/packages/backend/src/server/api/endpoints/i/update-email.ts +++ b/packages/backend/src/server/api/endpoints/i/update-email.ts @@ -15,6 +15,7 @@ import { DI } from '@/di-symbols.js'; import { GlobalEventService } from '@/core/GlobalEventService.js'; import { L_CHARS, secureRndstr } from '@/misc/secure-rndstr.js'; import { UserAuthService } from '@/core/UserAuthService.js'; +import { MetaService } from '@/core/MetaService.js'; import { ApiError } from '../../error.js'; export const meta = { @@ -39,6 +40,12 @@ export const meta = { code: 'UNAVAILABLE', id: 'a2defefb-f220-8849-0af6-17f816099323', }, + + emailRequired: { + message: 'Email address is required.', + code: 'EMAIL_REQUIRED', + id: '324c7a88-59f2-492f-903f-89134f93e47e', + }, }, res: { @@ -66,6 +73,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- @Inject(DI.userProfilesRepository) private userProfilesRepository: UserProfilesRepository, + private metaService: MetaService, private userEntityService: UserEntityService, private emailService: EmailService, private userAuthService: UserAuthService, @@ -97,6 +105,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- if (!res.available) { throw new ApiError(meta.errors.unavailable); } + } else if ((await this.metaService.fetch()).emailRequiredForSignup) { + throw new ApiError(meta.errors.emailRequired); } await this.userProfilesRepository.update(me.id, { |