diff options
Diffstat (limited to 'server/database')
-rw-r--r-- | server/database/items.go (renamed from server/database/database.go) | 35 | ||||
-rw-r--r-- | server/database/main.go | 33 |
2 files changed, 40 insertions, 28 deletions
diff --git a/server/database/database.go b/server/database/items.go index b3c1e78..d3d56fd 100644 --- a/server/database/database.go +++ b/server/database/items.go @@ -6,13 +6,11 @@ * Copyright (c) 2021 Vidhu Kant Sharma */ -// Idk how databases work this package is supposed to handle the sqlite database -// will figure that out +// handles all Items related database functions package database import ( - "database/sql" _ "github.com/mattn/go-sqlite3" ) @@ -26,31 +24,6 @@ type Item struct { 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( @@ -74,6 +47,12 @@ func GetAllItems() []Item { func RegisterItem(item Item) bool { itemNames, _ := myDatabase.Query("SELECT model FROM registered_items") + register_item, _ := myDatabase.Prepare( + `INSERT INTO registered_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 diff --git a/server/database/main.go b/server/database/main.go new file mode 100644 index 0000000..ecff904 --- /dev/null +++ b/server/database/main.go @@ -0,0 +1,33 @@ +/* + * 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 ( + "database/sql" + _ "github.com/mattn/go-sqlite3" +) + +var myDatabase *sql.DB +func StartDB() { + 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() +} + |