From dde4c978023d1f0c006a1c686c66ffe9280d38ea Mon Sep 17 00:00:00 2001 From: Amolith Date: Thu, 29 Feb 2024 15:02:15 -0500 Subject: [PATCH] Improve logic around untracking projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Frontend was still passing the project's URL to the backend even though the backend had been refactored to use the project's ID. This is fixed. Deleting the repo's files should also work now, but I do think I want to support tracking multiple instances of the same project. This means we'll need to check for other instances relying on the repo before deleting it. We need end-to-end tests 😩😩😩 --- project/project.go | 11 +++++++++-- ws/static/home.html | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/project/project.go b/project/project.go index fd899657cc499b9aa13d6c56c6bc984961271439..265f27fd0e4792bd59c5b1bcda56c677a415e0c0 100644 --- a/project/project.go +++ b/project/project.go @@ -172,12 +172,19 @@ func Track(dbConn *sql.DB, mu *sync.Mutex, manualRefresh *chan struct{}, name, u } func Untrack(dbConn *sql.DB, mu *sync.Mutex, id string) { - err := db.DeleteProject(dbConn, mu, id) + proj, err := db.GetProject(dbConn, id) + if err != nil { + fmt.Println("Error getting project:", err) + } + + err = db.DeleteProject(dbConn, mu, proj["id"]) if err != nil { fmt.Println("Error deleting project:", err) } - err = git.RemoveRepo(id) + // TODO: before removing, check whether other tracked projects use the same + // repo + err = git.RemoveRepo(proj["url"]) if err != nil { log.Println(err) } diff --git a/ws/static/home.html b/ws/static/home.html index 0a91a6d029daf2b8120a71965cbb90d12fac7986..13baf9991c2017226121dda36e5b87855c4af3e8 100644 --- a/ws/static/home.html +++ b/ws/static/home.html @@ -34,7 +34,7 @@ {{- range . -}} {{- if ne .Running (index .Releases 0).Tag -}}
-

{{ .Name }}   Delete?

+

{{ .Name }}   Delete?

You've selected {{ .Running }}. Modify?

Latest: {{ (index .Releases 0).Tag }}

View release notes

@@ -52,7 +52,7 @@ {{- range . -}} {{- if eq .Running (index .Releases 0).Tag -}}
-

{{ .Name }}   Delete?

+

{{ .Name }}   Delete?

You've selected {{ .Running }}. Modify?

{{- end -}}