]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/models/request/request-to-pod.ts
Implement video transcoding on server side
[github/Chocobozzz/PeerTube.git] / server / models / request / request-to-pod.ts
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 }