rubiks-cube-mcp-server
Version:
MCP server for Rubik's Cube solving with real-time 3D visualization
51 lines (50 loc) • 1.65 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.APIRoutes = void 0;
const express_1 = __importDefault(require("express"));
class APIRoutes {
router;
sessions;
constructor(sessions) {
this.router = express_1.default.Router();
this.sessions = sessions;
this.setupRoutes();
}
setupRoutes() {
// 큐브 상태 조회
this.router.get('/cube/:gameId', (req, res) => {
const { gameId } = req.params;
const session = this.sessions.get(gameId);
if (!session) {
return res.status(404).json({ error: 'Game session not found' });
}
session.lastActivity = Date.now();
res.json({
gameId,
state: session.cubeState,
status: session.status
});
});
// 큐브 상태 업데이트
this.router.post('/cube/:gameId/move', (req, res) => {
const { gameId } = req.params;
const { move } = req.body;
const session = this.sessions.get(gameId);
if (!session) {
return res.status(404).json({ error: 'Game session not found' });
}
session.lastActivity = Date.now();
res.json({
success: true,
message: `Move ${move} recorded`
});
});
}
getRouter() {
return this.router;
}
}
exports.APIRoutes = APIRoutes;