implemented creation of thing via parambinder
This commit is contained in:
@ -14,8 +14,9 @@ func (c *WebHandler) CreateWeb(ctx echo.Context) error {
|
||||
p := reflect.ValueOf(c.CObject).Elem()
|
||||
p.Set(reflect.Zero(p.Type()))
|
||||
|
||||
// Get the object
|
||||
if err := ctx.Bind(&c.CObject); err != nil {
|
||||
// Get the object & bind params to struct
|
||||
if err := ParamBinder(c.CObject, ctx); err != nil {
|
||||
fmt.Println(err)
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "No or invalid model provided.")
|
||||
}
|
||||
|
||||
@ -26,21 +27,21 @@ func (c *WebHandler) CreateWeb(ctx echo.Context) error {
|
||||
}
|
||||
|
||||
// Get an ID if we have one
|
||||
var id int64
|
||||
/*var id int64
|
||||
if ctx.Param("id") != "" {
|
||||
id, err = models.GetIntURLParam("id", ctx)
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "Bad id.")
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
// Check rights
|
||||
if !c.CObject.CanCreate(¤tUser, id) {
|
||||
if !c.CObject.CanCreate(¤tUser) {
|
||||
return echo.NewHTTPError(http.StatusForbidden)
|
||||
}
|
||||
|
||||
// Create
|
||||
err = c.CObject.Create(¤tUser, id)
|
||||
err = c.CObject.Create(¤tUser)
|
||||
if err != nil {
|
||||
if models.IsErrListDoesNotExist(err) {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "The list does not exist.")
|
||||
|
@ -9,11 +9,6 @@ import (
|
||||
|
||||
// DeleteWeb is the web handler to delete something
|
||||
func (c *WebHandler) DeleteWeb(ctx echo.Context) error {
|
||||
// Get the ID
|
||||
/*id, err := models.GetIntURLParam("id", ctx)
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "Invalid ID.")
|
||||
}*/
|
||||
// Bind params to struct
|
||||
if err := ParamBinder(c.CObject, ctx); err != nil {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "Invalid URL param.")
|
||||
|
@ -94,12 +94,12 @@ func RegisterRoutes(e *echo.Echo) {
|
||||
a.GET("/lists/:id", listHandler.ReadOneWeb)
|
||||
a.POST("/lists/:id", listHandler.UpdateWeb)
|
||||
a.DELETE("/lists/:listid", listHandler.DeleteWeb)
|
||||
a.PUT("/namespaces/:id/lists", listHandler.CreateWeb)
|
||||
a.PUT("/namespaces/:nid/lists", listHandler.CreateWeb)
|
||||
|
||||
itemHandler := &crud.WebHandler{
|
||||
CObject: &models.ListItem{},
|
||||
}
|
||||
a.PUT("/lists/:id", itemHandler.CreateWeb)
|
||||
a.PUT("/lists/:listid", itemHandler.CreateWeb)
|
||||
a.DELETE("/items/:listitemid", itemHandler.DeleteWeb)
|
||||
a.POST("/items/:id", itemHandler.UpdateWeb)
|
||||
|
||||
@ -117,8 +117,8 @@ func RegisterRoutes(e *echo.Echo) {
|
||||
CObject: &models.TeamNamespace{},
|
||||
}
|
||||
a.GET("/namespaces/:id/teams", namespaceTeamHandler.ReadAllWeb)
|
||||
a.PUT("/namespaces/:id/teams", namespaceTeamHandler.CreateWeb)
|
||||
a.DELETE("/namespaces/:nid/teams/:teamid", namespaceTeamHandler.DeleteWeb)
|
||||
a.PUT("/namespaces/:namespaceid/teams", namespaceTeamHandler.CreateWeb)
|
||||
a.DELETE("/namespaces/:namespaceid/teams/:teamid", namespaceTeamHandler.DeleteWeb)
|
||||
|
||||
teamHandler := &crud.WebHandler{
|
||||
CObject: &models.Team{},
|
||||
|
Reference in New Issue
Block a user