diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2021-09-22 22:53:41 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2021-09-22 22:53:41 +0900 |
| commit | 338793d891d1657f158cd4dc83f998e124bd7e45 (patch) | |
| tree | d47080ad4fcff61ad5eafdb8eb1e3ca997739115 /src/queue | |
| parent | Merge branch 'develop' (diff) | |
| parent | 12.91.0 (diff) | |
| download | misskey-338793d891d1657f158cd4dc83f998e124bd7e45.tar.gz misskey-338793d891d1657f158cd4dc83f998e124bd7e45.tar.bz2 misskey-338793d891d1657f158cd4dc83f998e124bd7e45.zip | |
Merge branch 'develop'
Diffstat (limited to 'src/queue')
| -rw-r--r-- | src/queue/index.ts | 9 | ||||
| -rw-r--r-- | src/queue/processors/db/delete-account.ts | 11 | ||||
| -rw-r--r-- | src/queue/processors/db/export-blocking.ts | 2 | ||||
| -rw-r--r-- | src/queue/processors/db/export-following.ts | 2 | ||||
| -rw-r--r-- | src/queue/processors/db/export-mute.ts | 2 | ||||
| -rw-r--r-- | src/queue/processors/db/export-notes.ts | 2 | ||||
| -rw-r--r-- | src/queue/processors/db/export-user-lists.ts | 2 | ||||
| -rw-r--r-- | src/queue/types.ts | 7 |
8 files changed, 25 insertions, 12 deletions
diff --git a/src/queue/index.ts b/src/queue/index.ts index 4ca7998e61..0ce10a4c60 100644 --- a/src/queue/index.ts +++ b/src/queue/index.ts @@ -64,7 +64,9 @@ export function deliver(user: ThinUser, content: unknown, to: string | null) { if (to == null) return null; const data = { - user, + user: { + id: user.id + }, content, to }; @@ -171,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<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'; } diff --git a/src/queue/processors/db/export-blocking.ts b/src/queue/processors/db/export-blocking.ts index a0fc385006..8b8aa259d4 100644 --- a/src/queue/processors/db/export-blocking.ts +++ b/src/queue/processors/db/export-blocking.ts @@ -4,7 +4,7 @@ import * as fs from 'fs'; import { queueLogger } from '../../logger'; import addFile from '@/services/drive/add-file'; -import dateFormat from 'dateformat'; +import * as dateFormat from 'dateformat'; import { getFullApAccount } from '@/misc/convert-host'; import { Users, Blockings } from '@/models/index'; import { MoreThan } from 'typeorm'; diff --git a/src/queue/processors/db/export-following.ts b/src/queue/processors/db/export-following.ts index 3612150363..a0ecf5f560 100644 --- a/src/queue/processors/db/export-following.ts +++ b/src/queue/processors/db/export-following.ts @@ -4,7 +4,7 @@ import * as fs from 'fs'; import { queueLogger } from '../../logger'; import addFile from '@/services/drive/add-file'; -import dateFormat from 'dateformat'; +import * as dateFormat from 'dateformat'; import { getFullApAccount } from '@/misc/convert-host'; import { Users, Followings } from '@/models/index'; import { MoreThan } from 'typeorm'; diff --git a/src/queue/processors/db/export-mute.ts b/src/queue/processors/db/export-mute.ts index 70b2272cdb..d5976f7d56 100644 --- a/src/queue/processors/db/export-mute.ts +++ b/src/queue/processors/db/export-mute.ts @@ -4,7 +4,7 @@ import * as fs from 'fs'; import { queueLogger } from '../../logger'; import addFile from '@/services/drive/add-file'; -import dateFormat from 'dateformat'; +import * as dateFormat from 'dateformat'; import { getFullApAccount } from '@/misc/convert-host'; import { Users, Mutings } from '@/models/index'; import { MoreThan } from 'typeorm'; diff --git a/src/queue/processors/db/export-notes.ts b/src/queue/processors/db/export-notes.ts index 3f146aff1b..49850aa706 100644 --- a/src/queue/processors/db/export-notes.ts +++ b/src/queue/processors/db/export-notes.ts @@ -4,7 +4,7 @@ import * as fs from 'fs'; import { queueLogger } from '../../logger'; import addFile from '@/services/drive/add-file'; -import dateFormat from 'dateformat'; +import * as dateFormat from 'dateformat'; import { Users, Notes, Polls } from '@/models/index'; import { MoreThan } from 'typeorm'; import { Note } from '@/models/entities/note'; diff --git a/src/queue/processors/db/export-user-lists.ts b/src/queue/processors/db/export-user-lists.ts index 89bbd5af18..8a86c4df5d 100644 --- a/src/queue/processors/db/export-user-lists.ts +++ b/src/queue/processors/db/export-user-lists.ts @@ -4,7 +4,7 @@ import * as fs from 'fs'; import { queueLogger } from '../../logger'; import addFile from '@/services/drive/add-file'; -import dateFormat from 'dateformat'; +import * as dateFormat from 'dateformat'; import { getFullApAccount } from '@/misc/convert-host'; import { Users, UserLists, UserListJoinings } from '@/models/index'; import { In } from 'typeorm'; diff --git a/src/queue/types.ts b/src/queue/types.ts index a782fc6b97..39cab29966 100644 --- a/src/queue/types.ts +++ b/src/queue/types.ts @@ -17,12 +17,17 @@ export type InboxJobData = { signature: httpSignature.IParsedSignature; }; -export type DbJobData = DbUserJobData | DbUserImportJobData; +export type DbJobData = DbUserJobData | DbUserImportJobData | DbUserDeleteJobData; export type DbUserJobData = { user: ThinUser; }; +export type DbUserDeleteJobData = { + user: ThinUser; + soft?: boolean; +}; + export type DbUserImportJobData = { user: ThinUser; fileId: DriveFile['id']; |