From b874e9251e00961f295e4c409e1b34da89fab4ed Mon Sep 17 00:00:00 2001 From: Vyr Cossont Date: Sat, 29 Jul 2023 03:49:14 -0700 Subject: [feature] Implement markers API (#1989) * Implement markers API Fixes #1856 * Correct import grouping in markers files * Regenerate Swagger for markers API * Shorten names for readability * Cache markers for 6 hours * Update DB ref * Update envparsing.sh --- internal/typeutils/internaltofrontend.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'internal/typeutils/internaltofrontend.go') diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index 03d0bfcab..975214da7 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -1166,6 +1166,26 @@ func (c *converter) ListToAPIList(ctx context.Context, l *gtsmodel.List) (*apimo }, nil } +func (c *converter) MarkersToAPIMarker(ctx context.Context, markers []*gtsmodel.Marker) (*apimodel.Marker, error) { + apiMarker := &apimodel.Marker{} + for _, marker := range markers { + apiTimelineMarker := &apimodel.TimelineMarker{ + LastReadID: marker.LastReadID, + UpdatedAt: util.FormatISO8601(marker.UpdatedAt), + Version: marker.Version, + } + switch apimodel.MarkerName(marker.Name) { + case apimodel.MarkerNameHome: + apiMarker.Home = apiTimelineMarker + case apimodel.MarkerNameNotifications: + apiMarker.Notifications = apiTimelineMarker + default: + return nil, fmt.Errorf("unknown marker timeline name: %s", marker.Name) + } + } + return apiMarker, nil +} + // convertAttachmentsToAPIAttachments will convert a slice of GTS model attachments to frontend API model attachments, falling back to IDs if no GTS models supplied. func (c *converter) convertAttachmentsToAPIAttachments(ctx context.Context, attachments []*gtsmodel.MediaAttachment, attachmentIDs []string) ([]apimodel.Attachment, error) { var errs gtserror.MultiError -- cgit v1.2.3