import { join } from 'path'
import { AfterDestroy, AllowNull, Column, CreatedAt, Model, Table, UpdatedAt } from 'sequelize-typescript'
import { Avatar } from '../../../shared/models/avatars/avatar.model'
-import { unlinkPromise } from '../../helpers/core-utils'
-import { logger } from '../../helpers/logger'
import { CONFIG, STATIC_PATHS } from '../../initializers'
-import { sendDeleteVideo } from '../../lib/activitypub/send'
+import { logger } from '../../helpers/logger'
+import { remove } from 'fs-extra'
@Table({
tableName: 'avatar'
@AfterDestroy
static removeFilesAndSendDelete (instance: AvatarModel) {
- return instance.removeAvatar()
+ logger.info('Removing avatar file %s.', instance.filename)
+
+ // Don't block the transaction
+ instance.removeAvatar()
+ .catch(err => logger.error('Cannot remove avatar file %s.', instance.filename, err))
}
toFormattedJSON (): Avatar {
removeAvatar () {
const avatarPath = join(CONFIG.STORAGE.AVATARS_DIR, this.filename)
- return unlinkPromise(avatarPath)
+ return remove(avatarPath)
}
}