import { throwIfNotValid } from '../utils'
import { ServerBlocklistModel } from './server-blocklist'
import * as Bluebird from 'bluebird'
-import { MServer, MServerFormattable } from '@server/typings/models/server'
+import { MServer, MServerFormattable } from '@server/types/models/server'
@Table({
tableName: 'server',
})
BlockedByAccounts: ServerBlocklistModel[]
+ static load (id: number): Bluebird<MServer> {
+ const query = {
+ where: {
+ id
+ }
+ }
+
+ return ServerModel.findOne(query)
+ }
+
static loadByHost (host: string): Bluebird<MServer> {
const query = {
where: {
return ServerModel.findOne(query)
}
+ static async loadOrCreateByHost (host: string) {
+ let server = await ServerModel.loadByHost(host)
+ if (!server) server = await ServerModel.create({ host })
+
+ return server
+ }
+
isBlocked () {
return this.BlockedByAccounts && this.BlockedByAccounts.length !== 0
}