diff --git a/db5.sqlite3 b/db5.sqlite3 index d63e862..0bd9012 100644 Binary files a/db5.sqlite3 and b/db5.sqlite3 differ diff --git a/src/a3 b/src/a3 index f084521..bd91741 100755 Binary files a/src/a3 and b/src/a3 differ diff --git a/src/a3.nim b/src/a3.nim index 011f819..8427f12 100644 --- a/src/a3.nim +++ b/src/a3.nim @@ -4,9 +4,9 @@ import os, nimja/parser, strutils, - ./a3pkg/[models, mics, htmx], - ./a3c/[products, users, cart], - ./[admin, cart, about, index, checkout, validation] + ./a3pkg/[models, mics], + ./a3c/[users], + ./[admin, cart, about, index, checkout, validation, contact, shop] "/" -> [get, post]: ctx.index() @@ -29,64 +29,10 @@ import "/validation/phone" -> post: ctx.validationPhone() "/validation/country" -> post: ctx.validationCountry() -"/contact" -> get: +"/contact" -> get: ctx.contact() - var - db = newDatabase() - - products: seq[Products] - cookies = ctx.cookies - - email = cookies.getOrDefault("email", "") - password = cookies.getOrDefault("password", "") - - if email != "" and password != "": - var - userId = db.getUserId(email, password) - cart = db.getUserCart(userId) - - for c, d in cart: - var product = db.getProductById(d.productId) - products.add(product) - - compileTemplateFile(getScriptDir() / "a3a" / "contact.nimja") - -"/shop" -> get: - - var - db = newDatabase() - - availableProducts = db.availableProducts() - products: seq[Products] - cookies = ctx.cookies - - email = cookies.getOrDefault("email", "") - password = cookies.getOrDefault("password", "") - - if email != "" and password != "": - products = micsGetProducts(email, password) - - compileTemplateFile(getScriptDir() / "a3a" / "shop.nimja") - -"/shop-single" -> get: - - var - db = newDatabase() - - productName = ctx.queryParams["prod"] - - product = db.getProductByName(productName) - - products: seq[Products] - cookies = ctx.cookies - - email = cookies.getOrDefault("email", "") - password = cookies.getOrDefault("password", "") - - if email != "" and password != "": - products = micsGetProducts(email, password) - - compileTemplateFile(getScriptDir() / "a3a" / "shop-single.nimja") +"/shop" -> get: ctx.shop() +"/shop-single" -> get: ctx.shopSingle() "/login" -> get: var diff --git a/src/contact.nim b/src/contact.nim new file mode 100644 index 0000000..940a923 --- /dev/null +++ b/src/contact.nim @@ -0,0 +1,28 @@ +import + mike, + segfaults, + os, + nimja/parser, + ./a3pkg/[models, mics], + ./a3c/[products, users, cart] + +proc contact*(ctx: Context): string= + var + db = newDatabase() + + products: seq[Products] + cookies = ctx.cookies + + email = cookies.getOrDefault("email", "") + password = cookies.getOrDefault("password", "") + + if email != "" and password != "": + var + userId = db.getUserId(email, password) + cart = db.getUserCart(userId) + + for c, d in cart: + var product = db.getProductById(d.productId) + products.add(product) + + compileTemplateFile(getScriptDir() / "a3a" / "contact.nimja") \ No newline at end of file diff --git a/src/shop.nim b/src/shop.nim new file mode 100644 index 0000000..9dcfa54 --- /dev/null +++ b/src/shop.nim @@ -0,0 +1,42 @@ +import + mike, + segfaults, + os, + nimja/parser, + ./a3pkg/[models, mics], + ./a3c/[products] + +proc shop*(ctx: Context): string= + var + db = newDatabase() + + availableProducts = db.availableProducts() + products: seq[Products] + cookies = ctx.cookies + + email = cookies.getOrDefault("email", "") + password = cookies.getOrDefault("password", "") + + if email != "" and password != "": + products = micsGetProducts(email, password) + + compileTemplateFile(getScriptDir() / "a3a" / "shop.nimja") + +proc shopSingle*(ctx: Context): string= + var + db = newDatabase() + + productName = ctx.queryParams["prod"] + + product = db.getProductByName(productName) + + products: seq[Products] + cookies = ctx.cookies + + email = cookies.getOrDefault("email", "") + password = cookies.getOrDefault("password", "") + + if email != "" and password != "": + products = micsGetProducts(email, password) + + compileTemplateFile(getScriptDir() / "a3a" / "shop-single.nimja") \ No newline at end of file