summaryrefslogtreecommitdiff
path: root/internal/typeutils/internaltofrontend.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2023-11-11 10:15:04 +0000
committerLibravatar GitHub <noreply@github.com>2023-11-11 10:15:04 +0000
commitdeaea100c37698893e97cf9cab159a3d220ac3cd (patch)
treef48abc96964652d1701d91c88a00174c8f1b0196 /internal/typeutils/internaltofrontend.go
parent[feature] Media attachment placeholders (#2331) (diff)
downloadgotosocial-deaea100c37698893e97cf9cab159a3d220ac3cd.tar.xz
[bugfix] support endless polls, and misskey's' method of inferring expiry in closed polls (#2349)
Diffstat (limited to 'internal/typeutils/internaltofrontend.go')
-rw-r--r--internal/typeutils/internaltofrontend.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go
index a7bcddac6..1a2c321f5 100644
--- a/internal/typeutils/internaltofrontend.go
+++ b/internal/typeutils/internaltofrontend.go
@@ -1367,6 +1367,7 @@ func (c *Converter) PollToAPIPoll(ctx context.Context, requester *gtsmodel.Accou
voted *bool
ownChoices *[]int
isAuthor bool
+ expiresAt string
emojis []apimodel.Emoji
)
@@ -1428,6 +1429,11 @@ func (c *Converter) PollToAPIPoll(ctx context.Context, requester *gtsmodel.Accou
}
}
+ if !poll.ExpiresAt.IsZero() {
+ // Calculate poll expiry string (if set).
+ expiresAt = util.FormatISO8601(poll.ExpiresAt)
+ }
+
// TODO: emojis used in poll options.
// For now init to empty slice to serialize as `[]`.
// In future inherit from parent status.
@@ -1435,7 +1441,7 @@ func (c *Converter) PollToAPIPoll(ctx context.Context, requester *gtsmodel.Accou
return &apimodel.Poll{
ID: poll.ID,
- ExpiresAt: util.FormatISO8601(poll.ExpiresAt),
+ ExpiresAt: expiresAt,
Expired: poll.Closed(),
Multiple: (*poll.Multiple),
VotesCount: totalVotes,