From a041b1714715593b46805d7fd0106501770d11c3 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 26 Oct 2017 11:26:35 +0200 Subject: Reset video fields when remote update fails --- server/models/video/video-interface.ts | 2 ++ server/models/video/video.ts | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) (limited to 'server/models') diff --git a/server/models/video/video-interface.ts b/server/models/video/video-interface.ts index dd457bb00..2afbaf09e 100644 --- a/server/models/video/video-interface.ts +++ b/server/models/video/video-interface.ts @@ -57,6 +57,7 @@ export namespace VideoMethods { export type Load = (id: number) => Promise export type LoadByUUID = (uuid: string, t?: Sequelize.Transaction) => Promise + export type LoadLocalVideoByUUID = (uuid: string, t?: Sequelize.Transaction) => Promise export type LoadByHostAndUUID = (fromHost: string, uuid: string, t?: Sequelize.Transaction) => Promise export type LoadAndPopulateAuthor = (id: number) => Promise export type LoadAndPopulateAuthorAndPodAndTags = (id: number) => Promise @@ -79,6 +80,7 @@ export interface VideoClass { loadAndPopulateAuthorAndPodAndTags: VideoMethods.LoadAndPopulateAuthorAndPodAndTags loadByHostAndUUID: VideoMethods.LoadByHostAndUUID loadByUUID: VideoMethods.LoadByUUID + loadLocalVideoByUUID: VideoMethods.LoadLocalVideoByUUID loadByUUIDAndPopulateAuthorAndPodAndTags: VideoMethods.LoadByUUIDAndPopulateAuthorAndPodAndTags searchAndPopulateAuthorAndPodAndTags: VideoMethods.SearchAndPopulateAuthorAndPodAndTags } diff --git a/server/models/video/video.ts b/server/models/video/video.ts index d9b976404..01a801da3 100644 --- a/server/models/video/video.ts +++ b/server/models/video/video.ts @@ -80,6 +80,7 @@ let listOwnedAndPopulateAuthorAndTags: VideoMethods.ListOwnedAndPopulateAuthorAn let listOwnedByAuthor: VideoMethods.ListOwnedByAuthor let load: VideoMethods.Load let loadByUUID: VideoMethods.LoadByUUID +let loadLocalVideoByUUID: VideoMethods.LoadLocalVideoByUUID let loadAndPopulateAuthor: VideoMethods.LoadAndPopulateAuthor let loadAndPopulateAuthorAndPodAndTags: VideoMethods.LoadAndPopulateAuthorAndPodAndTags let loadByUUIDAndPopulateAuthorAndPodAndTags: VideoMethods.LoadByUUIDAndPopulateAuthorAndPodAndTags @@ -247,6 +248,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da loadAndPopulateAuthorAndPodAndTags, loadByHostAndUUID, loadByUUID, + loadLocalVideoByUUID, loadByUUIDAndPopulateAuthorAndPodAndTags, searchAndPopulateAuthorAndPodAndTags ] @@ -899,6 +901,20 @@ loadByUUID = function (uuid: string, t?: Sequelize.Transaction) { return Video.findOne(query) } +loadLocalVideoByUUID = function (uuid: string, t?: Sequelize.Transaction) { + const query: Sequelize.FindOptions = { + where: { + uuid, + remote: false + }, + include: [ Video['sequelize'].models.VideoFile ] + } + + if (t !== undefined) query.transaction = t + + return Video.findOne(query) +} + loadAndPopulateAuthor = function (id: number) { const options = { include: [ -- cgit v1.2.3