]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/models/application/application-interface.ts
Reorganize model files
[github/Chocobozzz/PeerTube.git] / server / models / application / application-interface.ts
1 import * as Sequelize from 'sequelize'
2
3 export namespace ApplicationMethods {
4 export type LoadMigrationVersionCallback = (err: Error, version: number) => void
5 export type LoadMigrationVersion = (callback: LoadMigrationVersionCallback) => void
6
7 export type UpdateMigrationVersionCallback = (err: Error, applicationInstance: ApplicationAttributes) => void
8 export type UpdateMigrationVersion = (newVersion: number, transaction: Sequelize.Transaction, callback: UpdateMigrationVersionCallback) => void
9 }
10
11 export interface ApplicationClass {
12 loadMigrationVersion: ApplicationMethods.LoadMigrationVersion
13 updateMigrationVersion: ApplicationMethods.UpdateMigrationVersion
14 }
15
16 export interface ApplicationAttributes {
17 migrationVersion: number
18 }
19
20 export interface ApplicationInstance extends ApplicationClass, ApplicationAttributes, Sequelize.Instance<ApplicationAttributes> {
21 id: number
22 createdAt: Date
23 updatedAt: Date
24 }
25
26 export interface ApplicationModel extends ApplicationClass, Sequelize.Model<ApplicationInstance, ApplicationAttributes> {}