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)); });