diff options
Diffstat (limited to 'server/database/database.go')
-rw-r--r-- | server/database/database.go | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/server/database/database.go b/server/database/database.go deleted file mode 100644 index b3c1e78..0000000 --- a/server/database/database.go +++ /dev/null @@ -1,95 +0,0 @@ -/* - * 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 -*/ - -// Idk how databases work this package is supposed to handle the sqlite database -// will figure that out - -package database - -import ( - "database/sql" - _ "github.com/mattn/go-sqlite3" -) - -type Item struct { - Model string - Desc string `json:"Description"` - Price float64 - HSN int - GST float64 - Cat string `json:"Category"` - Brand string -} - -var myDatabase *sql.DB -var register_item *sql.Stmt -func init() { - myDatabase, _ = sql.Open("sqlite3", "./openbills.db") - - init_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, - gst REAL, - category TEXT, - brand TEXT)`, - ) - init_registered_items.Exec() - - register_item, _ = myDatabase.Prepare( - `INSERT INTO registered_items - (model, desc, price, hsn, gst, category, brand) - VALUES (?, ?, ?, ?, ?, ?, ?)`, - ) -} - -func GetAllItems() []Item { - var allItems []Item - rows, _ := myDatabase.Query( - `SELECT model, desc, price, hsn, gst, category, brand FROM registered_items`, - ) - - var ( - model, desc, cat, brand string - price, GST float64 - HSN int - ) - - for rows.Next() { - rows.Scan(&model, &desc, &price, &HSN, &GST, &cat, &brand) - allItems = append(allItems, Item{model, desc, price, HSN, GST, cat, brand}) - } - - return allItems -} - -func RegisterItem(item Item) bool { - itemNames, _ := myDatabase.Query("SELECT model FROM registered_items") - - // 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 -} |