示例#1
0
func usersPostHandler(req *auburn.HttpTransaction) {
	if req.Request.Method == "POST" {
		user := User{}
		err := req.UnmarshalJsonBody(&user)

		if err != nil {
			req.Error(err.Error(), 500)
			return
		}

		if len(user.ObjectGuid) == 0 {
			req.Error("Object GUID required", 400)
			return
		}

		exists := false

		for i, v := range users {
			if v.ObjectGuid == user.ObjectGuid {
				users[i] = user
				users[i].Updated = time.Now()
				exists = true
			}
		}

		if !exists {
			user.Updated = time.Now()
			users = append(users, user)
		}

		req.RespondWithText("OK")
	}
}