mirror of
https://github.com/vlang/v.git
synced 2025-09-15 07:22:27 +03:00
examples: v back-end example for vweb (#15141)
This commit is contained in:
parent
1f3be99859
commit
2d7406a8cd
14 changed files with 378 additions and 0 deletions
72
examples/vweb_orm_jwt/src/user_controllers.v
Normal file
72
examples/vweb_orm_jwt/src/user_controllers.v
Normal file
|
@ -0,0 +1,72 @@
|
|||
module main
|
||||
|
||||
import vweb
|
||||
import json
|
||||
import databases
|
||||
|
||||
['/user/:id/get'; get]
|
||||
pub fn (mut app App) controller_get_user_by_id(id int) vweb.Result {
|
||||
response := app.service_get_user_by_id(id) or {
|
||||
app.set_status(400, '')
|
||||
return app.text('$err')
|
||||
}
|
||||
return app.json(response)
|
||||
}
|
||||
|
||||
['/user/create'; post]
|
||||
pub fn (mut app App) controller_create_user() vweb.Result {
|
||||
body := json.decode(User, app.req.data) or {
|
||||
app.set_status(400, '')
|
||||
return app.text('Failed to decode json, error: $err')
|
||||
}
|
||||
|
||||
response := app.service_add_user(body.username, body.password) or {
|
||||
app.set_status(400, '')
|
||||
return app.text('error: $err')
|
||||
}
|
||||
|
||||
return app.json(response)
|
||||
}
|
||||
|
||||
['/user/get_all'; get]
|
||||
pub fn (mut app App) controller_get_all_user() vweb.Result {
|
||||
token := app.get_header('token')
|
||||
|
||||
if !auth_verify(token) {
|
||||
app.set_status(401, '')
|
||||
return app.text('Not valid token')
|
||||
}
|
||||
|
||||
response := app.service_get_all_user() or {
|
||||
app.set_status(400, '')
|
||||
return app.text('$err')
|
||||
}
|
||||
return app.json(response)
|
||||
}
|
||||
|
||||
['/user/get_by_username/:username'; get]
|
||||
pub fn (mut app App) controller_get_by_username(username string) vweb.Result {
|
||||
response := app.service_get_by_username(username) or {
|
||||
app.set_status(400, '')
|
||||
return app.text('$err')
|
||||
}
|
||||
return app.json(response)
|
||||
}
|
||||
|
||||
['/user/drop'; delete]
|
||||
pub fn (mut app App) delete() vweb.Result {
|
||||
mut db := databases.create_db_connection() or {
|
||||
app.set_status(400, '')
|
||||
return app.text('$err')
|
||||
}
|
||||
|
||||
defer {
|
||||
db.close()
|
||||
}
|
||||
|
||||
sql db {
|
||||
drop table User
|
||||
}
|
||||
|
||||
return app.text('Tabela deletada com sucesso')
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue