aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/models/request-interface.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/models/request-interface.ts')
-rw-r--r--server/models/request-interface.ts32
1 files changed, 32 insertions, 0 deletions
diff --git a/server/models/request-interface.ts b/server/models/request-interface.ts
new file mode 100644
index 000000000..2bba8ce7f
--- /dev/null
+++ b/server/models/request-interface.ts
@@ -0,0 +1,32 @@
1import * as Sequelize from 'sequelize'
2
3import { PodAttributes } from './pod-interface'
4
5export namespace RequestMethods {
6 export type CountTotalRequests = (callback) => void
7 export type ListWithLimitAndRandom = (limitPods, limitRequestsPerPod, callback) => void
8 export type RemoveWithEmptyTo = (callback) => void
9 export type RemoveAll = (callback) => void
10}
11
12export interface RequestClass {
13 countTotalRequests: RequestMethods.CountTotalRequests
14 listWithLimitAndRandom: RequestMethods.ListWithLimitAndRandom
15 removeWithEmptyTo: RequestMethods.RemoveWithEmptyTo
16 removeAll: RequestMethods.RemoveAll
17}
18
19export interface RequestAttributes {
20 request: object
21 endpoint: string
22}
23
24export interface RequestInstance extends Sequelize.Instance<RequestAttributes> {
25 id: number
26 createdAt: Date
27 updatedAt: Date
28
29 setPods: Sequelize.HasManySetAssociationsMixin<PodAttributes, number>
30}
31
32export interface RequestModel extends RequestClass, Sequelize.Model<RequestInstance, RequestAttributes> {}