Initial commit for open-source version

This commit is contained in:
jiangrui
2024-12-17 11:30:59 +08:00
commit 42c07ed34c
57 changed files with 10559 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
import { Request, Response, NextFunction } from "express";
import { Cloud115Service } from "../services/Cloud115Service";
import { config } from "../config";
import handleError from "../utils/handleError";
import { handleResponse } from "../utils/responseHandler";
const { cookie } = config.cloud115;
const cloud115 = new Cloud115Service(cookie);
export const cloud115Controller = {
async getShareInfo(req: Request, res: Response, next: NextFunction) {
try {
const { shareCode, receiveCode } = req.query;
const result = await cloud115.getShareInfo(shareCode as string, receiveCode as string);
handleResponse(res, result, true);
} catch (error) {
handleError(res, error, "获取分享信息失败", next);
}
},
async getFolderList(req: Request, res: Response, next: NextFunction) {
try {
const { parentCid } = req.query;
const result = await cloud115.getFolderList(parentCid as string);
handleResponse(res, result, true);
} catch (error) {
handleError(res, error, "获取目录列表失败", next);
}
},
async saveFile(req: Request, res: Response, next: NextFunction) {
try {
const { shareCode, receiveCode, fileId, folderId } = req.body;
const result = await cloud115.saveSharedFile({
shareCode,
receiveCode,
fileId,
cid: folderId,
});
handleResponse(res, result, true);
} catch (error) {
handleError(res, error, "保存文件失败", next);
}
},
};

View File

@@ -0,0 +1,40 @@
import { Request, Response, NextFunction } from "express";
import { QuarkService } from "../services/QuarkService";
import { config } from "../config";
import { handleResponse } from "../utils/responseHandler";
import handleError from "../utils/handleError";
const { cookie } = config.quark;
const quark = new QuarkService(cookie);
export const quarkController = {
async getShareInfo(req: Request, res: Response, next: NextFunction) {
try {
const { pwdId, passcode } = req.query;
const result = await quark.getShareInfo(pwdId as string, passcode as string);
handleResponse(res, result, true);
} catch (error) {
handleError(res, error, "获取分享信息失败", next);
}
},
async getFolderList(req: Request, res: Response, next: NextFunction) {
try {
const { parentCid } = req.query;
const result = await quark.getFolderList(parentCid as string);
handleResponse(res, result, true);
} catch (error) {
handleError(res, error, "获取目录列表失败", next);
}
},
async saveFile(req: Request, res: Response, next: NextFunction) {
try {
const result = await quark.saveSharedFile(req.body);
handleResponse(res, result, true);
} catch (error) {
handleError(res, error, "保存文件失败", next);
}
},
};

View File

@@ -0,0 +1,32 @@
import { Request, Response, NextFunction } from "express";
import { RSSSearcher } from "../services/RSSSearcher";
import { Searcher } from "../services/Searcher";
import { handleResponse } from "../utils/responseHandler";
import handleError from "../utils/handleError";
export const resourceController = {
async rssSearch(req: Request, res: Response, next: NextFunction) {
try {
const { keyword } = req.query;
const searcher = new RSSSearcher();
const result = await searcher.searchAll(keyword as string);
handleResponse(res, result, true);
} catch (error) {
handleError(res, error, "获取资源发生未知错误", next);
}
},
async search(req: Request, res: Response, next: NextFunction) {
try {
const { keyword, channelId = "", lastMessageId = "" } = req.query; // Remove `: string` from here
const searcher = new Searcher();
const result = await searcher.searchAll(
keyword as string,
channelId as string,
lastMessageId as string
);
handleResponse(res, result, true);
} catch (error) {
handleError(res, error, "获取资源发生未知错误", next);
}
},
};