From f0ead1c5695cf66230178e092118b22ca40d7022 Mon Sep 17 00:00:00 2001 From: Fernando Takagi Date: Mon, 29 Aug 2022 18:53:43 -0300 Subject: [PATCH] Add to api client --- apigrpc/apigrpc.swagger.json | 8 ++++++++ server/api_channel.go | 7 ++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/apigrpc/apigrpc.swagger.json b/apigrpc/apigrpc.swagger.json index 5c96deed5..df8e1ada4 100644 --- a/apigrpc/apigrpc.swagger.json +++ b/apigrpc/apigrpc.swagger.json @@ -1319,6 +1319,14 @@ "in": "query", "required": false, "type": "string" + }, + { + "name": "instant", + "description": "Time which around to list messages in seconds (since epoch), if any. Used only if no cursor is provided.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" } ], "tags": [ diff --git a/server/api_channel.go b/server/api_channel.go index b23842381..b8f5337e5 100644 --- a/server/api_channel.go +++ b/server/api_channel.go @@ -68,12 +68,17 @@ func (s *ApiServer) ListChannelMessages(ctx context.Context, in *api.ListChannel forward = in.GetForward().Value } + var instant int64 + if in.GetInstant() != nil { + instant = in.GetInstant().Value + } + streamConversionResult, err := ChannelIdToStream(in.ChannelId) if err != nil { return nil, status.Error(codes.InvalidArgument, "Invalid channel ID.") } - messageList, err := ChannelMessagesList(ctx, s.logger, s.db, userID, streamConversionResult.Stream, in.ChannelId, limit, forward, in.Cursor, nil) + messageList, err := ChannelMessagesList(ctx, s.logger, s.db, userID, streamConversionResult.Stream, in.ChannelId, limit, forward, in.Cursor, instant) if err == runtime.ErrChannelCursorInvalid { return nil, status.Error(codes.InvalidArgument, "Cursor is invalid or expired.") } else if err == runtime.ErrChannelGroupNotFound { -- GitLab