update markdown.ar

This commit is contained in:
William Bell committed 2024-10-19 03:25:50 +01:00
1 parent 7d897f4c41
commit 668f4dc86b
4 files changed
+66 -60

No files matched your search

+1 -1
View File
@@ -1 +1 @@
[{"Name":"bleach.ar","Version":"1.0.0","URL":"https://isotope.wbell.dev/isotope-download?version=1.0.0\u0026name=bleach.ar","Remote":"isotope.wbell.dev"},{"Name":"shlex.ar","Version":"1.0.1","URL":"https://isotope.wbell.dev/isotope-download?name=shlex.ar\u0026version=1.0.1","Remote":"isotope.wbell.dev"},{"Name":"neon.ar","Version":"beta1.0.2","URL":"https://isotope.wbell.dev/isotope-download?name=neon.ar\u0026version=beta1.0.2","Remote":"isotope.wbell.dev"},{"Name":"url.ar","Version":"1.0.2","URL":"https://isotope.wbell.dev/isotope-download?name=url.ar\u0026version=1.0.2","Remote":"isotope.wbell.dev"},{"Name":"http.ar","Version":"1.1.5","URL":"https://isotope.wbell.dev/isotope-download?version=1.1.5\u0026name=http.ar","Remote":"isotope.wbell.dev"},{"Name":"markdown.ar","Version":"beta1.0.1","URL":"https://isotope.wbell.dev/isotope-download?name=markdown.ar\u0026version=beta1.0.1","Remote":"isotope.wbell.dev"}]
[{"Name":"bleach.ar","Version":"1.0.0","URL":"https://isotope.wbell.dev/isotope-download?version=1.0.0\u0026name=bleach.ar","Remote":"isotope.wbell.dev"},{"Name":"shlex.ar","Version":"1.0.1","URL":"https://isotope.wbell.dev/isotope-download?name=shlex.ar\u0026version=1.0.1","Remote":"isotope.wbell.dev"},{"Name":"neon.ar","Version":"beta1.0.2","URL":"https://isotope.wbell.dev/isotope-download?name=neon.ar\u0026version=beta1.0.2","Remote":"isotope.wbell.dev"},{"Name":"url.ar","Version":"1.0.2","URL":"https://isotope.wbell.dev/isotope-download?name=url.ar\u0026version=1.0.2","Remote":"isotope.wbell.dev"},{"Name":"http.ar","Version":"1.1.5","URL":"https://isotope.wbell.dev/isotope-download?version=1.1.5\u0026name=http.ar","Remote":"isotope.wbell.dev"},{"Name":"markdown.ar","Version":"beta1.0.3","URL":"https://isotope.wbell.dev/isotope-download?name=markdown.ar\u0026version=beta1.0.3","Remote":"isotope.wbell.dev"}]
+16 -12
View File
@@ -7,16 +7,20 @@ let login(req, res) = do
let acc = account.getByToken(req.cookies.get_value("token", ""))
if (acc) do
return res.redirect(redirect)
else if (req.method == "POST") do
let user = req.formdata.get_value("user")
let password = req.formdata.get_value("password")
let errResp(err) = res.renderTemplate("login.html", {errorMsg:err, user:user})
if (not user) return errResp("Missing user")
else if (not password) return errResp("Missing password")
let acc = account.login(user, password)
if ("error" in acc) return errResp(acc.error)
res.setCookie("token", {value:acc.token, path:"/", expires:time.unix(time.now().unix()+3.156e+9, 0).format()})
res.redirect(redirect)
return
res.renderTemplate("login.html", {})
app.all("/login", login)
let loginPOST(req, res) = do
let redirect = req.query.get_value("to", "/")
if (redirect == "/login") redirect = "/"
let acc = account.getByToken(req.cookies.get_value("token", ""))
let user = req.formdata.get_value("user")
let password = req.formdata.get_value("password")
let errResp(err) = res.renderTemplate("login.html", {errorMsg:err, user:user})
if (not user) return errResp("Missing user")
else if (not password) return errResp("Missing password")
let acc = account.login(user, password)
if ("error" in acc) return errResp(acc.error)
res.setCookie("token", {value:acc.token, path:"/", expires:time.unix(time.now().unix()+3.156e+9, 0).format()})
res.redirect(redirect)
app.route("/login").get(login).post(loginPOST)
+49 -46
View File
@@ -4,51 +4,6 @@ import "url.ar" as url
let newPackage(req, res) = do
let acc = account.getByToken(req.cookies.get_value("token", ""))
if (req.method == "POST") do
if (not acc) return res.redirect("/login?"+url.queryStr({to:req.path+"?"+url.queryStr(req.formdata)}))
let name = req.formdata.get_value("name", "")
let shortDescription = req.formdata.get_value("short-description", "")
let description = req.formdata.get_value("description", "")
let license = req.formdata.get_value("license", "")
let repository = req.formdata.get_value("repository", "")
let keywords = req.formdata.get_value("keywords", "")
let errResp(err) = res.renderTemplate("createPackage.html", {name:name, "short-description":shortDescription, description:description, license:license, repository:repository, keywords:keywords, error:err})
let package = packages.get_value(name)
if (package != null) do
errResp("Package already exists")
return
if (name == "") do
errResp("Name cannot be empty")
return
if (shortDescription == "") do
errResp("Short description cannot be empty")
return
if (description == "") do
errResp("Description cannot be empty")
return
if (license == "") do
errResp("License cannot be empty")
return
let repositoryURL = url.URL(repository)
if (not (repositoryURL.protocol && repositoryURL.host && repositoryURL.path)) do
errResp("upload a valid repository URL")
return
if (keywords == "") do
errResp("Keywords cannot be empty")
return
if (not validName(name)) do
errResp("Invalid name")
return
let keywordsList = keywords.split(",")
let keywordsList2 = []
for (i from 0 to keywordsList.length) do
let keyword = keywordsList[i]
if (keyword != "") keywordsList2.append(keyword)
keywordsList = keywordsList2
let package = {name:name, "short-description":shortDescription, description:description, license:license, repository:repository, keywords:keywordsList, owner:acc.id, versions:{}, order:{}}
packages[name] = package
makeChange()
return res.redirect("/package?"+url.queryStr({name:name}))
let values = {}
values.name = req.query.get_value("name", "")
values["short-description"] = req.query.get_value("short-description", "")
@@ -57,4 +12,52 @@ let newPackage(req, res) = do
values.repository = req.query.get_value("repository", "")
values.keywords = req.query.get_value("keywords", "")
res.renderTemplate("createPackage.html", values)
app.all("/package/create", newPackage)
let newPackagePOST(req,res) = do
let acc = account.getByToken(req.cookies.get_value("token", ""))
if (not acc) return res.redirect("/login?"+url.queryStr({to:req.path+"?"+url.queryStr(req.formdata)}))
let name = req.formdata.get_value("name", "")
let shortDescription = req.formdata.get_value("short-description", "")
let description = req.formdata.get_value("description", "")
let license = req.formdata.get_value("license", "")
let repository = req.formdata.get_value("repository", "")
let keywords = req.formdata.get_value("keywords", "")
let errResp(err) = res.renderTemplate("createPackage.html", {name:name, "short-description":shortDescription, description:description, license:license, repository:repository, keywords:keywords, error:err})
let package = packages.get_value(name)
if (package != null) do
errResp("Package already exists")
return
if (name == "") do
errResp("Name cannot be empty")
return
if (shortDescription == "") do
errResp("Short description cannot be empty")
return
if (description == "") do
errResp("Description cannot be empty")
return
if (license == "") do
errResp("License cannot be empty")
return
let repositoryURL = url.URL(repository)
if (not (repositoryURL.protocol && repositoryURL.host && repositoryURL.path)) do
errResp("upload a valid repository URL")
return
if (keywords == "") do
errResp("Keywords cannot be empty")
return
if (not validName(name)) do
errResp("Invalid name")
return
let keywordsList = keywords.split(",")
let keywordsList2 = []
for (i from 0 to keywordsList.length) do
let keyword = keywordsList[i]
if (keyword != "") keywordsList2.append(keyword)
keywordsList = keywordsList2
let package = {name:name, "short-description":shortDescription, description:description, license:license, repository:repository, keywords:keywordsList, owner:acc.id, versions:{}, order:{}}
packages[name] = package
makeChange()
return res.redirect("/package?"+url.queryStr({name:name}))
app.route("/package/create").get(newPackage).post(newPackagePOST)
-1
View File
@@ -32,7 +32,6 @@ let editPackage(req, res) = do
errResp("License cannot be empty")
return
let repositoryURL = url.URL(repository)
term.log(repositoryURL, repository)
if (not (repositoryURL.protocol && repositoryURL.host && repositoryURL.path)) do
errResp("upload a valid repository URL")
return