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:
@ -1,4 +1,5 @@
|
||||
import 'package:comunic/enums/user_page_visibility.dart';
|
||||
import 'package:comunic/lists/custom_emojies_list.dart';
|
||||
import 'package:comunic/models/user.dart';
|
||||
import 'package:meta/meta.dart';
|
||||
|
||||
@ -17,6 +18,7 @@ class AdvancedUserInfo extends User {
|
||||
@required UserPageVisibility pageVisibility,
|
||||
@required String virtualDirectory,
|
||||
@required String accountImageURL,
|
||||
@required CustomEmojiesList customEmojies,
|
||||
@required this.publicNote,
|
||||
@required this.canPostTexts,
|
||||
}) : assert(publicNote != null),
|
||||
@ -27,5 +29,6 @@ class AdvancedUserInfo extends User {
|
||||
lastName: lastName,
|
||||
pageVisibility: pageVisibility,
|
||||
virtualDirectory: virtualDirectory,
|
||||
accountImageURL: accountImageURL);
|
||||
accountImageURL: accountImageURL,
|
||||
customEmojies: customEmojies);
|
||||
}
|
||||
|
35
lib/models/custom_emoji.dart
Normal file
35
lib/models/custom_emoji.dart
Normal file
@ -0,0 +1,35 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
/// Single custom emoji information
|
||||
///
|
||||
/// @author Pierre Hubert
|
||||
|
||||
class CustomEmoji {
|
||||
final int id;
|
||||
final int userID;
|
||||
final String shortcut;
|
||||
final String url;
|
||||
|
||||
const CustomEmoji({
|
||||
@required this.id,
|
||||
@required this.userID,
|
||||
@required this.shortcut,
|
||||
@required this.url,
|
||||
}) : assert(id != null),
|
||||
assert(userID != null),
|
||||
assert(shortcut != null),
|
||||
assert(url != null);
|
||||
|
||||
Map<String, dynamic> toMap() => {
|
||||
"id": id,
|
||||
"userID": userID,
|
||||
"shortcut": shortcut,
|
||||
"url": url,
|
||||
};
|
||||
|
||||
CustomEmoji.fromMap(Map<String, dynamic> map)
|
||||
: id = map["id"],
|
||||
userID = map["userID"],
|
||||
shortcut = map["shortcut"],
|
||||
url = map["url"];
|
||||
}
|
@ -1,5 +1,8 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:comunic/enums/user_page_visibility.dart';
|
||||
import 'package:comunic/helpers/database/database_contract.dart';
|
||||
import 'package:comunic/lists/custom_emojies_list.dart';
|
||||
import 'package:comunic/models/cache_model.dart';
|
||||
import 'package:comunic/utils/ui_utils.dart';
|
||||
import 'package:meta/meta.dart';
|
||||
@ -14,6 +17,7 @@ class User extends CacheModel {
|
||||
final UserPageVisibility pageVisibility;
|
||||
final String virtualDirectory;
|
||||
final String accountImageURL;
|
||||
final CustomEmojiesList customEmojies;
|
||||
|
||||
const User({
|
||||
@required int id,
|
||||
@ -22,11 +26,13 @@ class User extends CacheModel {
|
||||
@required this.pageVisibility,
|
||||
@required this.virtualDirectory,
|
||||
@required this.accountImageURL,
|
||||
@required this.customEmojies,
|
||||
}) : assert(id != null),
|
||||
assert(firstName != null),
|
||||
assert(lastName != null),
|
||||
assert(pageVisibility != null),
|
||||
assert(accountImageURL != null),
|
||||
assert(customEmojies != null),
|
||||
super(id: id);
|
||||
|
||||
/// Get user full name
|
||||
@ -43,6 +49,8 @@ class User extends CacheModel {
|
||||
UserTableContract.C_VISIBILITY: pageVisibility.toString(),
|
||||
UserTableContract.C_VIRTUAL_DIRECTORY: virtualDirectory,
|
||||
UserTableContract.C_ACCOUNT_IMAGE_URL: accountImageURL,
|
||||
UserTableContract.C_CUSTOM_EMOJIES:
|
||||
jsonEncode(customEmojies.toSerializableList()),
|
||||
};
|
||||
}
|
||||
|
||||
@ -53,5 +61,7 @@ class User extends CacheModel {
|
||||
userPageVisibilityFromString(map[UserTableContract.C_VISIBILITY]),
|
||||
this.virtualDirectory = map[UserTableContract.C_VIRTUAL_DIRECTORY],
|
||||
this.accountImageURL = map[UserTableContract.C_ACCOUNT_IMAGE_URL],
|
||||
this.customEmojies = CustomEmojiesList.fromSerializedList(
|
||||
jsonDecode(map[UserTableContract.C_CUSTOM_EMOJIES])),
|
||||
super.fromMap(map);
|
||||
}
|
||||
|
Reference in New Issue
Block a user