35 lines
993 B
JavaScript
35 lines
993 B
JavaScript
const express = require('express');
|
|
const { Model } = require('objection');
|
|
const Knex = require('knex');
|
|
const cron = require('node-cron');
|
|
const knexConfig = require('./src/config/database');
|
|
const MessageService = require('./src/email_server/services/MessageService');
|
|
|
|
// Initialize Knex
|
|
const knex = Knex(knexConfig.development);
|
|
Model.knex(knex);
|
|
|
|
const app = express();
|
|
app.use(express.json());
|
|
|
|
// Routes
|
|
app.use('/auth', require('./src/routes/auth'));
|
|
app.use('/admin', require('./src/routes/admin'));
|
|
app.use('/messages', require('./src/routes/messages'));
|
|
app.use('/email', require('./src/routes/email'));
|
|
app.use('/test', require('./src/routes/test'));
|
|
|
|
// Schedule cleanup job
|
|
cron.schedule('0 0 * * *', async () => {
|
|
try {
|
|
await MessageService.cleanup();
|
|
console.log('Daily cleanup completed');
|
|
} catch (error) {
|
|
console.error('Cleanup failed:', error);
|
|
}
|
|
});
|
|
|
|
const PORT = 3000;
|
|
app.listen(PORT, () => {
|
|
console.log(`API server running on port ${PORT}`);
|
|
}); |