aboutsummaryrefslogtreecommitdiff
path: root/server/database
diff options
context:
space:
mode:
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.go33
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()
+}
+