zyc c8a8560175
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 5s
Isolate user configuration data
2026-05-28 17:14:09 +08:00

33 lines
1.1 KiB
TypeScript

import express from "express";
import { error, success } from "@/lib/responseFormat";
import u from "@/utils";
import fg from "fast-glob";
import fs from "fs/promises";
import path from "path";
import { requireRequestUserId } from "@/lib/userConfig";
import { getUserModelPromptRoot } from "@/lib/userStorage";
const router = express.Router();
export default router.get("/", async (req, res) => {
const userId = requireRequestUserId(req);
const modelPromptRoot = getUserModelPromptRoot(userId);
await fs.mkdir(modelPromptRoot, { recursive: true });
const entries = await fg("**/*.md", {
cwd: modelPromptRoot.replace(/\\/g, "/"),
onlyFiles: true,
});
const result = await Promise.all(
entries.map(async (entry) => {
const fullPath = path.join(modelPromptRoot, entry);
const content = await fs.readFile(fullPath, "utf-8");
const name = path.basename(entry, ".md");
const type = entry.includes("/") ? entry.split("/")[0] : "";
return { path: entry, name, type, data: content };
}),
);
res.status(200).send(success(result));
});