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

Get custom emojies from server

This commit is contained in:
2020-04-28 18:47:47 +02:00
parent c42fe7f806
commit 032b247080
7 changed files with 101 additions and 16 deletions

View File

@ -22,6 +22,7 @@ abstract class UserTableContract {
static const C_VISIBILITY = "visibility";
static const C_VIRTUAL_DIRECTORY = "virtual_directory";
static const C_ACCOUNT_IMAGE_URL = "account_image_url";
static const C_CUSTOM_EMOJIES = "custom_emojies";
}
/// Conversations table contract

View File

@ -70,7 +70,8 @@ abstract class DatabaseHelper {
"${UserTableContract.C_LAST_NAME} TEXT, "
"${UserTableContract.C_VISIBILITY} TEXT, "
"${UserTableContract.C_VIRTUAL_DIRECTORY} TEXT, "
"${UserTableContract.C_ACCOUNT_IMAGE_URL} TEXT"
"${UserTableContract.C_ACCOUNT_IMAGE_URL} TEXT, "
"${UserTableContract.C_CUSTOM_EMOJIES} TEXT"
")");
// Create conversations table

View File

@ -1,8 +1,10 @@
import 'package:comunic/enums/user_page_visibility.dart';
import 'package:comunic/helpers/database/users_database_helper.dart';
import 'package:comunic/lists/custom_emojies_list.dart';
import 'package:comunic/lists/users_list.dart';
import 'package:comunic/models/advanced_user_info.dart';
import 'package:comunic/models/api_request.dart';
import 'package:comunic/models/custom_emoji.dart';
import 'package:comunic/models/user.dart';
/// User helper
@ -44,21 +46,21 @@ class UsersHelper {
final list = UsersList();
response.getObject().forEach(
(k, v) => list.add(
User(
id: v["userID"],
firstName: v["firstName"],
lastName: v["lastName"],
pageVisibility: v["publicPage"] == "false"
User(
id: v["userID"],
firstName: v["firstName"],
lastName: v["lastName"],
pageVisibility: v["publicPage"] == "false"
? UserPageVisibility.PRIVATE
: (v["openPage"] == "false"
? UserPageVisibility.PRIVATE
: (v["openPage"] == "false"
? UserPageVisibility.PRIVATE
: UserPageVisibility.OPEN),
virtualDirectory: v["virtualDirectory"] == ""
? null
: v["virtualDirectory"],
accountImageURL: v["accountImage"],
),
),
: UserPageVisibility.OPEN),
virtualDirectory:
v["virtualDirectory"] == "" ? null : v["virtualDirectory"],
accountImageURL: v["accountImage"],
customEmojies: _parseCustomEmojies(v["customEmojis"]),
),
),
);
// Save the list
@ -154,8 +156,24 @@ class UsersHelper {
virtualDirectory:
data["virtualDirectory"] == "" ? null : data["virtualDirectory"],
accountImageURL: data["accountImage"],
customEmojies: _parseCustomEmojies(data["customEmojis"]),
publicNote: data["publicNote"],
canPostTexts: data["can_post_texts"],
);
}
/// Parse the list of custom emojies
CustomEmojiesList _parseCustomEmojies(List<dynamic> list) {
final l = list.cast<Map<String, dynamic>>();
return CustomEmojiesList()
..addAll(l
.map((f) => CustomEmoji(
id: f["id"],
userID: f["userID"],
shortcut: f["shorcut"],
url: f["url"],
))
.toList());
}
}