···
case models.CommitOperationUpdate:
827
-
// TODO: implement updates
827
+
raw := json.RawMessage(e.Commit.Record)
828
+
record := tangled.RepoIssue{}
829
+
err = json.Unmarshal(raw, &record)
831
+
l.Error("invalid record", "err", err)
836
+
if record.Body != nil {
837
+
body = *record.Body
840
+
sanitizer := markup.NewSanitizer()
841
+
if st := strings.TrimSpace(sanitizer.SanitizeDescription(record.Title)); st == "" {
842
+
return fmt.Errorf("title is empty after HTML sanitization")
844
+
if sb := strings.TrimSpace(sanitizer.SanitizeDefault(body)); sb == "" {
845
+
return fmt.Errorf("body is empty after HTML sanitization")
848
+
err = db.UpdateIssueByRkey(ddb, did, rkey, record.Title, body)
850
+
l.Error("failed to update issue", "err", err)
case models.CommitOperationDelete:
831
-
// TODO: implement issue deletion
857
+
if err := db.DeleteIssueByRkey(ddb, did, rkey); err != nil {
858
+
l.Error("failed to delete", "err", err)
859
+
return fmt.Errorf("failed to delete issue record: %w", err)
···
case models.CommitOperationUpdate:
882
-
// TODO: implement comment updates
912
+
raw := json.RawMessage(e.Commit.Record)
913
+
record := tangled.RepoIssueComment{}
914
+
err = json.Unmarshal(raw, &record)
916
+
l.Error("invalid record", "err", err)
920
+
sanitizer := markup.NewSanitizer()
921
+
if sb := strings.TrimSpace(sanitizer.SanitizeDefault(record.Body)); sb == "" {
922
+
return fmt.Errorf("body is empty after HTML sanitization")
925
+
err = db.UpdateCommentByRkey(ddb, did, rkey, record.Body)
927
+
l.Error("failed to update issue comment", "err", err)
case models.CommitOperationDelete: