about summary refs log tree commit diff
path: root/src/bit.go
diff options
context:
space:
mode:
authorEmile <git@emile.space>2024-08-16 19:50:26 +0200
committerEmile <git@emile.space>2024-08-16 19:50:26 +0200
commit1a57267a17c2fc17fb6e104846fabc3e363c326c (patch)
tree1e574e3a80622086dc3c81ff9cba65ef7049b1a9 /src/bit.go
initial commit
Diffstat (limited to 'src/bit.go')
-rw-r--r--src/bit.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/bit.go b/src/bit.go
new file mode 100644
index 0000000..33c693a
--- /dev/null
+++ b/src/bit.go
@@ -0,0 +1,42 @@
+package main
+
+// struct element names can't start with nums...
+type Bit struct {
+	ID      int
+	Name    string
+	Enabled bool
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// GENERAL PURPOSE
+
+func BitGetAll() ([]Bit, error) {
+	return globalState.GetAllBits()
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// DATABASE
+
+func (s *State) GetAllBits() ([]Bit, error) {
+	rows, err := s.db.Query("SELECT id, name FROM bits")
+	defer rows.Close()
+	if err != nil {
+		return nil, err
+	}
+
+	var bit []Bit
+	for rows.Next() {
+		var arch Bit
+		if err := rows.Scan(&arch.ID, &arch.Name); err != nil {
+			return bit, err
+		}
+		bit = append(bit, arch)
+	}
+	if err = rows.Err(); err != nil {
+		return bit, err
+	}
+	return bit, nil
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// HTTP