2025-01-27 15:59:36 -05:00

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}`);
});