m97j's picture
update main page
9180083
// backend/src/app.ts
import express from 'express';
import cors from 'cors';
import cookieParser from 'cookie-parser';
import { errorHandler } from './utils/errorHandler';
import { postsRouter } from './posts/router';
import { notesRouter } from './notes/router';
import { blogsRouter } from './blogs/router';
import { projectsRouter } from './projects/router';
import { uploadsRouter } from './uploads/router';
import { tagsRouter } from './tags/router';
import { authRouter } from './auth/router';
export const app = express();
// CORS ์„ค์ • (ํ”„๋ก ํŠธ์—”๋“œ ๋„๋ฉ”์ธ ๋ช…์‹œ)
app.use(cors({
origin: process.env.FRONTEND_ORIGIN, // ํ”„๋ก ํŠธ์—”๋“œ App Service ๋„๋ฉ”์ธ
credentials: true, // ์ฟ ํ‚ค ํ—ˆ์šฉ
}));
// JSON ํŒŒ์„œ
app.use(express.json({ limit: '5mb' }));
// ์ฟ ํ‚ค ํŒŒ์„œ
app.use(cookieParser());
// ๋ผ์šฐํ„ฐ ์—ฐ๊ฒฐ
app.use('/api/posts', postsRouter);
app.use('/api/notes', notesRouter);
app.use('/api/blogs', blogsRouter);
app.use('/api/projects', projectsRouter);
app.use('/api/uploads', uploadsRouter);
app.use('/api/tags', tagsRouter);
app.use('/api/auth', authRouter);
// ๊ธฐ๋ณธ ์•ˆ๋‚ด ํŽ˜์ด์ง€ (๋ฃจํŠธ ๊ฒฝ๋กœ)
app.get("/", (req, res) => {
res.send(`
<h1>Portfolio Core Backend</h1>
<p>โœ… Backend is running.</p>
<p>API endpoints are available under <code>/api/*</code>.</p>
<p>Frontend: <a href="${process.env.FRONTEND_ORIGIN}">${process.env.FRONTEND_ORIGIN}</a></p>
`);
});
// ํ—ฌ์Šค์ฒดํฌ ์—”๋“œํฌ์ธํŠธ
app.get("/health", (req, res) => {
res.json({ status: "ok", timestamp: new Date().toISOString() });
});
// ์—๋Ÿฌ ํ•ธ๋“ค๋Ÿฌ
app.use(errorHandler);