mirror of
https://github.com/lifegpc/eh-downloader.git
synced 2026-07-08 01:31:00 +08:00
Add new api
This commit is contained in:
@@ -24,6 +24,8 @@ import * as $api_status from "./routes/api/status.ts";
|
||||
import * as $api_tag_id_ from "./routes/api/tag/[id].ts";
|
||||
import * as $api_tag_rows from "./routes/api/tag/rows.ts";
|
||||
import * as $api_task from "./routes/api/task.ts";
|
||||
import * as $api_task_download_cfg from "./routes/api/task/download_cfg.ts";
|
||||
import * as $api_task_export_zip_cfg from "./routes/api/task/export_zip_cfg.ts";
|
||||
import * as $api_thumbnail_id_ from "./routes/api/thumbnail/[id].ts";
|
||||
import * as $api_token from "./routes/api/token.ts";
|
||||
import * as $api_user from "./routes/api/user.ts";
|
||||
@@ -62,6 +64,8 @@ const manifest = {
|
||||
"./routes/api/tag/[id].ts": $api_tag_id_,
|
||||
"./routes/api/tag/rows.ts": $api_tag_rows,
|
||||
"./routes/api/task.ts": $api_task,
|
||||
"./routes/api/task/download_cfg.ts": $api_task_download_cfg,
|
||||
"./routes/api/task/export_zip_cfg.ts": $api_task_export_zip_cfg,
|
||||
"./routes/api/thumbnail/[id].ts": $api_thumbnail_id_,
|
||||
"./routes/api/token.ts": $api_token,
|
||||
"./routes/api/user.ts": $api_user,
|
||||
|
||||
@@ -95,7 +95,11 @@ export async function handler(req: Request, ctx: FreshContext) {
|
||||
"Set-Cookie",
|
||||
`token=${t.token}; Expires=${t.expired.toUTCString()}${
|
||||
t.http_only ? "; HttpOnly" : ""
|
||||
}${t.secure ? "; SameSite=None; Secure" : ""}; Path=/api`,
|
||||
}${
|
||||
t.secure
|
||||
? "; SameSite=None; Secure"
|
||||
: ""
|
||||
}; Path=/api`,
|
||||
);
|
||||
} catch {
|
||||
null;
|
||||
|
||||
25
routes/api/task/download_cfg.ts
Normal file
25
routes/api/task/download_cfg.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { Handlers } from "$fresh/server.ts";
|
||||
import { User, UserPermission } from "../../../db.ts";
|
||||
import { get_task_manager } from "../../../server.ts";
|
||||
import { return_data, return_error } from "../../../server/utils.ts";
|
||||
import type { DownloadConfig } from "../../../tasks/download.ts";
|
||||
|
||||
export const handler: Handlers = {
|
||||
GET(_req, ctx) {
|
||||
const user = <User | undefined> ctx.state.user;
|
||||
if (
|
||||
user && !user.is_admin &&
|
||||
!(user.permissions & UserPermission.ManageTasks)
|
||||
) {
|
||||
return return_error(403, "Permission denied.");
|
||||
}
|
||||
const m = get_task_manager();
|
||||
return return_data<DownloadConfig>({
|
||||
download_original_img: m.cfg.download_original_img,
|
||||
max_download_img_count: m.cfg.max_download_img_count,
|
||||
max_retry_count: m.cfg.max_retry_count,
|
||||
mpv: m.cfg.mpv,
|
||||
remove_previous_gallery: m.cfg.remove_previous_gallery,
|
||||
});
|
||||
},
|
||||
};
|
||||
21
routes/api/task/export_zip_cfg.ts
Normal file
21
routes/api/task/export_zip_cfg.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { Handlers } from "$fresh/server.ts";
|
||||
import { User, UserPermission } from "../../../db.ts";
|
||||
import { get_task_manager } from "../../../server.ts";
|
||||
import { return_data, return_error } from "../../../server/utils.ts";
|
||||
import type { ExportZipConfig } from "../../../tasks/export_zip.ts";
|
||||
|
||||
export const handler: Handlers = {
|
||||
GET(_req, ctx) {
|
||||
const user = <User | undefined> ctx.state.user;
|
||||
if (
|
||||
user && !user.is_admin &&
|
||||
!(user.permissions & UserPermission.ManageTasks)
|
||||
) {
|
||||
return return_error(403, "Permission denied.");
|
||||
}
|
||||
const m = get_task_manager();
|
||||
return return_data<ExportZipConfig>({
|
||||
jpn_title: m.cfg.export_zip_jpn_title,
|
||||
});
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user