X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Frequest-video-qadu-interface.ts;h=04de7f159f85b1fe3fc8655a415b1b2de480934c;hb=69818c9394366b954b6ba3bd697bd9d2b09f2a16;hp=6fe34ee9127ebd149a175f4da77b6ea4b310f6ee;hpb=4d4e5cd4dca78480ec7f40e747f424cd107376a4;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/request-video-qadu-interface.ts b/server/models/request-video-qadu-interface.ts index 6fe34ee91..04de7f159 100644 --- a/server/models/request-video-qadu-interface.ts +++ b/server/models/request-video-qadu-interface.ts @@ -1,10 +1,28 @@ import * as Sequelize from 'sequelize' +import { VideoInstance } from './video-interface' +import { PodInstance } from './pod-interface' + +export type RequestsVideoQaduGrouped = { + [ podId: number ]: { + request: RequestVideoQaduInstance + video: VideoInstance + pod: PodInstance + } +} + export namespace RequestVideoQaduMethods { - export type CountTotalRequests = (callback) => void - export type ListWithLimitAndRandom = (limitPods, limitRequestsPerPod, callback) => void - export type RemoveByRequestIdsAndPod = (ids, podId, callback) => void - export type RemoveAll = (callback) => void + export type CountTotalRequestsCallback = (err: Error, total: number) => void + export type CountTotalRequests = (callback: CountTotalRequestsCallback) => void + + export type ListWithLimitAndRandomCallback = (err: Error, requestsGrouped?: RequestsVideoQaduGrouped) => void + export type ListWithLimitAndRandom = (limitPods: number, limitRequestsPerPod: number, callback: ListWithLimitAndRandomCallback) => void + + export type RemoveByRequestIdsAndPodCallback = () => void + export type RemoveByRequestIdsAndPod = (ids: number[], podId: number, callback: RemoveByRequestIdsAndPodCallback) => void + + export type RemoveAllCallback = () => void + export type RemoveAll = (callback: RemoveAllCallback) => void } export interface RequestVideoQaduClass { @@ -18,8 +36,11 @@ export interface RequestVideoQaduAttributes { type: string } -export interface RequestVideoQaduInstance extends Sequelize.Instance { +export interface RequestVideoQaduInstance extends RequestVideoQaduClass, RequestVideoQaduAttributes, Sequelize.Instance { id: number + + Pod: PodInstance + Video: VideoInstance } export interface RequestVideoQaduModel extends RequestVideoQaduClass, Sequelize.Model {}