- addMethodsToModel(Server, classMethods)
-
- return Server
-}
-
-// ------------------------------ Statics ------------------------------
-
-updateServersScoreAndRemoveBadOnes = function (goodServers: number[], badServers: number[]) {
- logger.info('Updating %d good servers and %d bad servers scores.', goodServers.length, badServers.length)
+})
+export class ServerModel extends Model<ServerModel> {
+
+ @AllowNull(false)
+ @Is('Host', value => throwIfNotValid(value, isHostValid, 'valid host'))
+ @Column
+ host: string
+
+ @AllowNull(false)
+ @Default(SERVERS_SCORE.BASE)
+ @IsInt
+ @Max(SERVERS_SCORE.MAX)
+ @Column
+ score: number
+
+ @CreatedAt
+ createdAt: Date
+
+ @UpdatedAt
+ updatedAt: Date
+
+ static updateServersScoreAndRemoveBadOnes (goodServers: number[], badServers: number[]) {
+ logger.info('Updating %d good servers and %d bad servers scores.', goodServers.length, badServers.length)
+
+ if (goodServers.length !== 0) {
+ ServerModel.incrementScores(goodServers, SERVERS_SCORE.BONUS)
+ .catch(err => {
+ logger.error('Cannot increment scores of good servers.', err)
+ })
+ }