diff options
author | Nathan Lasseter <Nathan Lasseter nathan@bytemark.co.uk> | 2015-09-22 17:22:43 +0100 |
---|---|---|
committer | Nathan Lasseter <Nathan Lasseter nathan@bytemark.co.uk> | 2015-09-22 17:22:43 +0100 |
commit | a50da4215c88efcdcab1da2835459b64a5b341b4 (patch) | |
tree | d99f45ab6416906ac0954e0d3b8f90b860264cbd /db.go |
Initial Commit
Diffstat (limited to 'db.go')
-rw-r--r-- | db.go | 55 |
1 files changed, 55 insertions, 0 deletions
@@ -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 +} |