diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2021-09-22 17:34:48 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2021-09-22 17:34:48 +0900 |
| commit | 9208825975f56bab8aca7ae8d6507f6cfe0f599a (patch) | |
| tree | 2472c0ba06fd4adf6bdb150a1ddb48059b449034 /src/queue/processors | |
| parent | enhance(client): リスト、アンテナタイムラインを個別ページ... (diff) | |
| download | sharkey-9208825975f56bab8aca7ae8d6507f6cfe0f599a.tar.gz sharkey-9208825975f56bab8aca7ae8d6507f6cfe0f599a.tar.bz2 sharkey-9208825975f56bab8aca7ae8d6507f6cfe0f599a.zip | |
feat(server): 管理者用アカウント削除API実装
動作確認済み
Resolve #7735
Diffstat (limited to 'src/queue/processors')
| -rw-r--r-- | src/queue/processors/db/delete-account.ts | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/queue/processors/db/delete-account.ts b/src/queue/processors/db/delete-account.ts index 65327754c2..e54f38e35e 100644 --- a/src/queue/processors/db/delete-account.ts +++ b/src/queue/processors/db/delete-account.ts @@ -1,7 +1,7 @@ import * as Bull from 'bull'; import { queueLogger } from '../../logger'; import { DriveFiles, Notes, UserProfiles, Users } from '@/models/index'; -import { DbUserJobData } from '@/queue/types'; +import { DbUserDeleteJobData } from '@/queue/types'; import { Note } from '@/models/entities/note'; import { DriveFile } from '@/models/entities/drive-file'; import { MoreThan } from 'typeorm'; @@ -10,7 +10,7 @@ import { sendEmail } from '@/services/send-email'; const logger = queueLogger.createSubLogger('delete-account'); -export async function deleteAccount(job: Bull.Job<DbUserJobData>): Promise<string | void> { +export async function deleteAccount(job: Bull.Job<DbUserDeleteJobData>): Promise<string | void> { logger.info(`Deleting account of ${job.data.user.id} ...`); const user = await Users.findOne(job.data.user.id); @@ -83,7 +83,12 @@ export async function deleteAccount(job: Bull.Job<DbUserJobData>): Promise<strin } } - await Users.delete(job.data.user.id); + // soft指定されている場合は物理削除しない + if (job.data.soft) { + // nop + } else { + await Users.delete(job.data.user.id); + } return 'Account deleted'; } |