mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
Merge pull request #314 from fnproject/302
Implementing force delete for apps
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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},
|
||||
|
||||
Reference in New Issue
Block a user