X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Frequest%2Frequest-scheduler.ts;h=69d840eeb140705547c14ab15b19e63fb56f011d;hb=ed5f91633d96436408c763bb96d2cc463cb7dc00;hp=2006a6f0398f3b26954aaf507b1526c8c9ff91ff;hpb=65fcc3119c334b75dd13bcfdebf186afdc580a8f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/request/request-scheduler.ts b/server/lib/request/request-scheduler.ts index 2006a6f03..69d840eeb 100644 --- a/server/lib/request/request-scheduler.ts +++ b/server/lib/request/request-scheduler.ts @@ -1,4 +1,6 @@ -const db = require('../../initializers/database') +import * as Sequelize from 'sequelize' + +import { database as db } from '../../initializers/database' import { BaseRequestScheduler } from './base-request-scheduler' import { logger } from '../../helpers' import { @@ -6,6 +8,14 @@ import { REQUESTS_LIMIT_PER_POD } from '../../initializers' +export type RequestSchedulerOptions = { + type: string + endpoint: string + data: Object + toIds: number[] + transaction: Sequelize.Transaction +} + class RequestScheduler extends BaseRequestScheduler { 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,21 +61,15 @@ 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 - - const pods = [] + createRequest ({ type, endpoint, data, toIds, transaction }: RequestSchedulerOptions, callback: (err: Error) => void) { + // TODO: check the setPods works + const podIds = [] // If there are no destination pods abort if (toIds.length === 0) return callback(null) toIds.forEach(toPod => { - pods.push(db.Pod.build({ id: toPod })) + podIds.push(toPod) }) const createQuery = { @@ -76,14 +80,14 @@ class RequestScheduler extends BaseRequestScheduler { } } - const dbRequestOptions = { + const dbRequestOptions: Sequelize.CreateOptions = { transaction } return db.Request.create(createQuery, dbRequestOptions).asCallback((err, request) => { if (err) return callback(err) - return request.setPods(pods, dbRequestOptions).asCallback(callback) + return request.setPods(podIds, dbRequestOptions).asCallback(callback) }) }