Files
antrean-operasi/server/api/halaman/index.ts
2026-02-23 14:29:56 +07:00

52 lines
1.1 KiB
TypeScript

import fs from 'fs';
import path from 'path';
interface Halaman {
id: number;
name: string;
url: string;
level: number;
parent?: number;
icon?: string;
role: string[];
}
const filePath = path.resolve('data/mock/halaman.json');
// Helper to read JSON file
const readData = (): Halaman[] => {
try {
const data = fs.readFileSync(filePath, 'utf-8');
return JSON.parse(data);
} catch (error) {
console.error('Error reading halaman.json:', error);
return [];
}
};
export default defineEventHandler(async (event) => {
const method = event.method;
// GET - Get all halaman
if (method === 'GET') {
try {
const data = readData();
return {
success: true,
data
};
} catch (error) {
return {
success: false,
message: 'Gagal memuat data halaman',
error: error instanceof Error ? error.message : 'Unknown error'
};
}
}
return {
success: false,
message: 'Method not allowed'
};
});