1st commit
This commit is contained in:
194
src/a3.nim
Normal file
194
src/a3.nim
Normal file
@@ -0,0 +1,194 @@
|
||||
import
|
||||
mike,
|
||||
segfaults,
|
||||
os,
|
||||
nimja/parser,
|
||||
./a3pkg/models,
|
||||
./a3c/[products, users, cart]
|
||||
|
||||
"/" -> [get, post]:
|
||||
|
||||
var
|
||||
email: string
|
||||
password: string
|
||||
|
||||
try:
|
||||
email = ctx.cookies["email"]
|
||||
password = ctx.cookies["password"]
|
||||
except:
|
||||
email = ""
|
||||
password = ""
|
||||
|
||||
if email == "":
|
||||
echo "No cookie found."
|
||||
else:
|
||||
echo "Cookie found."
|
||||
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "index.nimja")
|
||||
|
||||
"/about" -> get:
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "about.nimja")
|
||||
|
||||
"/cart" -> get:
|
||||
|
||||
var
|
||||
email: string
|
||||
password: string
|
||||
db2 = newDatabase2()
|
||||
db3 = newDatabase3()
|
||||
db1 = newDatabase1()
|
||||
|
||||
try:
|
||||
email = ctx.cookies["email"]
|
||||
password = ctx.cookies["password"]
|
||||
except:
|
||||
email = ""
|
||||
password = ""
|
||||
|
||||
if email == "":
|
||||
ctx.redirect("/login")
|
||||
|
||||
else:
|
||||
var
|
||||
userId = db2.getUserId(email, password)
|
||||
cart = db3.getUserCart(userId)
|
||||
products: seq[Products]
|
||||
|
||||
for c, d in cart:
|
||||
var product = db1.getProductById(d.productId)
|
||||
products.add(product)
|
||||
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "cart.nimja")
|
||||
|
||||
"/checkout" -> get:
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "checkout.nimja")
|
||||
|
||||
"/contact" -> get:
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "contact.nimja")
|
||||
|
||||
"/shop" -> get:
|
||||
var
|
||||
db1 = newDatabase1()
|
||||
|
||||
products = db1.availableProducts()
|
||||
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "shop.nimja")
|
||||
|
||||
"/shop-single" -> get:
|
||||
var
|
||||
db1 = newDatabase1()
|
||||
|
||||
productName = ctx.queryParams["prod"]
|
||||
|
||||
product = db1.getProduct(productName)
|
||||
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "shop-single.nimja")
|
||||
|
||||
"/thankyou" -> get:
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "thankyou.nimja")
|
||||
|
||||
"/login" -> get:
|
||||
var
|
||||
loginError = ""
|
||||
emailError = ""
|
||||
passwordError = ""
|
||||
|
||||
email = ""
|
||||
password = ""
|
||||
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "login.nimja")
|
||||
|
||||
"/login" -> post:
|
||||
var
|
||||
email = ctx.urlForm["email"]
|
||||
password = ctx.urlForm["password"]
|
||||
|
||||
db2 = newDatabase2()
|
||||
|
||||
user = db2.userAvailability(email, password)
|
||||
|
||||
loginError = ""
|
||||
emailError = ""
|
||||
passwordError = ""
|
||||
|
||||
if user == true:
|
||||
|
||||
ctx &= initCookie("email", email)
|
||||
ctx &= initCookie("password", password)
|
||||
|
||||
ctx.redirect("/")
|
||||
|
||||
else:
|
||||
|
||||
if email == "":
|
||||
emailError = "Email is Required"
|
||||
|
||||
if password == "":
|
||||
passwordError = "Password is Required"
|
||||
|
||||
if user == false:
|
||||
loginError = "Invalid Login or Password"
|
||||
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "login.nimja")
|
||||
|
||||
"/logout" -> get:
|
||||
ctx &= initCookie("email", "")
|
||||
ctx &= initCookie("password", "")
|
||||
|
||||
ctx.redirect("/login")
|
||||
|
||||
"/signup" -> get:
|
||||
var
|
||||
firstNameError = ""
|
||||
lastNameError = ""
|
||||
emailError = ""
|
||||
passwordError = ""
|
||||
user: User
|
||||
|
||||
user.firstName = ""
|
||||
user.lastName = ""
|
||||
user.email = ""
|
||||
user.password = ""
|
||||
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "signup.nimja")
|
||||
|
||||
"/signup" -> post:
|
||||
var
|
||||
form = ctx.urlForm
|
||||
|
||||
db2 = newDatabase2()
|
||||
user: User
|
||||
|
||||
firstNameError = ""
|
||||
lastNameError = ""
|
||||
emailError = ""
|
||||
passwordError = ""
|
||||
|
||||
user.firstName = form["firstName"]
|
||||
user.lastName = form["lastName"]
|
||||
user.email = form["email"]
|
||||
user.password = form["password"]
|
||||
|
||||
if user.firstName == "":
|
||||
firstNameError = "First Name is Required"
|
||||
|
||||
if user.lastName == "":
|
||||
lastNameError = "Last Name is Required"
|
||||
|
||||
if user.email == "":
|
||||
emailError = "Email is Required"
|
||||
|
||||
if user.password == "":
|
||||
passwordError = "Password is Required"
|
||||
|
||||
if firstNameError == "" and lastNameError == "" and emailError == "" and passwordError == "":
|
||||
user.accessLevel = 1
|
||||
|
||||
db2.createPost(user)
|
||||
ctx.redirect("/login")
|
||||
|
||||
compileTemplateFile(getScriptDir() / "a3a" / "signup.nimja")
|
||||
|
||||
servePublic("src/a3b", "/a3b")
|
||||
|
||||
run()
|
||||
Reference in New Issue
Block a user