From 12658c14c37d09d8ca13f30f5a22ffd47e0fc877 Mon Sep 17 00:00:00 2001 From: Overlord Date: Tue, 25 Nov 2025 17:13:02 +0100 Subject: [PATCH] moved structs to extra file, added config db keys --- app/src/main.v | 67 +++++++++++++++------------------ app/src/template/dashboard.html | 8 ++-- app/src/util/structs.v | 22 +++++++++++ v.mod => app/src/v.mod | 2 +- 4 files changed, 58 insertions(+), 41 deletions(-) create mode 100644 app/src/util/structs.v rename v.mod => app/src/v.mod (86%) diff --git a/app/src/main.v b/app/src/main.v index 878cd33..998c275 100644 --- a/app/src/main.v +++ b/app/src/main.v @@ -1,20 +1,11 @@ module main -import veb import os -import log +import veb +import util +// import app.src.util // IDE display version -struct Config { -pub mut: - root string - port int -} - -struct Embedded { -pub mut: - style_css string - error_css string -} +// pub struct User { pub mut: @@ -25,7 +16,7 @@ pub mut: pub struct Context { veb.Context pub mut: - embed Embedded + embed util.Embedded user User session_id string } @@ -35,7 +26,7 @@ pub struct App { veb.StaticHandler veb.Middleware[Context] pub mut: - embed Embedded + embed util.Embedded } pub struct Auth {} @@ -48,26 +39,21 @@ pub fn (app &App) root(mut ctx Context, path string) veb.Result { return ctx.html($tmpl('template/dashboard.html')) } -@['/error'] -pub fn (app &App) error(mut ctx Context) veb.Result { - return ctx.html(ctx.error_page(500, 'Internal Server Error', 'Oops! Seems like something went wrong here.')) -} - // auth endpoints @[get; post] pub fn (auth &Auth) login(mut ctx Context) veb.Result { - return ctx.text('') + return ctx.text('login') } @[get; post] pub fn (auth &Auth) logout(mut ctx Context) veb.Result { - return ctx.text('') + return ctx.text('logout') } @[get; post; put] pub fn (auth &Auth) register(mut ctx Context) veb.Result { - return ctx.text('') + return ctx.text('register') } // utility @@ -84,20 +70,29 @@ pub fn (mut ctx Context) not_found() veb.Result { // -- -fn populate() &Config { - mut cfg := &Config{ - root: $d('root', '.') - port: $d('port', 6767) - } +fn populate() &util.Config { + def_root := $d('root', '.') + def_port := int($d('port', 6767)) - if os.getenv('CDN_ROOT') != '' { - cfg.root = os.getenv('CDN_ROOT').str() - } - if os.getenv('CDN_PORT') != '' { - cfg.port = os.getenv('CDN_PORT').int() - } + def_user := $d('username', 'cdn') + def_pass := $d('password', 'totallySafeCdnDatabasePassword1235') - return cfg + return &util.Config{ + root: if os.getenv('CDN_ROOT') != '' { os.getenv('CDN_ROOT').str() } else { def_root } + port: if os.getenv('CDN_PORT') != '' { os.getenv('CDN_PORT').int() } else { def_port } + database: &util.Database{ + 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 + } + } + } } fn main() { @@ -105,7 +100,7 @@ fn main() { mut app := &App{} mut auth := &Auth{} - app.embed = &Embedded{ + app.embed = &util.Embedded{ style_css: $embed_file('assets/style/style.css', .zlib).to_string() error_css: $embed_file('assets/style/error.css', .zlib).to_string() } diff --git a/app/src/template/dashboard.html b/app/src/template/dashboard.html index 80704af..206aed4 100644 --- a/app/src/template/dashboard.html +++ b/app/src/template/dashboard.html @@ -12,15 +12,14 @@
+ @{path}
- 0 directories - 0 files - 0 B total + @{meta}
- +
@@ -28,6 +27,7 @@
+ @{files}
diff --git a/app/src/util/structs.v b/app/src/util/structs.v new file mode 100644 index 0000000..968244e --- /dev/null +++ b/app/src/util/structs.v @@ -0,0 +1,22 @@ +// src/controller/structs/structs.v +module util + +pub struct Database { +pub: + username string + password string +} + +pub struct Config { +pub mut: + root string + port int +pub: + database Database +} + +pub struct Embedded { +pub mut: + style_css string + error_css string +} diff --git a/v.mod b/app/src/v.mod similarity index 86% rename from v.mod rename to app/src/v.mod index 38fbabf..553b66a 100644 --- a/v.mod +++ b/app/src/v.mod @@ -1,5 +1,5 @@ Module { - name: 'CDN' + name: 'app' description: '' version: '0.0.1' license: 'MIT'