···
···
func (f *WikidataFeed) FeedSkeleton(e echo.Context, req FeedSkeletonRequest) error {
ctx := e.Request().Context()
-
cursor, err := getTimeBasedCursor(req)
-
f.logger.Error("error getting cursor", "error", err)
-
return helpers.InputError(e, "FeedError", "Invalid cursor for feed")
posts, err := f.getPosts(ctx)
···
return helpers.ServerError(e, "FeedError", "Unable to get posts for feed")
-
for i, p := range posts {
-
if p.CreatedAt == cursor {
···
-
newCursor := fmt.Sprintf("%d", posts[len(posts)-1].CreatedAt.UnixMilli())
return e.JSON(200, FeedSkeletonResponse{
···
···
func (f *WikidataFeed) FeedSkeleton(e echo.Context, req FeedSkeletonRequest) error {
ctx := e.Request().Context()
+
cursor64, err := strconv.ParseInt(req.Cursor, 10, 32)
+
f.logger.Error("error converting cursor", "error", err)
posts, err := f.getPosts(ctx)
···
return helpers.ServerError(e, "FeedError", "Unable to get posts for feed")
+
if len(posts) < cursor {
···
+
newCursor := fmt.Sprintf("%d", cursor+len(posts))
return e.JSON(200, FeedSkeletonResponse{