From f5c4671bfbad96bf346bd7e9a21fc4317b4959df Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Sat, 3 Dec 2022 17:00:20 +0530 Subject: Adds most of the tools --- v_windows/v/old/vlib/vweb/vweb_app_test.v | 63 +++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 v_windows/v/old/vlib/vweb/vweb_app_test.v (limited to 'v_windows/v/old/vlib/vweb/vweb_app_test.v') diff --git a/v_windows/v/old/vlib/vweb/vweb_app_test.v b/v_windows/v/old/vlib/vweb/vweb_app_test.v new file mode 100644 index 0000000..492bdf4 --- /dev/null +++ b/v_windows/v/old/vlib/vweb/vweb_app_test.v @@ -0,0 +1,63 @@ +module main + +import vweb +import time +import sqlite + +struct App { + vweb.Context +pub mut: + db sqlite.DB [server_var] + user_id string +} + +struct Article { + id int + title string + text string +} + +fn test_a_vweb_application_compiles() { + go fn () { + time.sleep(2 * time.second) + exit(0) + }() + vweb.run(&App{}, 18081) +} + +pub fn (mut app App) init_server() { + app.db = sqlite.connect('blog.db') or { panic(err) } + app.db.create_table('article', [ + 'id integer primary key', + "title text default ''", + "text text default ''", + ]) +} + +pub fn (mut app App) before_request() { + app.user_id = app.get_cookie('id') or { '0' } +} + +['/new_article'; post] +pub fn (mut app App) new_article() vweb.Result { + title := app.form['title'] + text := app.form['text'] + if title == '' || text == '' { + return app.text('Empty text/title') + } + article := Article{ + title: title + text: text + } + println('posting article') + println(article) + sql app.db { + insert article into Article + } + + return app.redirect('/') +} + +fn (mut app App) time() { + app.text(time.now().format()) +} -- cgit v1.2.3