+async function doesActorImageExist (filePath: string) {
+ const image = await ActorImageModel.loadByName(basename(filePath))
+
+ return !!image
+}
+
+async function doesRedundancyExist (filePath: string) {
+ const isPlaylist = (await stat(filePath)).isDirectory()
+
+ if (isPlaylist) {
+ // Don't delete HLS redundancy directory
+ if (filePath === DIRECTORIES.HLS_REDUNDANCY) return true
+
+ const uuid = getUUIDFromFilename(filePath)
+ const video = await VideoModel.loadWithFiles(uuid)
+ if (!video) return false
+
+ const p = video.getHLSPlaylist()
+ if (!p) return false
+
+ const redundancy = await VideoRedundancyModel.loadLocalByStreamingPlaylistId(p.id)
+ return !!redundancy
+ }
+
+ const file = await VideoFileModel.loadByFilename(basename(filePath))
+ if (!file) return false
+
+ const redundancy = await VideoRedundancyModel.loadLocalByFileId(file.id)
+ return !!redundancy