diff options
author | MikunoNaka <bokuwakanojogahoshii@yahoo.com> | 2021-06-13 23:41:06 +0530 |
---|---|---|
committer | MikunoNaka <bokuwakanojogahoshii@yahoo.com> | 2021-06-13 23:41:06 +0530 |
commit | b000b2237af35fad5267e24a45f35897bd4d7d6e (patch) | |
tree | e0fc9fc3345eca222538895dd93f691f93a201c0 /server/database | |
parent | 671c3a765ffc53575f517cef715dc16be5aa43c5 (diff) |
implement API route for users
Diffstat (limited to 'server/database')
-rw-r--r-- | server/database/main.go | 8 | ||||
-rw-r--r-- | server/database/users.go | 67 |
2 files changed, 75 insertions, 0 deletions
diff --git a/server/database/main.go b/server/database/main.go index 811a8eb..4eb1a91 100644 --- a/server/database/main.go +++ b/server/database/main.go @@ -39,5 +39,13 @@ func StartDB() { Email TEXT)`, ) init_people.Exec() + + init_users, _ := myDatabase.Prepare( + `CREATE TABLE IF NOT EXISTS Users + (id INTEGER PRIMARY KEY AUTOINCREMENT, + Name TEXT, + Email TEXT)`, + ) + init_users.Exec() } diff --git a/server/database/users.go b/server/database/users.go new file mode 100644 index 0000000..d31b394 --- /dev/null +++ b/server/database/users.go @@ -0,0 +1,67 @@ +/* + * OpenBills - Self hosted browser app to generate and keep track of simple invoices + * Version - 0 + * Licensed under the MIT license - https://opensource.org/licenses/MIT + * Copyright (c) 2021 Vidhu Kant Sharma +*/ + +package database + +import ( + _ "github.com/mattn/go-sqlite3" +) + +type User struct { + Name, Email string +} + +func GetAllUsers() []User { + var allUsers []User + rows, _ := myDatabase.Query( + `SELECT Name, Email FROM Users`, + ) + + var ( + name, email string + ) + + for rows.Next() { + rows.Scan(&name, &email) + allUsers = append(allUsers, User{name, email}) + } + + return allUsers +} + +// to be added soon +/* +func RegisterUser(item Item) bool { + itemNames, _ := myDatabase.Query("SELECT model FROM Items") + + register_item, _ := myDatabase.Prepare( + `INSERT INTO Items + (Model, Desc, Price, Hsn, Gst, Category, Brand) + VALUES (?, ?, ?, ?, ?, ?, ?)`, + ) + + // check if item already exists + // probably this should be handled by front end + // so we can check this without need of using api + for itemNames.Next() { + var rModel string + itemNames.Scan(&rModel) + if rModel == item.Model { + return false + } + } + + register_item.Exec( + item.Model, item.Desc, + item.Price, item.HSN, + item.GST, item.Cat, + item.Brand, + ) + + return true +} +*/ |