mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
fixed routes handlers
This commit is contained in:
@@ -12,37 +12,44 @@ func handleRouteCreate(c *gin.Context) {
|
||||
store := c.MustGet("store").(models.Datastore)
|
||||
log := c.MustGet("log").(logrus.FieldLogger)
|
||||
|
||||
route := &models.Route{}
|
||||
var wroute models.RouteWrapper
|
||||
|
||||
err := c.BindJSON(route)
|
||||
err := c.BindJSON(&wroute)
|
||||
if err != nil {
|
||||
log.WithError(err).Error(models.ErrInvalidJSON)
|
||||
c.JSON(http.StatusBadRequest, simpleError(models.ErrInvalidJSON))
|
||||
return
|
||||
}
|
||||
|
||||
if route == nil {
|
||||
if wroute.Route == nil {
|
||||
log.WithError(err).Error(models.ErrInvalidJSON)
|
||||
c.JSON(http.StatusBadRequest, simpleError(models.ErrRoutesMissingNew))
|
||||
return
|
||||
}
|
||||
|
||||
route.AppName = c.Param("app")
|
||||
wroute.Route.AppName = c.Param("app")
|
||||
|
||||
if err := route.Validate(); err != nil {
|
||||
if err := wroute.Validate(); err != nil {
|
||||
log.Error(err)
|
||||
c.JSON(http.StatusInternalServerError, simpleError(err))
|
||||
return
|
||||
}
|
||||
|
||||
app, err := store.GetApp(route.AppName)
|
||||
app, err := store.GetApp(wroute.Route.AppName)
|
||||
if err != nil {
|
||||
log.WithError(err).Error(models.ErrAppsGet)
|
||||
c.JSON(http.StatusInternalServerError, simpleError(models.ErrAppsGet))
|
||||
return
|
||||
}
|
||||
if app == nil {
|
||||
app, err = store.StoreApp(&models.App{Name: route.AppName})
|
||||
newapp := &models.App{Name: wroute.Route.AppName}
|
||||
if err := newapp.Validate(); err != nil {
|
||||
log.Error(err)
|
||||
c.JSON(http.StatusInternalServerError, simpleError(err))
|
||||
return
|
||||
}
|
||||
|
||||
app, err = store.StoreApp(newapp)
|
||||
if err != nil {
|
||||
log.WithError(err).Error(models.ErrAppsCreate)
|
||||
c.JSON(http.StatusInternalServerError, simpleError(models.ErrAppsCreate))
|
||||
@@ -50,7 +57,7 @@ func handleRouteCreate(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
route, err = store.StoreRoute(route)
|
||||
route, err := store.StoreRoute(wroute.Route)
|
||||
if err != nil {
|
||||
log.WithError(err).Error(models.ErrRoutesCreate)
|
||||
c.JSON(http.StatusInternalServerError, simpleError(models.ErrRoutesCreate))
|
||||
|
||||
@@ -22,6 +22,12 @@ func handleRouteGet(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
if route == nil {
|
||||
log.Error(models.ErrRoutesNotFound)
|
||||
c.JSON(http.StatusNotFound, simpleError(models.ErrRoutesNotFound))
|
||||
return
|
||||
}
|
||||
|
||||
log.WithFields(logrus.Fields{"route": route}).Debug("Got route")
|
||||
|
||||
c.JSON(http.StatusOK, &models.RouteWrapper{route})
|
||||
|
||||
@@ -12,17 +12,29 @@ func handleRouteUpdate(c *gin.Context) {
|
||||
store := c.MustGet("store").(models.Datastore)
|
||||
log := c.MustGet("log").(logrus.FieldLogger)
|
||||
|
||||
wroute := &models.RouteWrapper{}
|
||||
appName := c.Param("app")
|
||||
var wroute models.RouteWrapper
|
||||
|
||||
err := c.BindJSON(wroute)
|
||||
err := c.BindJSON(&wroute)
|
||||
if err != nil {
|
||||
log.WithError(err).Debug(models.ErrInvalidJSON)
|
||||
c.JSON(http.StatusBadRequest, simpleError(models.ErrInvalidJSON))
|
||||
return
|
||||
}
|
||||
|
||||
wroute.Route.AppName = appName
|
||||
if wroute.Route == nil {
|
||||
log.WithError(err).Error(models.ErrInvalidJSON)
|
||||
c.JSON(http.StatusBadRequest, simpleError(models.ErrRoutesMissingNew))
|
||||
return
|
||||
}
|
||||
|
||||
wroute.Route.AppName = c.Param("app")
|
||||
wroute.Route.Name = c.Param("route")
|
||||
|
||||
if err := wroute.Validate(); err != nil {
|
||||
log.Error(err)
|
||||
c.JSON(http.StatusInternalServerError, simpleError(err))
|
||||
return
|
||||
}
|
||||
|
||||
route, err := store.StoreRoute(wroute.Route)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user