sandbox/server/index.js

36 lines
1.1 KiB
JavaScript

import dotenv from 'dotenv';
import path from 'path';
import { fileURLToPath } from 'url';
import express from 'express';
import cors from 'cors';
import authRoutes from './routes/auth.js';
import discordRoutes from './routes/discord.js';
import characterRoutes from './routes/characters.js';
import lorebookRoutes from './routes/lorebooks.js';
import fragmentRoutes from './routes/fragments.js';
import aiRoutes from './routes/ai.js';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
dotenv.config({ path: path.resolve(__dirname, '../.env') });
const app = express();
const PORT = process.env.PORT || 3001;
app.use(cors());
app.use(express.json());
app.use('/api/auth', authRoutes);
app.use('/auth', discordRoutes);
app.use('/api/characters', characterRoutes);
app.use('/api/lorebooks', lorebookRoutes);
app.use('/api/fragments', fragmentRoutes);
app.use('/api/ai', aiRoutes);
app.get('/api/health', (req, res) => {
res.json({ status: 'ok', timestamp: new Date().toISOString() });
});
app.listen(PORT, () => {
console.log(`The Howling Whispers API running on http://localhost:${PORT}`);
});