Add base project files including environment example, license, README, .gitignore, error classes, ESLint config, database modules, texture assets, repositories, routes, schemas, services, and server entry point. This establishes the foundational structure for a Yggdrasil-compatible REST API with modular error handling, database setup, and route organization.
26 lines
1018 B
JavaScript
26 lines
1018 B
JavaScript
const express = require("express")
|
|
const router = express.Router()
|
|
const userService = require("../../../../../services/userService")
|
|
const authService = require("../../../../../services/authService")
|
|
|
|
router.delete("/", async (req, res) => {
|
|
const player = await authService.verifyAccessToken({ accessToken: req.headers.authorization.replace("Bearer", "").trim() })
|
|
await userService.hideCape(player.user.uuid)
|
|
return res.status(200).send()
|
|
})
|
|
|
|
router.put("/", async (req, res) => {
|
|
const player = await authService.verifyAccessToken(req.headers.authorization)
|
|
|
|
await userService.showCape(player.user.uuid, req.body.capeId)
|
|
const [skinsResult, capesResult] = await Promise.all([userService.getSkins(player.user.uuid), userService.getCapes(player.user.uuid)])
|
|
|
|
return res.status(200).json({
|
|
id: player.user.uuid.replace(/-/g, ""),
|
|
name: player.user.username,
|
|
skins: skinsResult.data || [],
|
|
capes: capesResult.data || []
|
|
})
|
|
})
|
|
|
|
module.exports = router |