-async function updateRedundancy (req: express.Request, res: express.Response, next: express.NextFunction) {
- const server = res.locals.server as ServerModel
+async function listVideoRedundancies (req: express.Request, res: express.Response) {
+ const resultList = await VideoRedundancyModel.listForApi({
+ start: req.query.start,
+ count: req.query.count,
+ sort: req.query.sort,
+ target: req.query.target,
+ strategy: req.query.strategy
+ })
+
+ const result = {
+ total: resultList.total,
+ data: resultList.data.map(r => VideoRedundancyModel.toFormattedJSONStatic(r))
+ }
+
+ return res.json(result)
+}
+
+async function addVideoRedundancy (req: express.Request, res: express.Response) {
+ const payload = {
+ videoId: res.locals.onlyVideo.id
+ }
+
+ await JobQueue.Instance.createJobWithPromise({
+ type: 'video-redundancy',
+ payload
+ })
+
+ return res.sendStatus(204)
+}
+
+async function removeVideoRedundancyController (req: express.Request, res: express.Response) {
+ await removeVideoRedundancy(res.locals.videoRedundancy)
+
+ return res.sendStatus(204)
+}
+
+async function updateRedundancy (req: express.Request, res: express.Response) {
+ const server = res.locals.server