@@ -5,6 +5,7 @@ import 'package:zulip/api/model/events.dart';
5
5
import 'package:zulip/api/model/initial_snapshot.dart' ;
6
6
import 'package:zulip/api/model/model.dart' ;
7
7
import 'package:zulip/api/model/submessage.dart' ;
8
+ import 'package:zulip/api/route/messages.dart' ;
8
9
import 'package:zulip/api/route/realm.dart' ;
9
10
import 'package:zulip/api/route/channels.dart' ;
10
11
import 'package:zulip/model/narrow.dart' ;
@@ -451,6 +452,43 @@ DmMessage dmMessage({
451
452
}) as Map <String , dynamic >);
452
453
}
453
454
455
+ /// A GetMessagesResult the server might return on an `anchor=newest` request.
456
+ GetMessagesResult newestResult ({
457
+ required bool foundOldest,
458
+ bool historyLimited = false ,
459
+ required List <Message > messages,
460
+ }) {
461
+ return GetMessagesResult (
462
+ // These anchor, foundAnchor, and foundNewest values are what the server
463
+ // appears to always return when the request had `anchor=newest`.
464
+ anchor: 10000000000000000 , // that's 16 zeros
465
+ foundAnchor: false ,
466
+ foundNewest: true ,
467
+
468
+ foundOldest: foundOldest,
469
+ historyLimited: historyLimited,
470
+ messages: messages,
471
+ );
472
+ }
473
+
474
+ /// A GetMessagesResult the server might return when we request older messages.
475
+ GetMessagesResult olderResult ({
476
+ required int anchor,
477
+ bool foundAnchor = false , // the value if the server understood includeAnchor false
478
+ required bool foundOldest,
479
+ bool historyLimited = false ,
480
+ required List <Message > messages,
481
+ }) {
482
+ return GetMessagesResult (
483
+ anchor: anchor,
484
+ foundAnchor: foundAnchor,
485
+ foundNewest: false , // empirically always this, even when anchor happens to be latest
486
+ foundOldest: foundOldest,
487
+ historyLimited: historyLimited,
488
+ messages: messages,
489
+ );
490
+ }
491
+
454
492
PollWidgetData pollWidgetData ({
455
493
required String question,
456
494
required List <String > options,
0 commit comments