34 lines
839 B
JavaScript
34 lines
839 B
JavaScript
const express = require('express');
|
|
const { init } = require('./src/models');
|
|
const config = require('./config');
|
|
const fs = require('fs');
|
|
|
|
(async () => {
|
|
const dirs = [config.storage.filesDir, config.storage.uploadsDir];
|
|
for (const dir of dirs) {
|
|
if (!fs.existsSync(dir)) {
|
|
fs.mkdirSync(dir, { recursive: true });
|
|
}
|
|
}
|
|
|
|
const { sequelize } = await init();
|
|
await sequelize.sync();
|
|
console.log('Database synchronized');
|
|
|
|
const app = express();
|
|
app.use(express.json());
|
|
app.use(express.static('public'));
|
|
const routes = require('./src/routes');
|
|
app.use('/api', routes);
|
|
|
|
app.get('/health', (req, res) => {
|
|
res.json({ status: 'ok' });
|
|
});
|
|
|
|
app.listen(config.port, () => {
|
|
console.log(`Server running on port ${config.port}`);
|
|
});
|
|
})().catch(e => {
|
|
console.error(e);
|
|
process.exit(1);
|
|
}); |