API endpoints.

This commit is contained in:
Matthew Dillon 2014-09-30 16:03:16 -08:00
parent 1e283e7cd6
commit e1685bd32b
8 changed files with 129 additions and 11 deletions
datastore

View file

@ -24,7 +24,7 @@ var connectOnce sync.Once
func Connect() {
connectOnce.Do(func() {
var err error
DB.Dbx, err = sqlx.Open("postgres", "")
DB.Dbx, err = sqlx.Open("postgres", "sslmode=disable")
if err != nil {
log.Fatal("Error connecting to PostgreSQL database (using PG* environment variables): ", err)
}

View file

@ -3,7 +3,7 @@ package datastore
import "github.com/thermokarst/bactdb/models"
func init() {
DB.AddTableWithName(models.User{}, "users").SetKeys(false, "Id")
DB.AddTableWithName(models.User{}, "users").SetKeys(true, "Id")
createSQL = append(createSQL,
`CREATE UNIQUE INDEX username_idx ON users (username);`,
)
@ -25,6 +25,9 @@ func (s *usersStore) Get(id int64) (*models.User, error) {
}
func (s *usersStore) List(opt *models.UserListOptions) ([]*models.User, error) {
if opt == nil {
opt = &models.UserListOptions{}
}
var users []*models.User
err := s.dbh.Select(&users, `SELECT * FROM users LIMIT $1 OFFSET $2;`, opt.PerPageOrDefault(), opt.Offset())
if err != nil {