blob: 809442800701b9afd5f606bb1c391e08af4552da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import { NextRequest, NextResponse } from 'next/server';
export async function GET(request: NextRequest) {
try {
// 인증 확인 (선택적)
const authToken = process.env.CRON_AUTH_TOKEN;
if (authToken) {
const providedToken = new URL(request.url).searchParams.get('token');
if (providedToken !== authToken) {
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
}
}
// 동적 import로 cron 스케줄러 호출
const { triggerEnhancedSync } = await import('../../../../lib/nonsap-sync/enhanced-sync-service');
// 백그라운드에서 동기화 실행
triggerEnhancedSync().catch(error => {
console.error('Cron sync failed:', error);
});
return NextResponse.json({
success: true,
message: 'NONSAP sync triggered via cron endpoint',
timestamp: new Date().toISOString()
});
} catch (error) {
console.error('Cron endpoint error:', error);
return NextResponse.json({
success: false,
error: 'Failed to trigger sync',
timestamp: new Date().toISOString()
}, { status: 500 });
}
}
export async function POST() {
// POST 요청도 동일하게 처리
return GET();
}
|