const express = require("express") const router = express.Router({ mergeParams: true }) const path = require("node:path") const fs = require("node:fs") const { DefaultError } = require("../../../errors/errors") const TEXTURES_DIR = path.join(process.cwd(), "data", "textures") router.get("/", async (req, res, next) => { try { const hash = req.params.hash if (!/^[a-f0-9]{64}$/i.test(hash)) { throw new DefaultError(404, "Texture not found") } const subDir = hash.substring(0, 2) const filePath = path.join(TEXTURES_DIR, subDir, hash) if (!fs.existsSync(filePath)) { throw new DefaultError(404, "Texture not found") } res.sendFile(filePath) } catch (err) { return next(err) } }) module.exports = router