From b000b2237af35fad5267e24a45f35897bd4d7d6e Mon Sep 17 00:00:00 2001 From: MikunoNaka Date: Sun, 13 Jun 2021 23:41:06 +0530 Subject: implement API route for users --- server/database/main.go | 8 ++++++ server/database/users.go | 67 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 server/database/users.go (limited to 'server/database') 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 +} +*/ -- cgit v1.2.3