From 5ca14fcf3e949308eb0b2d636169e6601df1908d Mon Sep 17 00:00:00 2001 From: MikunoNaka Date: Wed, 28 Apr 2021 16:19:00 +0530 Subject: New Feature: Ability to register new items in the database --- server/database/database.go | 58 ++++++++++++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 17 deletions(-) (limited to 'server/database') diff --git a/server/database/database.go b/server/database/database.go index 16b6f65..8b7c7f6 100644 --- a/server/database/database.go +++ b/server/database/database.go @@ -12,43 +12,67 @@ package database import ( - _ "github.com/mattn/go-sqlite3" "database/sql" + _ "github.com/mattn/go-sqlite3" ) type Item struct { Model string Desc string `json:"Description"` - Price int // *float32 + Price float64 HSN int } - var myDatabase *sql.DB +var registered_items *sql.Stmt +var register_item *sql.Stmt func init() { myDatabase, _ = sql.Open("sqlite3", "./openbills.db") -} -var myItems *sql.Stmt -var addToMyItems *sql.Stmt -func init() { - myItems, _ = myDatabase.Prepare("CREATE TABLE IF NOT EXISTS RegisteredItems (id INTEGER PRIMARY KEY, model TEXT, desc TEXT, price INTEGER, HSN INTEGER)") - myItems.Exec() + registered_items, _ = myDatabase.Prepare( + `CREATE TABLE IF NOT EXISTS registered_items + (id INTEGER PRIMARY KEY AUTOINCREMENT, + model TEXT NOT NULL, + desc TEXT, + price REAL, + hsn BLOB)`, + ) + registered_items.Exec() - addToMyItems, _ = myDatabase.Prepare("INSERT INTO RegisteredItems (id, model, desc, price, hsn) VALUES (?, ?, ?, ?, ?)") + register_item, _ = myDatabase.Prepare( + `INSERT INTO registered_items + (model, desc, price, hsn) + VALUES (?, ?, ?, ?)`, + ) } func GetAllItems() []Item { var allItems []Item - rows, _ := myDatabase.Query("SELECT model, desc, price, hsn FROM RegisteredItems") + rows, _ := myDatabase.Query( + `SELECT model, desc, price, hsn FROM registered_items`, + ) + + var ( + model, desc string + price float64 + HSN int + ) - var model string - var desc string - var price int - var hsn int for rows.Next() { - rows.Scan(&model, &desc, &price, &hsn) - allItems = append(allItems, Item{model, desc, price, hsn}) + rows.Scan(&model, &desc, &price, &HSN) + allItems = append(allItems, Item{model, desc, price, HSN}) } + return allItems } + +func RegisterItem(model string, desc string, price float64, HSN int) { + /* + var item Item = Item{ + model, desc, price, HSN, + } + + register_item.Exec(item.Model, item.Desc, item.Price, item.HSN) + */ + register_item.Exec(model, desc, price, HSN) +} -- cgit v1.2.3