]>
Commit | Line | Data |
---|---|---|
e02643f3 | 1 | import * as Sequelize from 'sequelize' |
350e31d6 | 2 | import * as Bluebird from 'bluebird' |
e02643f3 C |
3 | |
4 | export 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 | ||
15 | export interface ApplicationClass { | |
16 | loadMigrationVersion: ApplicationMethods.LoadMigrationVersion | |
17 | updateMigrationVersion: ApplicationMethods.UpdateMigrationVersion | |
350e31d6 | 18 | countTotal: ApplicationMethods.CountTotal |
e02643f3 C |
19 | } |
20 | ||
21 | export interface ApplicationAttributes { | |
22 | migrationVersion: number | |
23 | } | |
24 | ||
25 | export interface ApplicationInstance extends ApplicationClass, ApplicationAttributes, Sequelize.Instance<ApplicationAttributes> { | |
26 | id: number | |
27 | createdAt: Date | |
28 | updatedAt: Date | |
29 | } | |
30 | ||
31 | export interface ApplicationModel extends ApplicationClass, Sequelize.Model<ApplicationInstance, ApplicationAttributes> {} |