From c5911fd347c76e8bdc05ea9f3ee9efed4a58c236 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 29 Dec 2017 19:10:13 +0100 Subject: Begin to add avatar to actors --- server/models/avatar/avatar.ts | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'server/models/avatar') diff --git a/server/models/avatar/avatar.ts b/server/models/avatar/avatar.ts index 2e7a8ae2c..7493c3d75 100644 --- a/server/models/avatar/avatar.ts +++ b/server/models/avatar/avatar.ts @@ -1,4 +1,10 @@ -import { AllowNull, Column, CreatedAt, Model, Table, UpdatedAt } from 'sequelize-typescript' +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' @Table({ tableName: 'avatar' @@ -14,4 +20,26 @@ export class AvatarModel extends Model { @UpdatedAt updatedAt: Date + + @AfterDestroy + static removeFilesAndSendDelete (instance: AvatarModel) { + return instance.removeAvatar() + } + + toFormattedJSON (): Avatar { + return { + path: this.getWebserverPath(), + createdAt: this.createdAt, + updatedAt: this.updatedAt + } + } + + getWebserverPath () { + return join(STATIC_PATHS.AVATARS, this.filename) + } + + removeAvatar () { + const avatarPath = join(CONFIG.STORAGE.AVATARS_DIR, this.filename) + return unlinkPromise(avatarPath) + } } -- cgit v1.2.3