highscore-server/src/database.v

39 lines
719 B
V

module main
[table: 'Score']
struct ScoreRes {
mut:
id i64 [primary; sql: serial]
player string [nonull]
score int [nonull]
time i64 [nonull]
}
fn (mut app App) create_tables() ! {
sql app.db {
create table ScoreRes
}!
}
fn (mut app App) insert_score(score ScoreRes) !ScoreRes {
sql app.db {
insert score into ScoreRes
}!
last_id := app.db.last_id() as int
return sql app.db {
select from ScoreRes where id == last_id
}![0] or { ScoreRes{} }
}
fn (mut app App) get_scores() ![]ScoreRes {
return sql app.db {
select from ScoreRes order by score desc limit 1000
}!
}
fn (mut app App) delete_score(score_id int) ! {
sql app.db {
delete from ScoreRes where id == score_id
}!
}