- Unify API: lib/api.ts uses /api/v1, inbox uses /api/inbox (rewrites) - Remove localhost refs: openapi, inbox page - Add rewrites: /api/inbox|tmc -> inbox-server, /api/v1 -> FastAPI - Add stub routes: knowledge/insights, recommendations, search, log-error - Transfer from PAPA: prompts (inspection, tmc), scripts, supabase, data/tmc-requests - Fix inbox-server: ORDER BY created_at, package.json - Remove redundant app/api/inbox/files route (rewrites handle it) - knowledge/ in gitignore (large PDFs) Co-authored-by: Cursor <cursoragent@cursor.com>
44 lines
2.0 KiB
TypeScript
44 lines
2.0 KiB
TypeScript
export const dynamic = "force-dynamic";
|
||
import { NextResponse } from 'next/server';
|
||
|
||
// Эндпоинт для обновления нормативных документов
|
||
// Должен вызываться автоматически раз в месяц через cron job или scheduled task
|
||
export async function POST(request: Request) {
|
||
try {
|
||
const { source } = await request.json().catch(() => ({}));
|
||
|
||
console.log(`Начато обновление нормативных документов для источника: ${source || 'все'}`);
|
||
|
||
// В реальном приложении здесь будет:
|
||
// 1. Загрузка документов с официальных сайтов (ICAO, EASA, FAA, МАК, АРМАК)
|
||
// 2. Парсинг и извлечение актуальной информации
|
||
// 3. Сохранение в базу данных
|
||
// 4. Версионирование документов
|
||
|
||
const updateResults = {
|
||
timestamp: new Date().toISOString(),
|
||
sources: [
|
||
{ name: 'ICAO', status: 'updated', documents: 19 },
|
||
{ name: 'EASA', status: 'updated', documents: 15 },
|
||
{ name: 'FAA', status: 'updated', documents: 12 },
|
||
{ name: 'MAK', status: 'updated', documents: 8 },
|
||
{ name: 'ARMAC', status: 'updated', documents: 10 },
|
||
{ name: 'RUSSIAN_RULES', status: 'updated', documents: 25 },
|
||
{ name: 'AIR_CODE', status: 'updated', documents: 1 },
|
||
],
|
||
};
|
||
|
||
return NextResponse.json({
|
||
success: true,
|
||
message: 'Нормативные документы успешно обновлены',
|
||
results: updateResults,
|
||
});
|
||
} catch (error: any) {
|
||
console.error('Ошибка обновления нормативных документов:', error);
|
||
return NextResponse.json(
|
||
{ error: 'Ошибка при обновлении документов', message: error.message },
|
||
{ status: 500 }
|
||
);
|
||
}
|
||
}
|