Added installer resources to get app icon and eula

This commit is contained in:
Gilles Lazures 2026-02-08 19:49:30 +01:00
parent 677e23d755
commit 706ddfb95a
5 changed files with 26 additions and 5 deletions

View File

@ -4,7 +4,7 @@ const router = express.Router({ mergeParams: true })
router.get(/.*/, async (req, res, next) => {
const { productName, productPlatform } = req.params
await productsFileService.canAccess(productName, productPlatform)
await productsFileService.canAccess(productName)
const file = await productsFileService.getFile(req.url, productName, productPlatform)
return res.status(200).download(file.path)
})

View File

@ -4,7 +4,7 @@ const router = express.Router({ mergeParams: true })
router.get("/", async (req, res) => {
const { productName, productPlatform } = req.params
await productsFileService.canAccess(productName, productPlatform)
await productsFileService.canAccess(productName)
const files = await productsFileService.getProductFiles(productName, productPlatform)
return res.status(200).json(files)
})

View File

@ -4,7 +4,7 @@ const router = express.Router({ mergeParams: true })
router.get("/", async (req, res) => {
const { productName, productPlatform } = req.params
await productsFileService.canAccess(productName, productPlatform)
await productsFileService.canAccess(productName)
const files = await productsFileService.getRequirementsForPlatform(productName, productPlatform)
return res.status(200).json(files)
})

View File

@ -0,0 +1,12 @@
const express = require("express")
const productsFileService = require("../../../services/productsFileService")
const router = express.Router({ mergeParams: true })
router.get("/", async (req, res) => {
const { productName } = req.params
await productsFileService.canAccess(productName)
const files = await productsFileService.getInstallerResources(productName)
return res.status(200).json(files)
})
module.exports = router

View File

@ -124,18 +124,26 @@ async function getProducts() {
return files
}
async function getRequirementsForPlatform(productName, platform) {
async function getRequirementsForPlatform(productName, productPlatform) {
const fixedPath = path.join(productsDataPath, productName, "files", ".brikcfg")
if (!(await fs.promises.exists(fixedPath))) return []
const config = JSON.parse(await fs.promises.readFile(fixedPath, "utf8"))
const globalReqs = config.requirements?.global || []
const platformReqs = config.requirements?.[platform] || []
const platformReqs = config.requirements?.[productPlatform] || []
return [...globalReqs, ...platformReqs]
}
async function getInstallerResources(productName) {
const fixedPath = path.join(productsDataPath, productName, "files", ".brikcfg")
if (!(await fs.promises.exists(fixedPath))) return []
const config = JSON.parse(await fs.promises.readFile(fixedPath, "utf8"))
return config["installerResources"]
}
module.exports = {
getFile,
canAccess,
@ -143,5 +151,6 @@ module.exports = {
getFileSha1,
getProducts,
getProductFiles,
getInstallerResources,
getRequirementsForPlatform
}