From b1eb90addc7dc392a1d91f46700ab92d14035f49 Mon Sep 17 00:00:00 2001 From: binwiederhier Date: Sat, 21 Feb 2026 18:01:36 -0500 Subject: [PATCH] Move NewPollRequestMessage --- model/model.go | 7 +++++++ server/server.go | 2 +- server/server_firebase.go | 2 +- server/server_firebase_test.go | 2 +- server/types.go | 7 ------- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/model/model.go b/model/model.go index 58e480d7..b0e2d259 100644 --- a/model/model.go +++ b/model/model.go @@ -146,6 +146,13 @@ func NewActionMessage(event, topic, sequenceID string) *Message { return m } +// NewPollRequestMessage is a convenience method to create a poll request message +func NewPollRequestMessage(topic, pollID string) *Message { + m := NewMessage(PollRequestEvent, topic, "New message") + m.PollID = pollID + return m +} + // ValidMessageID returns true if the given string is a valid message ID func ValidMessageID(s string) bool { return util.ValidRandomString(s, MessageIDLength) diff --git a/server/server.go b/server/server.go index 396355e1..1b6c8d10 100644 --- a/server/server.go +++ b/server/server.go @@ -859,7 +859,7 @@ func (s *Server) handlePublishInternal(r *http.Request, v *visitor) (*model.Mess } } if m.PollID != "" { - m = newPollRequestMessage(t.ID, m.PollID) + m = model.NewPollRequestMessage(t.ID, m.PollID) } m.Sender = v.IP() m.User = v.MaybeUserID() diff --git a/server/server_firebase.go b/server/server_firebase.go index 9e380f0f..0f1bb9b1 100644 --- a/server/server_firebase.go +++ b/server/server_firebase.go @@ -298,7 +298,7 @@ func maybeTruncateAPNSBodyMessage(s string) string { // This empties all the fields that are not needed for a poll request and just sets the required fields, // most importantly, the PollID. func toPollRequest(m *model.Message) *model.Message { - pr := newPollRequestMessage(m.Topic, m.ID) + pr := model.NewPollRequestMessage(m.Topic, m.ID) pr.ID = m.ID pr.Time = m.Time pr.Priority = m.Priority // Keep priority diff --git a/server/server_firebase_test.go b/server/server_firebase_test.go index c63de657..40509fb9 100644 --- a/server/server_firebase_test.go +++ b/server/server_firebase_test.go @@ -251,7 +251,7 @@ func TestToFirebaseMessage_Message_Normal_Not_Allowed(t *testing.T) { } func TestToFirebaseMessage_PollRequest(t *testing.T) { - m := newPollRequestMessage("mytopic", "fOv6k1QbCzo6") + m := model.NewPollRequestMessage("mytopic", "fOv6k1QbCzo6") fbm, err := toFirebaseMessage(m, nil) require.Nil(t, err) require.Equal(t, "mytopic", fbm.Topic) diff --git a/server/types.go b/server/types.go index 6dd25a26..77a3c33e 100644 --- a/server/types.go +++ b/server/types.go @@ -8,13 +8,6 @@ import ( "heckel.io/ntfy/v2/util" ) -// newPollRequestMessage is a convenience method to create a poll request message -func newPollRequestMessage(topic, pollID string) *model.Message { - m := model.NewMessage(model.PollRequestEvent, topic, newMessageBody) - m.PollID = pollID - return m -} - // publishMessage is used as input when publishing as JSON type publishMessage struct { Topic string `json:"topic"`