User changes for ember data.
This commit is contained in:
parent
8052ab425c
commit
980367e527
3 changed files with 20 additions and 12 deletions
|
@ -24,17 +24,17 @@ func serveUser(w http.ResponseWriter, r *http.Request) error {
|
|||
return err
|
||||
}
|
||||
|
||||
return writeJSON(w, user)
|
||||
return writeJSON(w, models.UserJSON{user})
|
||||
}
|
||||
|
||||
func serveCreateUser(w http.ResponseWriter, r *http.Request) error {
|
||||
var user models.User
|
||||
var user models.UserJSON
|
||||
err := json.NewDecoder(r.Body).Decode(&user)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
created, err := store.Users.Create(&user)
|
||||
created, err := store.Users.Create(user.User)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ func serveUsers(w http.ResponseWriter, r *http.Request) error {
|
|||
users = []*models.User{}
|
||||
}
|
||||
|
||||
return writeJSON(w, users)
|
||||
return writeJSON(w, models.UsersJSON{Users: users})
|
||||
}
|
||||
|
||||
func serveAuthenticateUser(w http.ResponseWriter, r *http.Request) error {
|
||||
|
|
|
@ -21,6 +21,14 @@ type User struct {
|
|||
DeletedAt NullTime `db:"deleted_at" json:"deletedAt"`
|
||||
}
|
||||
|
||||
type UserJSON struct {
|
||||
User *User `json:"user"`
|
||||
}
|
||||
|
||||
type UsersJSON struct {
|
||||
Users []*User `json:"users"`
|
||||
}
|
||||
|
||||
func (m *User) String() string {
|
||||
return fmt.Sprintf("%v", *m)
|
||||
}
|
||||
|
@ -72,13 +80,13 @@ func (s *usersService) Get(id int64) (*User, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
var user *User
|
||||
var user *UserJSON
|
||||
_, err = s.client.Do(req, &user)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return user, nil
|
||||
return user.User, nil
|
||||
}
|
||||
|
||||
func (s *usersService) Create(user *User) (bool, error) {
|
||||
|
@ -87,7 +95,7 @@ func (s *usersService) Create(user *User) (bool, error) {
|
|||
return false, err
|
||||
}
|
||||
|
||||
req, err := s.client.NewRequest("POST", url.String(), user)
|
||||
req, err := s.client.NewRequest("POST", url.String(), UserJSON{User: user})
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
@ -115,13 +123,13 @@ func (s *usersService) List(opt *UserListOptions) ([]*User, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
var users []*User
|
||||
var users *UsersJSON
|
||||
_, err = s.client.Do(req, &users)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return users, nil
|
||||
return users.Users, nil
|
||||
}
|
||||
|
||||
func (s *usersService) Authenticate(username string, password string) (*UserSession, error) {
|
||||
|
|
|
@ -25,7 +25,7 @@ func TestUsersService_Get(t *testing.T) {
|
|||
called = true
|
||||
testMethod(t, r, "GET")
|
||||
|
||||
writeJSON(w, want)
|
||||
writeJSON(w, UserJSON{User: want})
|
||||
})
|
||||
|
||||
user, err := client.Users.Get(1)
|
||||
|
@ -54,7 +54,7 @@ func TestUsersService_Create(t *testing.T) {
|
|||
mux.HandleFunc(urlPath(t, router.CreateUser, nil), func(w http.ResponseWriter, r *http.Request) {
|
||||
called = true
|
||||
testMethod(t, r, "POST")
|
||||
testBody(t, r, `{"id":1,"username":"Test User","createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z","deletedAt":null}`+"\n")
|
||||
testBody(t, r, `{"user":{"id":1,"username":"Test User","createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z","deletedAt":null}}`+"\n")
|
||||
|
||||
w.WriteHeader(http.StatusCreated)
|
||||
writeJSON(w, want)
|
||||
|
@ -92,7 +92,7 @@ func TestUsersService_List(t *testing.T) {
|
|||
testMethod(t, r, "GET")
|
||||
testFormValues(t, r, values{})
|
||||
|
||||
writeJSON(w, want)
|
||||
writeJSON(w, UsersJSON{Users: want})
|
||||
})
|
||||
|
||||
users, err := client.Users.List(nil)
|
||||
|
|
Reference in a new issue