const express = require('express'); const { requireAuth, requireAdmin } = require('../auth'); const { LayaRequestError, LayaService } = require('../services/layaService'); const router = express.Router(); const laya = new LayaService(); function sendError(res, error) { const status = error instanceof LayaRequestError ? error.statusCode : 500; const message = error instanceof LayaRequestError ? error.message : 'Internal server error'; res.status(status).json({ runtimeAvailable: false, error: message }); } router.get('/status', requireAuth, async (req, res) => { res.json(await laya.status()); }); router.post('/model/download', requireAuth, requireAdmin, async (req, res) => { try { res.json(await laya.downloadModel(req.body?.model)); } catch (error) { sendError(res, error); } }); router.delete('/model', requireAuth, requireAdmin, async (req, res) => { try { res.json(await laya.deleteModel()); } catch (error) { sendError(res, error); } }); router.post('/language/batch', requireAuth, async (req, res) => { try { res.json(await laya.detectBatch(req.body)); } catch (error) { sendError(res, error); } }); module.exports = router;