Refactor Documentation API Endpoints for Environment-Specific Paths

- Updated the documentation API endpoints to dynamically set the documentation directory based on the NODE_ENV variable, improving compatibility between development and production environments.
- Enhanced error handling for file retrieval to ensure proper responses when files are not found or invalid.
- Standardized import statements for consistency across the documentation files.
This commit is contained in:
Md Afiq Iskandar 2025-07-24 17:29:30 +08:00
parent e4548647b5
commit 03fdbb5d96
2 changed files with 22 additions and 11 deletions

View File

@ -1,13 +1,19 @@
import fs from 'fs'
import path from 'path'
import fs from "fs";
import path from "path";
export default defineEventHandler(async (event) => {
const { file } = event.context.params
const docsDir = path.resolve(process.cwd(), 'content/documentation')
const filePath = path.join(docsDir, file)
if (!file.endsWith('.md') || !fs.existsSync(filePath)) {
return { error: 'File not found' }
const { file } = event.context.params;
let docsDir = "";
if (process.env.NODE_ENV === "development") {
docsDir = path.resolve(process.cwd(), "content/documentation");
} else {
docsDir = path.resolve(process.cwd(), "../content/documentation");
}
const content = fs.readFileSync(filePath, 'utf-8')
return { content }
})
const filePath = path.join(docsDir, file);
if (!file.endsWith(".md") || !fs.existsSync(filePath)) {
return { error: "File not found" };
}
const content = fs.readFileSync(filePath, "utf-8");
return { content };
});

View File

@ -2,7 +2,12 @@ import fs from 'fs'
import path from 'path'
export default defineEventHandler(async (event) => {
const docsDir = path.resolve(process.cwd(), 'content/documentation')
let docsDir = "";
if (process.env.NODE_ENV === "development") {
docsDir = path.resolve(process.cwd(), "content/documentation");
} else {
docsDir = path.resolve(process.cwd(), "../content/documentation");
}
const files = fs.readdirSync(docsDir)
.filter(file => file.endsWith('.md'))
return files