Merge pull request #314 from fnproject/302

Implementing force delete for apps
This commit is contained in:
Reed Allman
2017-09-13 10:01:59 -07:00
committed by GitHub
16 changed files with 85 additions and 94 deletions

View File

@@ -15,30 +15,7 @@ func (s *Server) handleAppDelete(c *gin.Context) {
app := &models.App{Name: c.MustGet(api.AppName).(string)}
routes, err := s.Datastore.GetRoutesByApp(ctx, app.Name, &models.RouteFilter{})
if err != nil {
log.WithError(err).Error("error getting route in app delete")
handleErrorResponse(c, err)
return
}
//TODO allow this? #528
if len(routes) > 0 {
handleErrorResponse(c, models.ErrDeleteAppsWithRoutes)
return
}
err = s.FireBeforeAppDelete(ctx, app)
if err != nil {
log.WithError(err).Error("error firing before app delete")
handleErrorResponse(c, err)
return
}
app, err = s.Datastore.GetApp(ctx, app.Name)
if err != nil {
handleErrorResponse(c, err)
return
}
err := s.FireBeforeAppDelete(ctx, app)
err = s.Datastore.RemoveApp(ctx, app.Name)
if err != nil {

View File

@@ -18,7 +18,7 @@ func (s *Server) handleCallLogGet(c *gin.Context) {
return
}
callObj, err := s.LogDB.GetLog(ctx, callID)
callObj, err := s.LogDB.GetLog(ctx, appName, callID)
if err != nil {
handleErrorResponse(c, err)
return
@@ -37,7 +37,7 @@ func (s *Server) handleCallLogDelete(c *gin.Context) {
handleErrorResponse(c, err)
return
}
err = s.LogDB.DeleteLog(ctx, callID)
err = s.LogDB.DeleteLog(ctx, appName, callID)
if err != nil {
handleErrorResponse(c, err)
return

View File

@@ -121,7 +121,6 @@ func TestFullStack(t *testing.T) {
{"execute myroute2", "POST", "/r/myapp/myroute2", `{ "name": "Teste" }`, http.StatusInternalServerError, 2},
{"get myroute2", "GET", "/v1/apps/myapp/routes/myroute2", ``, http.StatusOK, 2},
{"delete myroute", "DELETE", "/v1/apps/myapp/routes/myroute", ``, http.StatusOK, 1},
{"delete app (fail)", "DELETE", "/v1/apps/myapp", ``, http.StatusConflict, 1},
{"delete myroute2", "DELETE", "/v1/apps/myapp/routes/myroute2", ``, http.StatusOK, 0},
{"delete app (success)", "DELETE", "/v1/apps/myapp", ``, http.StatusOK, 0},
{"get deleted app", "GET", "/v1/apps/myapp", ``, http.StatusNotFound, 0},