]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/models/application/application-interface.ts
Add follow tabs
[github/Chocobozzz/PeerTube.git] / server / models / application / application-interface.ts
CommitLineData
e02643f3 1import * as Sequelize from 'sequelize'
350e31d6 2import * as Bluebird from 'bluebird'
e02643f3
C
3
4export namespace ApplicationMethods {
350e31d6 5 export type LoadMigrationVersion = () => Bluebird<number>
69818c93 6
6fcd19ba
C
7 export type UpdateMigrationVersion = (
8 newVersion: number,
9 transaction: Sequelize.Transaction
350e31d6
C
10 ) => Bluebird<[ number, ApplicationInstance[] ]>
11
12 export type CountTotal = () => Bluebird<number>
e02643f3
C
13}
14
15export interface ApplicationClass {
16 loadMigrationVersion: ApplicationMethods.LoadMigrationVersion
17 updateMigrationVersion: ApplicationMethods.UpdateMigrationVersion
350e31d6 18 countTotal: ApplicationMethods.CountTotal
e02643f3
C
19}
20
21export interface ApplicationAttributes {
22 migrationVersion: number
23}
24
25export interface ApplicationInstance extends ApplicationClass, ApplicationAttributes, Sequelize.Instance<ApplicationAttributes> {
26 id: number
27 createdAt: Date
28 updatedAt: Date
29}
30
31export interface ApplicationModel extends ApplicationClass, Sequelize.Model<ApplicationInstance, ApplicationAttributes> {}