v / examples / veb_fullstack / product_service.v
43 lines · 32 sloc · 726 bytes · b474aa0faf8d055aaced80ed0687ac354d0864a0
Raw
1module main
2
3import databases
4
5fn (mut app App) service_add_product(product_name string, user_id int) ! {
6 mut db := databases.create_db_connection()!
7
8 defer {
9 db.close() or { panic(err) }
10 }
11
12 product_model := Product{
13 name: product_name
14 user_id: user_id
15 }
16
17 mut insert_error := ''
18
19 sql db {
20 insert product_model into Product
21 } or { insert_error = err.msg() }
22
23 if insert_error != '' {
24 return error(insert_error)
25 }
26}
27
28fn (mut app App) service_get_all_products_from(user_id int) ![]Product {
29 mut db := databases.create_db_connection() or {
30 println(err)
31 return err
32 }
33
34 defer {
35 db.close() or { panic(err) }
36 }
37
38 results := sql db {
39 select from Product where user_id == user_id
40 }!
41
42 return results
43}
44