From 1a57267a17c2fc17fb6e104846fabc3e363c326c Mon Sep 17 00:00:00 2001 From: Emile Date: Fri, 16 Aug 2024 19:50:26 +0200 Subject: initial commit --- src/arch.go | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/arch.go (limited to 'src/arch.go') 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 -- cgit 1.4.1