aboutsummaryrefslogtreecommitdiff
path: root/server/database/invoices.go
diff options
context:
space:
mode:
authorMikunoNaka <bokuwakanojogahoshii@yahoo.com>2021-07-02 17:06:26 +0530
committerMikunoNaka <bokuwakanojogahoshii@yahoo.com>2021-07-02 17:06:26 +0530
commite946f0e51cbe72cec6bdf599c8ee9c1be1f64e0b (patch)
tree54a2ee83a315a0d933bd303415249a3465ddc5c6 /server/database/invoices.go
parenteedde57b9caff20e1e7d25b43fcb8785e23b3e11 (diff)
working on the form info like date and stuff
Diffstat (limited to 'server/database/invoices.go')
-rw-r--r--server/database/invoices.go70
1 files changed, 70 insertions, 0 deletions
diff --git a/server/database/invoices.go b/server/database/invoices.go
new file mode 100644
index 0000000..f6e1a4c
--- /dev/null
+++ b/server/database/invoices.go
@@ -0,0 +1,70 @@
+/*
+ * 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
+*/
+
+// handles all Items related database functions
+
+package database
+
+import (
+ _ "github.com/mattn/go-sqlite3"
+)
+
+type Invoice struct {
+ ID int
+ Data string
+ CreatedON string
+}
+
+/*
+func GetAllItems() []Item {
+ var allItems []Item
+ rows, _ := myDatabase.Query(
+ `SELECT Model, Desc, UnitPrice, HSN, TotalGST, Category, Brand FROM Items`,
+ )
+
+ var (
+ model, desc, cat, brand string
+ unitPrice, GST float64
+ HSN string
+ )
+
+ for rows.Next() {
+ rows.Scan(&model, &desc, &unitPrice, &HSN, &GST, &cat, &brand)
+ allItems = append(allItems, Item{model, desc, unitPrice, HSN, GST, cat, brand})
+ }
+
+ return allItems
+}
+
+func RegisterItem(item Item) bool {
+ itemNames, _ := myDatabase.Query("SELECT model FROM Items")
+
+ register_item, _ := myDatabase.Prepare(
+ `INSERT INTO Items
+ (Model, Desc, UnitPrice, HSN, TotalGST, 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.Description, item.UnitPrice, item.HSN,
+ item.TotalGST, item.Category, item.Brand,
+ )
+
+ return true
+}
+*/