···
case models.CommitOperationUpdate:
668
-
// TODO: implement updates
668
+
raw := json.RawMessage(e.Commit.Record)
669
+
record := tangled.RepoIssue{}
670
+
err = json.Unmarshal(raw, &record)
672
+
l.Error("invalid record", "err", err)
677
+
if record.Body != nil {
678
+
body = *record.Body
681
+
sanitizer := markup.NewSanitizer()
682
+
if st := strings.TrimSpace(sanitizer.SanitizeDescription(record.Title)); st == "" {
683
+
return fmt.Errorf("title is empty after HTML sanitization")
685
+
if sb := strings.TrimSpace(sanitizer.SanitizeDefault(body)); sb == "" {
686
+
return fmt.Errorf("body is empty after HTML sanitization")
689
+
err = db.UpdateIssueByRkey(ddb, did, rkey, record.Title, body)
691
+
l.Error("failed to update issue", "err", err)
case models.CommitOperationDelete:
672
-
// TODO: implement issue deletion
698
+
if err := db.DeleteIssueByRkey(ddb, did, rkey); err != nil {
699
+
l.Error("failed to delete", "err", err)
700
+
return fmt.Errorf("failed to delete issue record: %w", err)
···
case models.CommitOperationUpdate:
723
-
// TODO: implement comment updates
753
+
raw := json.RawMessage(e.Commit.Record)
754
+
record := tangled.RepoIssueComment{}
755
+
err = json.Unmarshal(raw, &record)
757
+
l.Error("invalid record", "err", err)
761
+
sanitizer := markup.NewSanitizer()
762
+
if sb := strings.TrimSpace(sanitizer.SanitizeDefault(record.Body)); sb == "" {
763
+
return fmt.Errorf("body is empty after HTML sanitization")
766
+
err = db.UpdateCommentByRkey(ddb, did, rkey, record.Body)
768
+
l.Error("failed to update issue comment", "err", err)
case models.CommitOperationDelete: