2025-07-07 03:47:12 +09:00

65 lines
1.7 KiB
JavaScript

const express = require('express');
const cors = require('cors');
// const db = require('./db'); // No longer needed
const { identifyUser } = require('./middleware/auth');
function createApp(eventBridge) {
const app = express();
const webUrl = process.env.pickleglass_WEB_URL || 'http://localhost:3000';
console.log(`🔧 Backend CORS configured for: ${webUrl}`);
app.use(cors({
origin: webUrl,
credentials: true,
}));
app.use(express.json());
app.get('/', (req, res) => {
res.json({ message: "pickleglass API is running" });
});
app.use((req, res, next) => {
req.bridge = eventBridge;
next();
});
app.use('/api', identifyUser);
app.use('/api/auth', require('./routes/auth'));
app.use('/api/user', require('./routes/user'));
app.use('/api/conversations', require('./routes/conversations'));
app.use('/api/presets', require('./routes/presets'));
app.get('/api/sync/status', (req, res) => {
res.json({
status: 'online',
timestamp: new Date().toISOString(),
version: '1.0.0'
});
});
app.post('/api/desktop/set-user', (req, res) => {
res.json({
success: true,
message: "Direct IPC communication is now used. This endpoint is deprecated.",
user: req.body,
deprecated: true
});
});
app.get('/api/desktop/status', (req, res) => {
res.json({
connected: true,
current_user: null,
communication_method: "IPC",
file_based_deprecated: true
});
});
return app;
}
module.exports = createApp;