Signed-off-by: oppiliappan me@oppi.li
+47
appview/repo/repo.go
+47
appview/repo/repo.go
···
628
628
})
629
629
}
630
630
631
+
func (rp *Repo) DeleteBranch(w http.ResponseWriter, r *http.Request) {
632
+
f, err := rp.repoResolver.Resolve(r)
633
+
if err != nil {
634
+
log.Println("failed to get repo and knot", err)
635
+
return
636
+
}
637
+
638
+
noticeId := "delete-branch-error"
639
+
fail := func(msg string, err error) {
640
+
log.Println(msg, "err", err)
641
+
rp.pages.Notice(w, noticeId, msg)
642
+
}
643
+
644
+
branch := r.FormValue("branch")
645
+
if branch == "" {
646
+
fail("No branch provided.", nil)
647
+
return
648
+
}
649
+
650
+
client, err := rp.oauth.ServiceClient(
651
+
r,
652
+
oauth.WithService(f.Knot),
653
+
oauth.WithLxm(tangled.RepoDeleteBranchNSID),
654
+
oauth.WithDev(rp.config.Core.Dev),
655
+
)
656
+
if err != nil {
657
+
fail("Failed to connect to knotserver", nil)
658
+
return
659
+
}
660
+
661
+
err = tangled.RepoDeleteBranch(
662
+
r.Context(),
663
+
client,
664
+
&tangled.RepoDeleteBranch_Input{
665
+
Branch: branch,
666
+
Repo: f.RepoAt().String(),
667
+
},
668
+
)
669
+
if err := xrpcclient.HandleXrpcErr(err); err != nil {
670
+
fail(fmt.Sprintf("Failed to delete branch: %s", err), err)
671
+
return
672
+
}
673
+
log.Println("deleted branch from knot", "branch", branch, "repo", f.RepoAt())
674
+
675
+
rp.pages.HxRefresh(w)
676
+
}
677
+
631
678
func (rp *Repo) RepoBlob(w http.ResponseWriter, r *http.Request) {
632
679
f, err := rp.repoResolver.Resolve(r)
633
680
if err != nil {