migrate ui
This commit is contained in:
@@ -6,7 +6,6 @@ import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
|
||||
import 'package:stream_chat_persistence/src/entity/channel_queries.dart';
|
||||
import 'package:stream_chat_persistence/src/entity/channels.dart';
|
||||
import 'package:stream_chat_persistence/src/entity/users.dart';
|
||||
|
||||
import 'package:stream_chat_persistence/src/mapper/mapper.dart';
|
||||
|
||||
part 'channel_query_dao.g.dart';
|
||||
@@ -93,7 +92,7 @@ class ChannelQueryDao extends DatabaseAccessor<MoorChatDatabase>
|
||||
|
||||
final possibleSortingFields = cachedChannels.fold<List<String>>(
|
||||
ChannelModel.topLevelFields, (previousValue, element) {
|
||||
final extraData = element.extraData ?? {};
|
||||
final extraData = element.extraData;
|
||||
return {...previousValue, ...extraData.keys}.toList();
|
||||
});
|
||||
|
||||
|
||||
@@ -43,19 +43,21 @@ class ChannelEntity extends DataClass implements Insertable<ChannelEntity> {
|
||||
|
||||
/// Map of custom channel extraData
|
||||
final Map<String, Object>? extraData;
|
||||
ChannelEntity(
|
||||
{required this.id,
|
||||
required this.type,
|
||||
required this.cid,
|
||||
required this.config,
|
||||
required this.frozen,
|
||||
this.lastMessageAt,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
this.deletedAt,
|
||||
required this.memberCount,
|
||||
this.createdById,
|
||||
this.extraData});
|
||||
|
||||
ChannelEntity({
|
||||
required this.id,
|
||||
required this.type,
|
||||
required this.cid,
|
||||
required this.config,
|
||||
required this.frozen,
|
||||
this.lastMessageAt,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
this.deletedAt,
|
||||
required this.memberCount,
|
||||
this.createdById,
|
||||
this.extraData,
|
||||
});
|
||||
factory ChannelEntity.fromData(
|
||||
Map<String, dynamic> data, GeneratedDatabase db,
|
||||
{String? prefix}) {
|
||||
|
||||
@@ -17,7 +17,7 @@ extension ChannelEntityX on ChannelEntity {
|
||||
cid: cid,
|
||||
lastMessageAt: lastMessageAt,
|
||||
deletedAt: deletedAt,
|
||||
extraData: extraData,
|
||||
extraData: extraData ?? {},
|
||||
createdBy: createdBy,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -207,8 +207,8 @@ void main() {
|
||||
|
||||
test('should return sorted channels using custom field', () async {
|
||||
int sortComparator(ChannelModel a, ChannelModel b) {
|
||||
final aData = a.extraData!['test_custom_field'] as int;
|
||||
final bData = b.extraData!['test_custom_field'] as int;
|
||||
final aData = a.extraData['test_custom_field'] as int;
|
||||
final bData = b.extraData['test_custom_field'] as int;
|
||||
return bData.compareTo(aData);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user