|
|
|
@ -34,34 +34,15 @@ var router = express.Router();
|
|
|
|
|
router.get('/import/status/:owner/:repo', importStatus)
|
|
|
|
|
router.get('/import/trigger/:owner/:repo', importTrigger)
|
|
|
|
|
|
|
|
|
|
function loadJson(req, filename) {
|
|
|
|
|
const owner = req.params.owner;
|
|
|
|
|
const repo = req.params.repo
|
|
|
|
|
return JSON.parse(fs.readFileSync(path.join(getGameDir(owner,repo),".lake","gamedata",filename)))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
router.get("/api/g/:owner/:repo/game", (req, res) => {
|
|
|
|
|
res.send(loadJson(req, `game.json`));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
router.get("/api/g/:owner/:repo/inventory", (req, res) => {
|
|
|
|
|
res.send(loadJson(req, `inventory.json`));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
router.get("/api/g/:owner/:repo/level/:world/:level", (req, res) => {
|
|
|
|
|
const world = req.params.world;
|
|
|
|
|
const level = req.params.level;
|
|
|
|
|
res.send(loadJson(req, `level__${world}__${level}.json`));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
router.get("/api/g/:owner/:repo/doc/:type/:name", (req, res) => {
|
|
|
|
|
const type = req.params.type;
|
|
|
|
|
const name = req.params.name;
|
|
|
|
|
res.send(loadJson(req, `doc__${type}__${name}.json`));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const server = app
|
|
|
|
|
.use(express.static(path.join(__dirname, '../client/dist/')))
|
|
|
|
|
.use('/data/g/:owner/:repo/*', (req, res, next) => {
|
|
|
|
|
const owner = req.params.owner;
|
|
|
|
|
const repo = req.params.repo
|
|
|
|
|
const filename = req.params[0];
|
|
|
|
|
req.url = filename;
|
|
|
|
|
express.static(path.join(getGameDir(owner,repo),".lake","gamedata"))(req, res, next);
|
|
|
|
|
})
|
|
|
|
|
.use('/', router)
|
|
|
|
|
.listen(PORT, () => console.log(`Listening on ${PORT}`));
|
|
|
|
|
|
|
|
|
|