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

77 lines
2.6 KiB
JavaScript

const express = require('express');
const router = express.Router();
const { ipcRequest } = require('../ipcBridge');
router.put('/profile', async (req, res) => {
try {
await ipcRequest(req, 'update-user-profile', req.body);
res.json({ message: 'Profile updated successfully' });
} catch (error) {
console.error('Failed to update profile via IPC:', error);
res.status(500).json({ error: 'Failed to update profile' });
}
});
router.get('/profile', async (req, res) => {
try {
const user = await ipcRequest(req, 'get-user-profile');
if (!user) return res.status(404).json({ error: 'User not found' });
res.json(user);
} catch (error) {
console.error('Failed to get profile via IPC:', error);
res.status(500).json({ error: 'Failed to get profile' });
}
});
router.post('/find-or-create', async (req, res) => {
try {
const user = await ipcRequest(req, 'find-or-create-user', req.body);
res.status(200).json(user);
} catch (error) {
console.error('Failed to find or create user via IPC:', error);
res.status(500).json({ error: 'Failed to find or create user' });
}
});
router.post('/api-key', async (req, res) => {
try {
await ipcRequest(req, 'save-api-key', req.body.apiKey);
res.json({ message: 'API key saved successfully' });
} catch (error) {
console.error('Failed to save API key via IPC:', error);
res.status(500).json({ error: 'Failed to save API key' });
}
});
router.get('/api-key-status', async (req, res) => {
try {
const status = await ipcRequest(req, 'check-api-key-status');
res.json(status);
} catch (error) {
console.error('Failed to get API key status via IPC:', error);
res.status(500).json({ error: 'Failed to get API key status' });
}
});
router.delete('/profile', async (req, res) => {
try {
await ipcRequest(req, 'delete-account');
res.status(200).json({ message: 'User account and all data deleted successfully.' });
} catch (error) {
console.error('Failed to delete user account via IPC:', error);
res.status(500).json({ error: 'Failed to delete user account' });
}
});
router.get('/batch', async (req, res) => {
try {
const result = await ipcRequest(req, 'get-batch-data', req.query.include);
res.json(result);
} catch(error) {
console.error('Failed to get batch data via IPC:', error);
res.status(500).json({ error: 'Failed to get batch data' });
}
});
module.exports = router;