]>
Commit | Line | Data |
---|---|---|
1 | import * as Sequelize from 'sequelize' | |
2 | import * as Promise from 'bluebird' | |
3 | ||
4 | import { JobState } from '../../../shared/models/job.model' | |
5 | ||
6 | export namespace JobMethods { | |
7 | export type ListWithLimit = (limit: number, state: JobState) => Promise<JobInstance[]> | |
8 | } | |
9 | ||
10 | export interface JobClass { | |
11 | listWithLimit: JobMethods.ListWithLimit | |
12 | } | |
13 | ||
14 | export interface JobAttributes { | |
15 | state: JobState | |
16 | handlerName: string | |
17 | handlerInputData: object | |
18 | } | |
19 | ||
20 | export interface JobInstance extends JobClass, JobAttributes, Sequelize.Instance<JobAttributes> { | |
21 | id: number | |
22 | createdAt: Date | |
23 | updatedAt: Date | |
24 | } | |
25 | ||
26 | export interface JobModel extends JobClass, Sequelize.Model<JobInstance, JobAttributes> {} |