-
-import { FRIEND_SCORE, SERVERS_SCORE } from '../../initializers'
-import { logger, isHostValid } from '../../helpers'
-
-import { addMethodsToModel, getSort } from '../utils'
-import {
- ServerInstance,
- ServerAttributes,
-
- ServerMethods
-} from './server-interface'
-
-let Server: Sequelize.Model<ServerInstance, ServerAttributes>
-let countAll: ServerMethods.CountAll
-let incrementScores: ServerMethods.IncrementScores
-let list: ServerMethods.List
-let listForApi: ServerMethods.ListForApi
-let listAllIds: ServerMethods.ListAllIds
-let listRandomServerIdsWithRequest: ServerMethods.ListRandomServerIdsWithRequest
-let listBadServers: ServerMethods.ListBadServers
-let load: ServerMethods.Load
-let loadByHost: ServerMethods.LoadByHost
-let removeAll: ServerMethods.RemoveAll
-let updateServersScore: ServerMethods.UpdateServersScore
-
-export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.DataTypes) {
- Server = sequelize.define<ServerInstance, ServerAttributes>('Server',
+import { AllowNull, Column, CreatedAt, Default, Is, IsInt, Max, Model, Table, UpdatedAt } from 'sequelize-typescript'
+import { isHostValid } from '../../helpers/custom-validators/servers'
+import { logger } from '../../helpers/logger'
+import { SERVERS_SCORE } from '../../initializers'
+import { throwIfNotValid } from '../utils'
+
+@Table({
+ tableName: 'server',
+ indexes: [