59 lines
No EOL
1.7 KiB
JavaScript
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}`);
|
|
}); |