Files
TK-FB-Project/api.hyungi.net/index.js.backup

79 lines
2.9 KiB
Plaintext

require('dotenv').config();
const express = require('express');
const cors = require('cors');
const path = require('path');
const app = express();
// ✅ 요청 바디 용량 제한 확장
app.use(express.urlencoded({ extended: true, limit: '50mb' }));
app.use(express.json({ limit: '50mb' }));
// ✅ CORS 설정: 허용 origin 명시
app.use(cors({
origin: function (origin, callback) {
const allowedOrigins = [
'https://ahn.hyungi.net',
'https://tech.hyungi.net',
'https://pdf.hyungi.net'
];
if (!origin || allowedOrigins.includes(origin)) {
callback(null, true);
} else {
callback(new Error('CORS 차단됨: ' + origin));
}
}
}));
// ✅ 라우터 등록
const authRoutes = require('./routes/authRoutes');
const projectRoutes = require('./routes/projectRoutes');
const workerRoutes = require('./routes/workerRoutes');
const taskRoutes = require('./routes/taskRoutes');
const processRoutes = require('./routes/processRoutes');
const workReportRoutes = require('./routes/workReportRoutes');
const cuttingPlanRoutes = require('./routes/cuttingPlanRoutes');
const factoryInfoRoutes = require('./routes/factoryInfoRoutes');
const equipmentListRoutes = require('./routes/equipmentListRoutes');
const toolsRoute = require('./routes/toolsRoute');
const uploadRoutes = require('./routes/uploadRoutes');
const uploadBgRoutes = require('./routes/uploadBgRoutes');
const dailyIssueReportRoutes = require('./routes/dailyIssueReportRoutes');
const issueTypeRoutes = require('./routes/issueTypeRoutes');
const healthRoutes = require('./routes/healthRoutes');
const pipeSpecRoutes = require('./routes/pipeSpecRoutes');
// ahn.hyungi.net 배포용
app.use(express.static(path.join(__dirname, 'public')));
// ✅ 업로드된 파일 정적 라우팅 추가 (웹에서 이미지 접근 가능하게)
app.use('/uploads', express.static(path.join(__dirname, 'uploads')));
// ✅ 각 라우트 등록
app.use('/api/auth', authRoutes);
app.use('/api/projects', projectRoutes);
app.use('/api/workers', workerRoutes);
app.use('/api/tasks', taskRoutes);
app.use('/api/processes', processRoutes);
app.use('/api/workreports', workReportRoutes);
app.use('/api/cuttingplans', cuttingPlanRoutes);
app.use('/api/factoryinfo', factoryInfoRoutes);
app.use('/api/equipment', equipmentListRoutes);
app.use('/api/tools', toolsRoute);
app.use('/api/uploads', uploadRoutes);
app.use('/api', uploadBgRoutes); // ✅ upload-bg 경로용
app.use('/api/issue-reports', dailyIssueReportRoutes);
app.use('/api/issue-types', issueTypeRoutes);
app.use('/api', healthRoutes);
app.use('/api/pipespecs', pipeSpecRoutes);
// ✅ 서버 실행
const PORT = process.env.PORT || 3005;
app.listen(PORT, () => {
console.log(`🚀 서버가 ${PORT}번 포트에서 실행 중...`);
}).on('error', (err) => {
console.error('❌ 서버 실행 중 오류 발생:', err);
});
app.use((req, res) => {
res.status(404).json({ error: '존재하지 않는 경로입니다.' });
});