Files
isotope-server/routes/isotope/download.ar
T
2023-08-08 19:26:23 +01:00

25 lines
818 B
Plaintext

import "server" as *
import "config" as *
import "database" as *
let download(req, res) = do
let name = req.query.get("name", null)
let version = req.query.get("version", "latest")
let package = packages.get(name)
if (package == null) do
res.code = 404
res.send("Package not found")
return
let currentVersion = package.versions.get(version)
forever do
let redirect = currentVersion.get("redirect")
if (redirect) do
currentVersion = package.versions.get(redirect)
continue
break
let filename = currentVersion.get("filename")
let p = path.join([program.cwd, "data","packages", name, filename])
res.sendFile(p)
package.download = package.get("download", 0) + 1
app.route("/isotope-download", null, download)