From 45a3b94f133ebcd9abff2baf266d0b3f691d2790 Mon Sep 17 00:00:00 2001 From: MikunoNaka Date: Sat, 1 May 2021 09:43:59 +0530 Subject: defined api group to handle DB functions regarding people/customers --- server/database/people.go | 67 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 server/database/people.go (limited to 'server/database/people.go') diff --git a/server/database/people.go b/server/database/people.go new file mode 100644 index 0000000..0ff3acb --- /dev/null +++ b/server/database/people.go @@ -0,0 +1,67 @@ +/* + * 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 People related database functions + +package database + +import ( + _ "github.com/mattn/go-sqlite3" + "fmt" +) + +type Person struct { + Name string + Phone string + Email string +} + +func GetAllPeople() []Person { + var allPeople []Person + rows, _ := myDatabase.Query( + `SELECT Name, Phone, Email FROM People`, + ) + + var ( + name, phone, email string + ) + + for rows.Next() { + rows.Scan(&name, &phone, &email) + allPeople = append(allPeople, Person{name, phone, email}) + } + + return allPeople +} + +func RegisterPerson(person Person) bool { + personNames, _ := myDatabase.Query("SELECT Name FROM People") + + // check if already exists + // probs shouldnt make it + // make front end handle it + for personNames.Next() { + var rPerson string + if rPerson == person.Name { + fmt.Println(person.Name, "already exists") + return false + } + } + + register_person, _ := myDatabase.Prepare( + `INSERT INTO People + (Name, Phone, Email) + VALUES (?, ?, ?)`, + ) + + register_person.Exec( + person.Name, person.Phone, person.Email, + ) + + return true +} -- cgit v1.2.3