From 31c1efafda1d0ff8c3fd424a58570da2073a2654 Mon Sep 17 00:00:00 2001 From: timbastin Date: Thu, 14 Nov 2024 18:27:07 +0100 Subject: [PATCH 1/2] asset and project deletion --- cmd/devguard/api/api.go | 4 ++++ internal/core/asset/asset_controller.go | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/cmd/devguard/api/api.go b/cmd/devguard/api/api.go index c9ecd7d9..1f3cf609 100644 --- a/cmd/devguard/api/api.go +++ b/cmd/devguard/api/api.go @@ -420,7 +420,9 @@ func Start(db core.DB) { projectRouter.GET("/", projectController.Read) projectRouter.PATCH("/", projectController.Update, projectScopedRBAC(accesscontrol.ObjectProject, accesscontrol.ActionUpdate)) + projectRouter.DELETE("/", projectController.Delete, projectScopedRBAC(accesscontrol.ObjectProject, accesscontrol.ActionDelete)) + projectRouter.POST("/assets/", assetController.Create, projectScopedRBAC(accesscontrol.ObjectAsset, accesscontrol.ActionCreate)) projectRouter.POST("/assets/", assetController.Create, projectScopedRBAC(accesscontrol.ObjectAsset, accesscontrol.ActionCreate)) projectRouter.GET("/assets/", assetController.Read) @@ -431,6 +433,8 @@ func Start(db core.DB) { assetRouter := projectRouter.Group("/assets/:assetSlug", projectScopedRBAC("asset", accesscontrol.ActionRead), assetMiddleware(assetRepository)) assetRouter.GET("/", assetController.Read) + assetRouter.DELETE("/", assetController.Delete, projectScopedRBAC("asset", accesscontrol.ActionDelete)) + assetRouter.GET("/metrics/", assetController.Metrics) assetRouter.GET("/dependency-graph/", assetController.DependencyGraph) assetRouter.GET("/affected-components/", assetController.AffectedComponents) diff --git a/internal/core/asset/asset_controller.go b/internal/core/asset/asset_controller.go index ab1a4f8f..11acd624 100644 --- a/internal/core/asset/asset_controller.go +++ b/internal/core/asset/asset_controller.go @@ -148,6 +148,15 @@ func (a *httpController) Metrics(c core.Context) error { }) } +func (a *httpController) Delete(c core.Context) error { + asset := core.GetAsset(c) + err := a.assetRepository.Delete(nil, asset.GetID()) + if err != nil { + return err + } + return c.NoContent(200) +} + func (a *httpController) Create(c core.Context) error { var req createRequest if err := c.Bind(&req); err != nil { From c7ad4ff7e16f79be6d13bc230b07265164a7e4da Mon Sep 17 00:00:00 2001 From: timbastin Date: Fri, 15 Nov 2024 11:31:13 +0100 Subject: [PATCH 2/2] troubleshooting git config safe dir --- cmd/devguard-scanner/commands/sca.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/devguard-scanner/commands/sca.go b/cmd/devguard-scanner/commands/sca.go index 4653c150..8b9b229e 100644 --- a/cmd/devguard-scanner/commands/sca.go +++ b/cmd/devguard-scanner/commands/sca.go @@ -184,7 +184,7 @@ func isValidPath(path string) (bool, error) { func getCurrentVersion(path string) (string, int, error) { // mark the path as safe git directory slog.Debug("marking path as safe", "path", getDirFromPath(path)) - cmd := exec.Command("git", "config", "--global", "--add", "safe.directory", getDirFromPath(path)) // nolint:all + cmd := exec.Command("git", "config", "--global", "--add", "safe.directory", "*") // nolint:all var out bytes.Buffer var errOut bytes.Buffer cmd.Stdout = &out