From 419b520ca4434d17f3505013174e195c3a316716 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 19 Jan 2022 14:23:00 +0100 Subject: Add ability to cancel & delete video imports --- shared/models/users/user-right.enum.ts | 4 +++- .../videos/import/video-import-state.enum.ts | 4 +++- shared/server-commands/server/jobs-command.ts | 24 +++++++++++++++++++ shared/server-commands/videos/imports-command.ts | 28 ++++++++++++++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) (limited to 'shared') diff --git a/shared/models/users/user-right.enum.ts b/shared/models/users/user-right.enum.ts index 668535f4e..d3f793d8b 100644 --- a/shared/models/users/user-right.enum.ts +++ b/shared/models/users/user-right.enum.ts @@ -41,5 +41,7 @@ export const enum UserRight { MANAGE_VIDEOS_REDUNDANCIES, MANAGE_VIDEO_FILES, - RUN_VIDEO_TRANSCODING + RUN_VIDEO_TRANSCODING, + + MANAGE_VIDEO_IMPORTS } diff --git a/shared/models/videos/import/video-import-state.enum.ts b/shared/models/videos/import/video-import-state.enum.ts index 33dd83f88..ff5c6beff 100644 --- a/shared/models/videos/import/video-import-state.enum.ts +++ b/shared/models/videos/import/video-import-state.enum.ts @@ -2,5 +2,7 @@ export const enum VideoImportState { PENDING = 1, SUCCESS = 2, FAILED = 3, - REJECTED = 4 + REJECTED = 4, + CANCELLED = 5, + PROCESSING = 6 } diff --git a/shared/server-commands/server/jobs-command.ts b/shared/server-commands/server/jobs-command.ts index ac62157d1..b8790ea00 100644 --- a/shared/server-commands/server/jobs-command.ts +++ b/shared/server-commands/server/jobs-command.ts @@ -14,6 +14,30 @@ export class JobsCommand extends AbstractCommand { return data[0] } + pauseJobQueue (options: OverrideCommandOptions = {}) { + const path = '/api/v1/jobs/pause' + + return this.postBodyRequest({ + ...options, + + path, + implicitToken: true, + defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204 + }) + } + + resumeJobQueue (options: OverrideCommandOptions = {}) { + const path = '/api/v1/jobs/resume' + + return this.postBodyRequest({ + ...options, + + path, + implicitToken: true, + defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204 + }) + } + list (options: OverrideCommandOptions & { state?: JobState jobType?: JobType diff --git a/shared/server-commands/videos/imports-command.ts b/shared/server-commands/videos/imports-command.ts index e4944694d..f63ed5d4b 100644 --- a/shared/server-commands/videos/imports-command.ts +++ b/shared/server-commands/videos/imports-command.ts @@ -26,6 +26,34 @@ export class ImportsCommand extends AbstractCommand { })) } + delete (options: OverrideCommandOptions & { + importId: number + }) { + const path = '/api/v1/videos/imports/' + options.importId + + return this.deleteRequest({ + ...options, + + path, + implicitToken: true, + defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204 + }) + } + + cancel (options: OverrideCommandOptions & { + importId: number + }) { + const path = '/api/v1/videos/imports/' + options.importId + '/cancel' + + return this.postBodyRequest({ + ...options, + + path, + implicitToken: true, + defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204 + }) + } + getMyVideoImports (options: OverrideCommandOptions & { sort?: string } = {}) { -- cgit v1.2.3