ac2re.weblivemap/server/app.js
2024-05-07 18:01:11 +02:00

59 lines
No EOL
1.7 KiB
JavaScript

require('dotenv').config({ path: './process.env' });
const express = require("express");
const app = express();
const path = require('path');
const port = 3000;
const db = require("./db");
const poi = require("./modules/poi");
app.use(express.static(path.join(__dirname, '..', "public")));
// Crée une route spéciale pour les tiles
app.use('/tiles', express.static(path.join(__dirname, '..', 'tiles')));
// Définition de la route pour les tiles
app.get('/tiles/:z/:x/:y.png', (req, res) => {
const z = req.params.z;
const x = req.params.x;
const y = req.params.y;
const tilePath = path.join(__dirname, '..', 'tiles', `${z}/${x}/${y}.png`);
res.sendFile(tilePath);
});
app.get("/characterloc", async (req, res) => {
try {
const characterPositions = await db.getCharacterPos();
res.json(characterPositions);
} catch (err) {
console.error("Erreur lors de la récupération des positions des personnages:", err);
res.status(500).send("Erreur interne");
}
});
app.get("/npcloc", async (req, res) => {
try {
const npcPositions = await db.getNpcPos();
res.json(npcPositions);
} catch (err) {
console.error("Erreur lors de la récupération des positions des NPC:", err);
res.status(500).send("Erreur interne");
}
});
app.get("/poi/:name", async (req, res) => {
try {
const name = req.params.name;
const result = poi.initPoImarker(name);
res.json(result);
}
catch (err) {
console.error("Erreur lors de la récupération des PoI:", err);
res.status(500).send("Erreur interne");
}
});
app.listen(port, () => {
console.log(`Listening on port ${port}`);
});