X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Frequest%2Frequest-video-qadu-scheduler.ts;h=5ec7de9c206e1291aa2a6bb4bd9f13d0473f3991;hb=7a214f746bf420defbf17fa218d90d6233551bf8;hp=436fd8e5035755370bbdf50acafdfc8ffbd002dc;hpb=69818c9394366b954b6ba3bd697bd9d2b09f2a16;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/request/request-video-qadu-scheduler.ts b/server/lib/request/request-video-qadu-scheduler.ts index 436fd8e50..5ec7de9c2 100644 --- a/server/lib/request/request-video-qadu-scheduler.ts +++ b/server/lib/request/request-video-qadu-scheduler.ts @@ -1,7 +1,7 @@ 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_VIDEO_QADU_LIMIT_PODS, @@ -9,14 +9,16 @@ import { REQUEST_VIDEO_QADU_ENDPOINT, REQUEST_VIDEO_QADU_TYPES } from '../../initializers' +import { RequestsVideoQaduGrouped } from '../../models' +import { RequestVideoQaduType } from '../../../shared' export type RequestVideoQaduSchedulerOptions = { - type: string + type: RequestVideoQaduType videoId: string transaction?: Sequelize.Transaction } -class RequestVideoQaduScheduler extends BaseRequestScheduler { +class RequestVideoQaduScheduler extends AbstractRequestScheduler { constructor () { super() @@ -35,7 +37,7 @@ class RequestVideoQaduScheduler extends BaseRequestScheduler { return db.RequestVideoQadu } - buildRequestObjects (requests: { [ toPodId: number ]: any }[]) { + buildRequestObjects (requests: RequestsVideoQaduGrouped) { const requestsToMakeGrouped = {} Object.keys(requests).forEach(toPodId => { @@ -104,20 +106,18 @@ class RequestVideoQaduScheduler extends BaseRequestScheduler { return requestsToMakeGrouped } - createRequest ({ type, videoId, transaction }: RequestVideoQaduSchedulerOptions, callback: (err: Error) => void) { + createRequest ({ type, videoId, transaction }: RequestVideoQaduSchedulerOptions) { const dbRequestOptions: Sequelize.BulkCreateOptions = {} if (transaction) dbRequestOptions.transaction = transaction // Send the update to all our friends - db.Pod.listAllIds(transaction, function (err, podIds) { - if (err) return callback(err) - + return db.Pod.listAllIds(transaction).then(podIds => { const queries = [] podIds.forEach(podId => { queries.push({ type, videoId, podId }) }) - return db.RequestVideoQadu.bulkCreate(queries, dbRequestOptions).asCallback(callback) + return db.RequestVideoQadu.bulkCreate(queries, dbRequestOptions) }) } }