mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
97 lines
1.5 KiB
V
97 lines
1.5 KiB
V
![]() |
module main
|
||
|
|
||
|
import crypto.bcrypt
|
||
|
import databases
|
||
|
import time
|
||
|
|
||
|
fn (mut app App) service_add_user(username string, password string) ?User {
|
||
|
mut db := databases.create_db_connection() or {
|
||
|
eprintln(err)
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
defer {
|
||
|
db.close()
|
||
|
}
|
||
|
|
||
|
hashed_password := bcrypt.generate_from_password(password.bytes(), bcrypt.min_cost) or {
|
||
|
eprintln(err)
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
user_model := User{
|
||
|
username: username
|
||
|
name: password
|
||
|
password: hashed_password
|
||
|
created_at: time.now()
|
||
|
updated_at: time.now()
|
||
|
deleted_at: time.now()
|
||
|
active: true
|
||
|
}
|
||
|
|
||
|
sql db {
|
||
|
insert user_model into User
|
||
|
}
|
||
|
|
||
|
result := sql db {
|
||
|
select from User where username == username limit 1
|
||
|
}
|
||
|
|
||
|
return result
|
||
|
}
|
||
|
|
||
|
fn (mut app App) service_get_user_by_id(user_id int) ?User {
|
||
|
mut db := databases.create_db_connection() or {
|
||
|
println(err)
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
defer {
|
||
|
db.close()
|
||
|
}
|
||
|
|
||
|
results := sql db {
|
||
|
select from User where id == user_id
|
||
|
}
|
||
|
|
||
|
return results
|
||
|
}
|
||
|
|
||
|
fn (mut app App) service_get_all_user() ?[]User {
|
||
|
mut db := databases.create_db_connection() or {
|
||
|
println(err)
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
defer {
|
||
|
db.close()
|
||
|
}
|
||
|
|
||
|
results := sql db {
|
||
|
select from User
|
||
|
}
|
||
|
|
||
|
return results
|
||
|
}
|
||
|
|
||
|
fn (mut app App) service_get_by_username(username string) ?User {
|
||
|
mut db := databases.create_db_connection() or {
|
||
|
println(err)
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
defer {
|
||
|
db.close()
|
||
|
}
|
||
|
|
||
|
results := sql db {
|
||
|
select from User where username == username
|
||
|
}
|
||
|
|
||
|
if results.len == 0 {
|
||
|
return error('Usuário não encontrado')
|
||
|
}
|
||
|
|
||
|
return results[0]
|
||
|
}
|