about summary refs log tree commit diff
path: root/src/arch.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch.go')
-rw-r--r--src/arch.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/arch.go b/src/arch.go
new file mode 100644
index 0000000..52dc516
--- /dev/null
+++ b/src/arch.go
@@ -0,0 +1,41 @@
+package main
+
+type Arch struct {
+	ID      int
+	Name    string
+	Enabled bool
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// GENERAL PURPOSE
+
+func ArchGetAll() ([]Arch, error) {
+	return globalState.GetAllArchs()
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// DATABASE
+
+func (s *State) GetAllArchs() ([]Arch, error) {
+	rows, err := s.db.Query("SELECT id, name FROM archs")
+	defer rows.Close()
+	if err != nil {
+		return nil, err
+	}
+
+	var archs []Arch
+	for rows.Next() {
+		var arch Arch
+		if err := rows.Scan(&arch.ID, &arch.Name); err != nil {
+			return archs, err
+		}
+		archs = append(archs, arch)
+	}
+	if err = rows.Err(); err != nil {
+		return archs, err
+	}
+	return archs, nil
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// HTTP