From 9208825975f56bab8aca7ae8d6507f6cfe0f599a Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 22 Sep 2021 17:34:48 +0900 Subject: feat(server): 管理者用アカウント削除API実装 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 動作確認済み Resolve #7735 --- src/queue/index.ts | 5 +++-- src/queue/processors/db/delete-account.ts | 11 ++++++++--- src/queue/types.ts | 7 ++++++- 3 files changed, 17 insertions(+), 6 deletions(-) (limited to 'src/queue') diff --git a/src/queue/index.ts b/src/queue/index.ts index ee34ed47e4..0ce10a4c60 100644 --- a/src/queue/index.ts +++ b/src/queue/index.ts @@ -173,9 +173,10 @@ export function createImportUserListsJob(user: ThinUser, fileId: DriveFile['id'] }); } -export function createDeleteAccountJob(user: ThinUser) { +export function createDeleteAccountJob(user: ThinUser, opts: { soft?: boolean; }) { return dbQueue.add('deleteAccount', { - user: user + user: user, + soft: opts.soft }, { removeOnComplete: true, removeOnFail: true 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): Promise { +export async function deleteAccount(job: Bull.Job): Promise { 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): Promise