From 330a22068f49c04b89cb6fae07153b87aaa430e0 Mon Sep 17 00:00:00 2001 From: Overlord Date: Wed, 26 Nov 2025 13:22:39 +0000 Subject: [PATCH] working, beta --- app/src/main.v | 51 ++++++++++++++++++++++---------------------------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/app/src/main.v b/app/src/main.v index 4bf01d6..5a4415f 100644 --- a/app/src/main.v +++ b/app/src/main.v @@ -3,10 +3,9 @@ module main import os import veb import util -import database import thomaspeissl.dotenv -// +// structs pub struct User { pub mut: @@ -88,9 +87,14 @@ fn (mut ctx Context) error_page(code int, short string, long string) string { return $tmpl('template/error.html') } +pub fn (mut ctx Context) request_error(msg string) veb.Result { + ctx.res.set_status(.bad_request) + return ctx.html(ctx.error_page(400, 'Bad Request', 'This request is malformed or otherwise invalid.')) +} + pub fn (mut ctx Context) forbidden() veb.Result { ctx.res.set_status(.forbidden) - return ctx.html(ctx.error_page(403, 'Forbidden', "Oops! You aren't allowed around here.")) + return ctx.html(ctx.error_page(403, 'Forbidden', 'Oops! You aren't allowed around here.')) } pub fn (mut ctx Context) not_found() veb.Result { @@ -98,15 +102,20 @@ pub fn (mut ctx Context) not_found() veb.Result { return ctx.html(ctx.error_page(404, 'Not found', 'Oops! The page you are looking for does not exist.')) } -// -- +pub fn (mut ctx Context) server_error(msg string) veb.Result { + ctx.res.set_status(.internal_server_error) + return ctx.html(ctx.error_page(500, 'Interal Server Error', 'Oops! Something went wrong here.')) +} -fn populate() (&util.Config, &util.Embedded) { +// main + +fn populate() (&util.Config, &util.Embedded) +{ dotenv.load() dotenv.require('CDN_DB_HOST', 'CDN_DB_PORT') def_root := $d('root', '.') def_port := int($d('port', 6767)) - def_user := $d('username', 'cdn') def_pass := $d('password', 'totallySafeCdnDatabasePassword1235') @@ -116,16 +125,8 @@ fn populate() (&util.Config, &util.Embedded) { database: &util.Database{ host: os.getenv('CDN_DB_HOST').str() port: os.getenv('CDN_DB_PORT').int() - username: if os.getenv('CDN_DB_USERNAME') != '' { - os.getenv('CDN_DB_USERNAME').str() - } else { - def_user - } - password: if os.getenv('CDN_DB_PASSWORD') != '' { - os.getenv('CDN_DB_PASSWORD').str() - } else { - def_pass - } + username: if os.getenv('CDN_DB_USERNAME') != '' { os.getenv('CDN_DB_USERNAME').str() } else { def_user } + password: if os.getenv('CDN_DB_PASSWORD') != '' { os.getenv('CDN_DB_PASSWORD').str() } else { def_pass } } }, &util.Embedded{ style_css: $embed_file('template/assets/style.css', .zlib).to_string() @@ -133,26 +134,18 @@ fn populate() (&util.Config, &util.Embedded) { } } -fn main() { +fn main() +{ cfg, mut embed := populate() - mut app := &App{ - cfg: cfg - embed: embed - } - mut auth := &Auth{ - app: &app - } - - database.test()! - - // db := database.get_connection(app.cfg)! + mut app := &App{ cfg: cfg, embed: embed } + mut auth := &Auth{ app: &app } app.register_controller[Auth, Context]('/auth', mut auth)! app.enable_static_compression = true app.use(veb.encode_auto[Context]()) - app.use(veb.MiddlewareOptions[Context]{ + app.use(veb.MiddlewareOptions[Context] { handler: fn [mut embed] (mut ctx Context) bool { ctx.embed = embed return true