aboutsummaryrefslogtreecommitdiff
path: root/db.go
diff options
context:
space:
mode:
Diffstat (limited to 'db.go')
-rw-r--r--db.go55
1 files changed, 55 insertions, 0 deletions
diff --git a/db.go b/db.go
new file mode 100644
index 0000000..a2c1d1e
--- /dev/null
+++ b/db.go
@@ -0,0 +1,55 @@
+package main
+
+import (
+ "github.com/jmoiron/sqlx"
+ _ "github.com/lib/pq"
+)
+
+func getCaches() (DBCaches, error) {
+ var caches DBCaches
+
+ db, err := sqlx.Connect("postgres", "user=audiocache password=audiocache dbname=audiocache sslmode=disable")
+ if err != nil {
+ return caches, err
+ }
+
+ err = db.Select(&caches, "SELECT * FROM caches ORDER BY id ASC")
+ if err != nil {
+ return caches, err
+ }
+
+ err = db.Close()
+ return caches, err
+}
+
+func getCache(id uint64) (DBCache, error) {
+ var cache DBCache
+
+ db, err := sqlx.Connect("postgres", "user=audiocache password=audiocache dbname=audiocache sslmode=disable")
+ if err != nil {
+ return cache, err
+ }
+
+ err = db.Get(&cache, "SELECT * FROM caches WHERE id=$1", id)
+ if err != nil {
+ return cache, err
+ }
+
+ err = db.Close()
+ return cache, err
+}
+
+func postCache(dbcache DBCache) error {
+ db, err := sqlx.Connect("postgres", "user=audiocache password=audiocache dbname=audiocache sslmode=disable")
+ if err != nil {
+ return err
+ }
+
+ _, err = db.NamedExec("INSERT INTO caches (latitude, longitude, created, path) VALUES (:latitude, :longitude, :created, :path)", dbcache)
+ if err != nil {
+ return err
+ }
+
+ err = db.Close()
+ return err
+}