aboutsummaryrefslogtreecommitdiff
path: root/db.go
diff options
context:
space:
mode:
authorNathan Lasseter <Nathan Lasseter nathan@bytemark.co.uk>2015-09-22 17:22:43 +0100
committerNathan Lasseter <Nathan Lasseter nathan@bytemark.co.uk>2015-09-22 17:22:43 +0100
commita50da4215c88efcdcab1da2835459b64a5b341b4 (patch)
treed99f45ab6416906ac0954e0d3b8f90b860264cbd /db.go
Initial Commit
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
+}