-import * as Sequelize from 'sequelize'
-import { addMethodsToModel } from '../utils'
-import { AvatarAttributes, AvatarInstance, AvatarMethods } from './avatar-interface'
-
-let Avatar: Sequelize.Model<AvatarInstance, AvatarAttributes>
-
-export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.DataTypes) {
- Avatar = sequelize.define<AvatarInstance, AvatarAttributes>('Avatar',
- {
- filename: {
- type: DataTypes.STRING,
- allowNull: false
- }
- },
- {}
- )
-
- const classMethods = []
- addMethodsToModel(Avatar, classMethods)
-
- return Avatar
-}
+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 { CONFIG, STATIC_PATHS } from '../../initializers'
+
+@Table({
+ tableName: 'avatar'
+})
+export class AvatarModel extends Model<AvatarModel> {
+
+ @AllowNull(false)
+ @Column
+ filename: string
+
+ @CreatedAt
+ createdAt: Date
+
+ @UpdatedAt
+ updatedAt: Date