Actually use pg

This commit is contained in:
Jan Bader 2016-12-20 09:46:52 +01:00
parent 0f1bd4cac3
commit c3664ef3e0
2 changed files with 21 additions and 9 deletions

14
postgres/db.go Normal file
View File

@ -0,0 +1,14 @@
package postgres
import "gopkg.in/pg.v5"
// Connect to a database
func Connect(server string, user string, password string, database string) *pg.DB {
db := pg.Connect(&pg.Options{
User: user,
Password: password,
Addr: server,
Database: database,
})
return db
}

View File

@ -1,22 +1,20 @@
package postgres
import (
"database/sql"
import "git.javil.eu/jacob1123/budgeteer"
"git.javil.eu/jacob1123/budgeteer"
)
import "gopkg.in/pg.v5"
// UserService represents a PostgreSQL implementation of myapp.UserService.
type UserService struct {
DB *sql.DB
DB *pg.DB
}
// User returns a user for a given id.
func (s *UserService) User(id int) (*budgeteer.User, error) {
var u budgeteer.User
row := s.DB.QueryRow(`SELECT id, email, password, name FROM users WHERE id = $1`, id)
if err := row.Scan(&u.ID, &u.Email, &u.Password, &u.Name); err != nil {
u := &budgeteer.User{ID: id}
err := s.DB.Select(&u)
if err != nil {
return nil, err
}
return &u, nil
return u, nil
}