]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/request/request-scheduler.ts
Add this context to instance model functions
[github/Chocobozzz/PeerTube.git] / server / lib / request / request-scheduler.ts
index 26ffbfb868f892e5f384a3caf059dd728600d15d..38c0cca3dd4b8e559d4bd009dc2da02a21cc537e 100644 (file)
@@ -1,12 +1,22 @@
+import * as Sequelize from 'sequelize'
+
 import { database as db } from '../../initializers/database'
-import { BaseRequestScheduler } from './base-request-scheduler'
+import { AbstractRequestScheduler } from './abstract-request-scheduler'
 import { logger } from '../../helpers'
 import {
   REQUESTS_LIMIT_PODS,
   REQUESTS_LIMIT_PER_POD
 } from '../../initializers'
 
-class RequestScheduler extends BaseRequestScheduler {
+export type RequestSchedulerOptions = {
+  type: string
+  endpoint: string
+  data: Object
+  toIds: number[]
+  transaction: Sequelize.Transaction
+}
+
+class RequestScheduler extends AbstractRequestScheduler {
   constructor () {
     super()
 
@@ -25,7 +35,7 @@ class RequestScheduler extends BaseRequestScheduler {
     return db.RequestToPod
   }
 
-  buildRequestObjects (requests) {
+  buildRequestObjects (requests: { [ toPodId: number ]: any }) {
     const requestsToMakeGrouped = {}
 
     Object.keys(requests).forEach(toPodId => {
@@ -51,14 +61,7 @@ class RequestScheduler extends BaseRequestScheduler {
     return requestsToMakeGrouped
   }
 
-  // { type, endpoint, data, toIds, transaction }
-  createRequest (options, callback) {
-    const type = options.type
-    const endpoint = options.endpoint
-    const data = options.data
-    const toIds = options.toIds
-    const transaction = options.transaction
-
+  createRequest ({ type, endpoint, data, toIds, transaction }: RequestSchedulerOptions, callback: (err: Error) => void) {
     // TODO: check the setPods works
     const podIds = []
 
@@ -77,7 +80,7 @@ class RequestScheduler extends BaseRequestScheduler {
       }
     }
 
-    const dbRequestOptions = {
+    const dbRequestOptions: Sequelize.CreateOptions = {
       transaction
     }