Client/lib/api/marianumcloud/talk/chat/getChatCache.dart

32 lines
931 B
Dart

import 'dart:convert';
import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChat.dart';
import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatParams.dart';
import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
import 'package:marianum_mobile/api/requestCache.dart';
class GetChatCache extends RequestCache<GetChatResponse> {
String chatToken;
GetChatCache({required onUpdate, required this.chatToken}) : super(RequestCache.cacheNothing, onUpdate) {
start("MarianumMobile", "nc-chat-$chatToken");
}
@override
Future<GetChatResponse> onLoad() {
return GetChat(
chatToken,
GetChatParams(
lookIntoFuture: GetChatParamsSwitch.off,
setReadMarker: GetChatParamsSwitch.on,
limit: 200,
)
).run();
}
@override
GetChatResponse onLocalData(String json) {
return GetChatResponse.fromJson(jsonDecode(json));
}
}