first commit
This commit is contained in:
24
api/src/app.ts
Normal file
24
api/src/app.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import cors from 'cors';
|
||||
import express from 'express';
|
||||
import fs from 'node:fs';
|
||||
import helmet from 'helmet';
|
||||
import morgan from 'morgan';
|
||||
import path from 'node:path';
|
||||
import { env } from './config/env.js';
|
||||
import { errorHandler, notFoundHandler } from './middleware/error-handler.js';
|
||||
import { apiRouter } from './routes/index.js';
|
||||
export const createApp = () => {
|
||||
const app = express();
|
||||
const uploadDir = path.resolve(env.UPLOAD_DIR);
|
||||
fs.mkdirSync(uploadDir, { recursive: true });
|
||||
app.use(helmet({ crossOriginResourcePolicy: false }));
|
||||
app.use(cors({ origin: env.API_CORS_ORIGIN, credentials: true }));
|
||||
app.use(morgan('dev'));
|
||||
app.use(express.json({ limit: '2mb' }));
|
||||
app.use(express.urlencoded({ extended: true }));
|
||||
app.use('/uploads', express.static(uploadDir));
|
||||
app.use('/api', apiRouter);
|
||||
app.use(notFoundHandler);
|
||||
app.use(errorHandler);
|
||||
return app;
|
||||
};
|
||||
Reference in New Issue
Block a user