getFileMessages static method
Implementation
static Future<bool> getFileMessages(
TPChannel tpChannel,
TPMessage? lastMessage,
Function(List<TPMessage>, bool) successCallback,
{
String translationLanguage = "",
String orderBy = "",
Function(int? errorCode, String? errorMessage)? errorCallback
}) async
{
if (!_isInitialized(errorCallback: errorCallback)) { return false; }
if (!_checkAuthInfo(errorCallback: errorCallback)) { return false; }
String url = "/channels/${tpChannel.getChannelId()}/messages/files";
Map<String, String> params = {};
// Last Message ID
if (lastMessage != null) {
String lastMessageId = lastMessage.getMessageId();
if(lastMessageId.isNotEmpty) {
params["lastMessageId"] = lastMessageId;
}
}
// TranslationLanguage
if(translationLanguage.isNotEmpty){
params["translationTargetLanguage"] = translationLanguage;
}
// Order by
if(orderBy == "latest" || orderBy == "oldest") {
params["order"] = orderBy;
}
// Appends query string
if(params.isNotEmpty) {
String queryString = _buildQueryString(params);
url += queryString;
}
try {
Map<String, dynamic> response = await HttpUtil.get(url);
List<dynamic> messageArray = response["messages"];
List<TPMessage> list = List.from([]);
for (Map<String, dynamic> element in messageArray) {
list.add(TPMessage(element));
}
// Succeeded
successCallback(list, response["hasNext"]);
return true;
} on TPException catch(e) {
Logger.log("$e");
if(errorCallback != null) { errorCallback(e.getCode(), e.getMessage()); }
} catch(e){
Logger.log("$e");
if(errorCallback != null) { errorCallback(-1, e.toString()); }
}
return false;
}