8/src/hh1.nim
2024-08-08 00:02:25 +05:30

62 lines
No EOL
1.5 KiB
Nim

import
mike,
nimja,
strutils,
json,
strformat,
./lib/mics,
./db/users,
./model/model,
./controller/signup
"/^path" -> before[post, get]:
var path2 = ctx.pathParams["path"]
echo(fmt"[mike] before request: {ctx.httpMethod} {path2}")
"/" -> [get, post]:
var
user = parseJson(ctx.cookies.getOrDefault("user", ""))
user2 = to(user, User)
compileTemplateFile(getScriptDir() / "view" / "index.nimja")
"/shop" -> get:
compileTemplateFile(getScriptDir() / "view" / "shop.nimja")
"/contact" -> get:
compileTemplateFile(getScriptDir() / "view" / "contact.nimja")
"/cart" -> get:
compileTemplateFile(getScriptDir() / "view" / "cart.nimja")
"/checkout" -> get:
compileTemplateFile(getScriptDir() / "view" / "checkout.nimja")
"/shop/:id" -> get:
var prodId = capitalizeAscii(ctx.pathParams["id"])
compileTemplateFile(getScriptDir() / "view" / "shop-detail.nimja")
"/testimonial" -> get:
compileTemplateFile(getScriptDir() / "view" / "testimonial.nimja")
"/signup" -> [get, post]: ctx.signup()
"/login" -> get:
compileTemplateFile(getScriptDir() / "view" / "login.nimja")
"/login" -> post:
var em =ctx.urlForm["email"]
var ps=ctx.urlForm["password"]
let conn=newTurso()
var temp=getUser(conn, em, ps)
if temp[0]:
echo $(%* temp[1])
ctx &= initCookie("user", $(%* temp[1]))
ctx.redirect("/")
else:
echo "user not found"
"/:path" -> get:
compileTemplateFile(getScriptDir() / "view" / "404.nimja")
servePublic("src/public", "/static")
run()