enhance: Improve account deletion experience

This commit is contained in:
syuilo
2021-08-21 12:48:50 +09:00
parent fd1ef4a62d
commit a53e1e4ec3
5 changed files with 88 additions and 19 deletions

View File

@ -1,11 +1,12 @@
import * as Bull from 'bull';
import { queueLogger } from '../../logger';
import { DriveFiles, Notes, Users } from '@/models/index';
import { DriveFiles, Notes, UserProfiles, Users } from '@/models/index';
import { DbUserJobData } from '@/queue/types';
import { Note } from '@/models/entities/note';
import { DriveFile } from '@/models/entities/drive-file';
import { MoreThan } from 'typeorm';
import { deleteFileSync } from '@/services/drive/delete-file';
import { sendEmail } from '@/services/send-email';
const logger = queueLogger.createSubLogger('delete-account');
@ -73,6 +74,15 @@ export async function deleteAccount(job: Bull.Job<DbUserJobData>): Promise<strin
logger.succ(`All of files deleted`);
}
{ // Send email notification
const profile = await UserProfiles.findOneOrFail(user.id);
if (profile.email && profile.emailVerified) {
sendEmail(profile.email, 'Account deleted',
`Your account has been deleted.`,
`Your account has been deleted.`);
}
}
await Users.delete(job.data.user.id);
return 'Account deleted';