diff --git a/src/pages/manage/sidemenu_items.tsx b/src/pages/manage/sidemenu_items.tsx
index 48f4092a4e..4d6aa573fe 100644
--- a/src/pages/manage/sidemenu_items.tsx
+++ b/src/pages/manage/sidemenu_items.tsx
@@ -96,11 +96,13 @@ export const side_menu_items: SideMenuItem[] = [
title: "manage.sidemenu.tasks",
icon: OcWorkflow2,
to: "/@manage/tasks",
+ role: UserRole.GENERAL,
children: [
{
title: "manage.sidemenu.offline_download",
icon: IoMagnetOutline,
to: "/@manage/tasks/aria2",
+ role: UserRole.GENERAL,
component: lazy(() => import("./tasks/offline_download")),
},
// {
@@ -119,12 +121,14 @@ export const side_menu_items: SideMenuItem[] = [
title: "manage.sidemenu.upload",
icon: BsCloudUploadFill,
to: "/@manage/tasks/upload",
+ role: UserRole.GENERAL,
component: lazy(() => import("./tasks/Upload")),
},
{
title: "manage.sidemenu.copy",
icon: IoCopy,
to: "/@manage/tasks/copy",
+ role: UserRole.GENERAL,
component: lazy(() => import("./tasks/Copy")),
},
],
diff --git a/src/pages/manage/tasks/Task.tsx b/src/pages/manage/tasks/Task.tsx
index 1ee29d01b4..d97b840b56 100644
--- a/src/pages/manage/tasks/Task.tsx
+++ b/src/pages/manage/tasks/Task.tsx
@@ -43,6 +43,13 @@ const StateMap: Record<
[TaskStateEnum.Succeeded]: "success",
[TaskStateEnum.Canceled]: "neutral",
}
+
+const Creator = (props: { name: string; role: number }) => {
+ if (props.role < 0) return null
+ const roleColors = ["info", "neutral", "accent"]
+ return {props.name}
+}
+
export const TaskState = (props: { state: number }) => {
const t = useT()
return (
@@ -58,10 +65,10 @@ export const Task = (props: TaskInfo & TasksProps) => {
const canRetry = props.done === "done" && props.state === TaskStateEnum.Failed
const [operateLoading, operate] = useFetch(
(): PEmptyResp =>
- r.post(`/admin/task/${props.type}/${operateName}?tid=${props.id}`),
+ r.post(`/task/${props.type}/${operateName}?tid=${props.id}`),
)
const [retryLoading, retry] = useFetch(
- (): PEmptyResp => r.post(`/admin/task/${props.type}/retry?tid=${props.id}`),
+ (): PEmptyResp => r.post(`/task/${props.type}/retry?tid=${props.id}`),
)
const [deleted, setDeleted] = createSignal(false)
return (
@@ -85,6 +92,7 @@ export const Task = (props: TaskInfo & TasksProps) => {
>
{props.name}
+
{
const t = useT()
const [loading, get] = useFetch(
- (): PResp => r.get(`/admin/task/${props.type}/${props.done}`),
+ (): PResp => r.get(`/task/${props.type}/${props.done}`),
)
const [tasks, setTasks] = createSignal([])
const refresh = async () => {
@@ -36,13 +36,13 @@ export const Tasks = (props: TasksProps) => {
onCleanup(() => clearInterval(interval))
}
const [clearDoneLoading, clearDone] = useFetch(
- (): PEmptyResp => r.post(`/admin/task/${props.type}/clear_done`),
+ (): PEmptyResp => r.post(`/task/${props.type}/clear_done`),
)
const [clearSucceededLoading, clearSucceeded] = useFetch(
- (): PEmptyResp => r.post(`/admin/task/${props.type}/clear_succeeded`),
+ (): PEmptyResp => r.post(`/task/${props.type}/clear_succeeded`),
)
const [retryFailedLoading, retryFailed] = useFetch(
- (): PEmptyResp => r.post(`/admin/task/${props.type}/retry_failed`),
+ (): PEmptyResp => r.post(`/task/${props.type}/retry_failed`),
)
const [page, setPage] = createSignal(1)
const pageSize = 20
diff --git a/src/types/task.ts b/src/types/task.ts
index 17bea91ef4..aa26d10706 100644
--- a/src/types/task.ts
+++ b/src/types/task.ts
@@ -1,6 +1,8 @@
export interface TaskInfo {
id: string
name: string
+ creator: string
+ creator_role: number
state: number
status: string
progress: number