]>
Commit | Line | Data |
---|---|---|
1 | import * as Sequelize from 'sequelize' | |
2 | ||
3 | import { addMethodsToModel } from '../utils' | |
4 | import { | |
5 | RequestToPodInstance, | |
6 | RequestToPodAttributes, | |
7 | ||
8 | RequestToPodMethods | |
9 | } from './request-to-pod-interface' | |
10 | ||
11 | let RequestToPod: Sequelize.Model<RequestToPodInstance, RequestToPodAttributes> | |
12 | let removeByRequestIdsAndPod: RequestToPodMethods.RemoveByRequestIdsAndPod | |
13 | ||
14 | export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.DataTypes) { | |
15 | RequestToPod = sequelize.define<RequestToPodInstance, RequestToPodAttributes>('RequestToPod', {}, { | |
16 | indexes: [ | |
17 | { | |
18 | fields: [ 'requestId' ] | |
19 | }, | |
20 | { | |
21 | fields: [ 'podId' ] | |
22 | }, | |
23 | { | |
24 | fields: [ 'requestId', 'podId' ], | |
25 | unique: true | |
26 | } | |
27 | ] | |
28 | }) | |
29 | ||
30 | const classMethods = [ | |
31 | removeByRequestIdsAndPod | |
32 | ] | |
33 | addMethodsToModel(RequestToPod, classMethods) | |
34 | ||
35 | return RequestToPod | |
36 | } | |
37 | ||
38 | // --------------------------------------------------------------------------- | |
39 | ||
40 | removeByRequestIdsAndPod = function (requestsIds: number[], podId: number) { | |
41 | const query = { | |
42 | where: { | |
43 | requestId: { | |
44 | $in: requestsIds | |
45 | }, | |
46 | podId: podId | |
47 | } | |
48 | } | |
49 | ||
50 | return RequestToPod.destroy(query) | |
51 | } |