1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2025-06-19 00:05:16 +00:00

Get and show the list of conversations

This commit is contained in:
2019-04-23 14:35:41 +02:00
parent d10df9dd7a
commit 7666af0975
10 changed files with 246 additions and 11 deletions

View File

@ -1,6 +1,7 @@
import 'dart:convert';
import 'dart:io';
import 'package:comunic/helpers/account_credentials_helper.dart';
import 'package:comunic/models/api_request.dart';
import 'package:comunic/models/api_response.dart';
import 'package:comunic/models/config.dart';
@ -23,7 +24,12 @@ class APIHelper {
request.addString("serviceToken", config().serviceToken);
//Add user tokens (if required)
if (request.needLogin) throw "Can add user tokens right now !";
if (request.needLogin) {
final tokens = await AccountCredentialsHelper().get();
assert(tokens != null);
request.addString("userToken1", tokens.tokenOne);
request.addString("userToken2", tokens.tokenTwo);
}
// Prepare request body
String requestBody = "";

View File

@ -0,0 +1,36 @@
import 'package:comunic/models/api_request.dart';
import 'package:comunic/models/conversation.dart';
/// Conversation helper
///
/// @author Pierre HUBERT
class ConversationsHelper {
/// Download the list of conversations from the server
Future<List<Conversation>> downloadList() async {
final response =
await APIRequest(uri: "conversations/getList", needLogin: true).exec();
if (response.code != 200) return null;
try {
List<Conversation> list = List();
response.getArray().forEach((f) =>
list.add(Conversation(
id: f["ID"],
ownerID: f["ID_owner"],
lastActive: f["last_active"],
name: f["name"] == false ? null : f["name"],
following: f["following"] == 1,
sawLastMessage: f["saw_last_message"] == 1,
members: f["members"].map<int>((f) => int.parse(f)).toList(),
)));
return list;
} on Exception catch(e){
print(e.toString());
return null;
}
}
}