diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/database/database.go | 8 | ||||
-rw-r--r-- | server/database/invoices.go | 70 |
2 files changed, 78 insertions, 0 deletions
diff --git a/server/database/database.go b/server/database/database.go index 2339d29..5e3e940 100644 --- a/server/database/database.go +++ b/server/database/database.go @@ -47,5 +47,13 @@ func InitDB() { Email TEXT)`, ) init_users.Exec() + + init_invoices, _ := myDatabase.Prepare( + `CREATE TABLE IF NOT EXISTS Invoices + (id INTEGER PRIMARY KEY AUTOINCREMENT, + Data BLOB NOT NULL, + Created_on DATETIME)`, + ) + init_invoices.Exec() } 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 +} +*/ |