Insert and Update Users instead of generic Save function. Check ID != 0

This commit is contained in:
Brad Rydzewski 2015-01-13 21:57:02 -08:00
parent 881dcb153e
commit d0b722cc8b
3 changed files with 27 additions and 8 deletions

View file

@ -49,20 +49,15 @@ func (db *Userstore) GetUserList() ([]*model.User, error) {
// PostUser saves a User in the datastore. // PostUser saves a User in the datastore.
func (db *Userstore) PostUser(user *model.User) error { func (db *Userstore) PostUser(user *model.User) error {
if user.Created == 0 { user.Created = time.Now().UTC().Unix()
user.Created = time.Now().UTC().Unix()
}
user.Updated = time.Now().UTC().Unix() user.Updated = time.Now().UTC().Unix()
return meddler.Save(db, userTable, user) return meddler.Insert(db, userTable, user)
} }
// PutUser saves a user in the datastore. // PutUser saves a user in the datastore.
func (db *Userstore) PutUser(user *model.User) error { func (db *Userstore) PutUser(user *model.User) error {
if user.Created == 0 {
user.Created = time.Now().UTC().Unix()
}
user.Updated = time.Now().UTC().Unix() user.Updated = time.Now().UTC().Unix()
return meddler.Save(db, userTable, user) return meddler.Update(db, userTable, user)
} }
// DelUser removes the user from the datastore. // DelUser removes the user from the datastore.

View file

@ -70,6 +70,13 @@ func GetLogin(c web.C, w http.ResponseWriter, r *http.Request) {
return return
} }
// the user id should NEVER equal zero
if u.ID == 0 {
log.Println("Unable to create account. User ID is zero")
w.WriteHeader(http.StatusInternalServerError)
return
}
// if this is the first user, they // if this is the first user, they
// should be an admin. // should be an admin.
if u.ID == 1 { if u.ID == 1 {

View file

@ -1,5 +1,9 @@
package model package model
import (
"fmt"
)
type Request struct { type Request struct {
Host string `json:"-"` Host string `json:"-"`
User *User `json:"-"` User *User `json:"-"`
@ -7,3 +11,16 @@ type Request struct {
Commit *Commit `json:"commit"` Commit *Commit `json:"commit"`
Prior *Commit `json:"prior_commit"` Prior *Commit `json:"prior_commit"`
} }
// URL returns the link to the commit in
// string format.
func (r *Request) URL() string {
return fmt.Sprintf("%s/%s/%s/%s",
r.Host,
r.Repo.Host,
r.Repo.Owner,
r.Repo.Name,
r.Commit.Branch,
r.Commit.Sha,
)
}