From e9e5dc5a40926e5320cb131b035c46b1e1b0bd59 Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Wed, 8 Nov 2023 14:32:17 +0000 Subject: [feature] add support for polls + receiving federated status edits (#2330) --- internal/processing/workers/wipestatus.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'internal/processing/workers/wipestatus.go') diff --git a/internal/processing/workers/wipestatus.go b/internal/processing/workers/wipestatus.go index ab59f14be..90a037928 100644 --- a/internal/processing/workers/wipestatus.go +++ b/internal/processing/workers/wipestatus.go @@ -85,6 +85,21 @@ func wipeStatusF(state *state.State, media *media.Processor, surface *surface) w errs.Appendf("error deleting status faves: %w", err) } + if pollID := statusToDelete.PollID; pollID != "" { + // Delete this poll by ID from the database. + if err := state.DB.DeletePollByID(ctx, pollID); err != nil { + errs.Appendf("error deleting status poll: %w", err) + } + + // Delete any poll votes pointing to this poll ID. + if err := state.DB.DeletePollVotes(ctx, pollID); err != nil { + errs.Appendf("error deleting status poll votes: %w", err) + } + + // Cancel any scheduled expiry task for poll. + _ = state.Workers.Scheduler.Cancel(pollID) + } + // delete all boosts for this status + remove them from timelines boosts, err := state.DB.GetStatusBoosts( // we MUST set a barebones context here, -- cgit v1.2.3