]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/models/server/server-interface.ts
Add beautiful loading bar
[github/Chocobozzz/PeerTube.git] / server / models / server / server-interface.ts
1 import * as Promise from 'bluebird'
2 import * as Sequelize from 'sequelize'
3
4 export namespace ServerMethods {
5 export type ListBadServers = () => Promise<ServerInstance[]>
6 export type UpdateServersScoreAndRemoveBadOnes = (goodServers: number[], badServers: number[]) => void
7 }
8
9 export interface ServerClass {
10 updateServersScoreAndRemoveBadOnes: ServerMethods.UpdateServersScoreAndRemoveBadOnes
11 }
12
13 export interface ServerAttributes {
14 id?: number
15 host?: string
16 score?: number | Sequelize.literal // Sequelize literal for 'score +' + value
17 }
18
19 export interface ServerInstance extends ServerClass, ServerAttributes, Sequelize.Instance<ServerAttributes> {
20 createdAt: Date
21 updatedAt: Date
22 }
23
24 export interface ServerModel extends ServerClass, Sequelize.Model<ServerInstance, ServerAttributes> {}