mirror of
https://github.com/Floriansylvain/ParisMuseesQuizz.git
synced 2026-08-19 19:53:22 +02:00
Paintings refactor
This commit is contained in:
+20
-14
@@ -35,6 +35,23 @@ async function fetchPainting(uuid: string): Promise<unknown> {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function getRandomUUIDs(limit: number): Promise<unknown[]> {
|
||||||
|
const paintingsUUIDs = JSON.parse(
|
||||||
|
fs.readFileSync("src/assets/paintingsUUID.json", "utf8")
|
||||||
|
)
|
||||||
|
const randomUUIDs = paintingsUUIDs.paintings
|
||||||
|
.sort(() => Math.random() - 0.5)
|
||||||
|
.slice(0, limit)
|
||||||
|
|
||||||
|
const paintings = []
|
||||||
|
for (const uuid of randomUUIDs) {
|
||||||
|
const painting = await fetchPainting(uuid)
|
||||||
|
paintings.push(painting)
|
||||||
|
}
|
||||||
|
|
||||||
|
return paintings
|
||||||
|
}
|
||||||
|
|
||||||
const paintingRouterGet: RequestHandler = async (req, res) => {
|
const paintingRouterGet: RequestHandler = async (req, res) => {
|
||||||
const parsedPainting = paintingParser.safeParse(req.params)
|
const parsedPainting = paintingParser.safeParse(req.params)
|
||||||
if (!parsedPainting.success) {
|
if (!parsedPainting.success) {
|
||||||
@@ -56,20 +73,9 @@ const paintingRouterGetRandoms: RequestHandler = async (req, res) => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const paintingsUUIDs = JSON.parse(
|
res.send({
|
||||||
fs.readFileSync("src/assets/paintingsUUID.json", "utf8")
|
paintings: await getRandomUUIDs(parsedPainting.data.limit),
|
||||||
)
|
})
|
||||||
const randomUUIDs = paintingsUUIDs.paintings
|
|
||||||
.sort(() => Math.random() - 0.5)
|
|
||||||
.slice(0, parsedPainting.data.limit)
|
|
||||||
|
|
||||||
const paintings = []
|
|
||||||
for (const uuid of randomUUIDs) {
|
|
||||||
const painting = await fetchPainting(uuid)
|
|
||||||
paintings.push(painting)
|
|
||||||
}
|
|
||||||
|
|
||||||
res.send({ paintings })
|
|
||||||
}
|
}
|
||||||
|
|
||||||
paintingsRouter.get("/:uuid", paintingRouterGet)
|
paintingsRouter.get("/:uuid", paintingRouterGet)
|
||||||
|
|||||||
Reference in New Issue
Block a user