]>
Commit | Line | Data |
---|---|---|
e02643f3 | 1 | import * as Sequelize from 'sequelize' |
6fcd19ba | 2 | import * as Promise from 'bluebird' |
e02643f3 C |
3 | |
4 | export namespace ApplicationMethods { | |
6fcd19ba | 5 | export type LoadMigrationVersion = () => Promise<number> |
69818c93 | 6 | |
6fcd19ba C |
7 | export type UpdateMigrationVersion = ( |
8 | newVersion: number, | |
9 | transaction: Sequelize.Transaction | |
10 | ) => Promise<[ number, ApplicationInstance[] ]> | |
e02643f3 C |
11 | } |
12 | ||
13 | export interface ApplicationClass { | |
14 | loadMigrationVersion: ApplicationMethods.LoadMigrationVersion | |
15 | updateMigrationVersion: ApplicationMethods.UpdateMigrationVersion | |
16 | } | |
17 | ||
18 | export interface ApplicationAttributes { | |
19 | migrationVersion: number | |
20 | } | |
21 | ||
22 | export interface ApplicationInstance extends ApplicationClass, ApplicationAttributes, Sequelize.Instance<ApplicationAttributes> { | |
23 | id: number | |
24 | createdAt: Date | |
25 | updatedAt: Date | |
26 | } | |
27 | ||
28 | export interface ApplicationModel extends ApplicationClass, Sequelize.Model<ApplicationInstance, ApplicationAttributes> {} |