mirror of
https://github.com/Open-Argon/isotope-server.git
synced 2026-10-28 09:43:51 +00:00
30 lines
1.0 KiB
Plaintext
30 lines
1.0 KiB
Plaintext
import "server" as *
|
|
import "config" as config
|
|
import "database" as *
|
|
import "url.ar" as urllib
|
|
|
|
let search(req, res) = do
|
|
let name = req.query.get_value("name", null)
|
|
if (name == null) do
|
|
res.code = 400
|
|
res.send("Name is required")
|
|
return
|
|
name = name.toLower()
|
|
let version = req.query.get_value("version", "latest")
|
|
let package = packages.get_value(name)
|
|
if (package == null) do
|
|
res.code = 404
|
|
res.send("Package not found")
|
|
return
|
|
let currentVersion = package.versions.get_value(version)
|
|
forever do
|
|
let redirect = currentVersion.get_value("redirect")
|
|
if (redirect) do
|
|
currentVersion = package.versions.get_value(redirect)
|
|
continue
|
|
break
|
|
let filename = currentVersion.get_value("filename")
|
|
let URL = config.url+"/isotope-download?"+urllib.queryStr({name:currentVersion.name, version:currentVersion.version})
|
|
res.json({Name: currentVersion.name, Version: currentVersion.version, URL:URL })
|
|
app.get("/isotope-search", search)
|