refactor(persistence): moor to drift name change migration.

Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
Sahil Kumar
2021-10-25 14:01:42 +05:30
committed by xsahil03x
parent 281733cc3c
commit c58ddb1aef
74 changed files with 308 additions and 417 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
targets: targets:
$default: $default:
builders: builders:
moor_generator: drift_dev:
options: options:
generate_connect_constructor: true generate_connect_constructor: true
data_class_to_companions: false data_class_to_companions: false
@@ -1,6 +1,6 @@
import 'dart:convert'; import 'dart:convert';
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
/// Maps a [List] of type [T] into a [String] understood /// Maps a [List] of type [T] into a [String] understood
/// by the sqlite backend. /// by the sqlite backend.
@@ -1,6 +1,6 @@
import 'dart:convert'; import 'dart:convert';
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
/// Maps a [Map] of type [String], [T] into a [String] understood /// Maps a [Map] of type [String], [T] into a [String] understood
/// by the sqlite backend. /// by the sqlite backend.
@@ -1,4 +1,4 @@
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
/// Maps a [MessageSendingStatus] into a [int] understood /// Maps a [MessageSendingStatus] into a [int] understood
@@ -1,6 +1,6 @@
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/entity/channels.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/entity/users.dart';
import 'package:stream_chat_persistence/src/mapper/mapper.dart'; import 'package:stream_chat_persistence/src/mapper/mapper.dart';
@@ -8,11 +8,11 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart';
part 'channel_dao.g.dart'; part 'channel_dao.g.dart';
/// The Data Access Object for operations in [Channels] table. /// The Data Access Object for operations in [Channels] table.
@UseDao(tables: [Channels, Users]) @DriftAccessor(tables: [Channels, Users])
class ChannelDao extends DatabaseAccessor<MoorChatDatabase> class ChannelDao extends DatabaseAccessor<DriftChatDatabase>
with _$ChannelDaoMixin { with _$ChannelDaoMixin {
/// Creates a new channel dao instance /// Creates a new channel dao instance
ChannelDao(MoorChatDatabase db) : super(db); ChannelDao(DriftChatDatabase db) : super(db);
/// Get channel by cid /// Get channel by cid
Future<ChannelModel?> getChannelByCid(String cid) async => Future<ChannelModel?> getChannelByCid(String cid) async =>
@@ -6,7 +6,7 @@ part of 'channel_dao.dart';
// DaoGenerator // DaoGenerator
// ************************************************************************** // **************************************************************************
mixin _$ChannelDaoMixin on DatabaseAccessor<MoorChatDatabase> { mixin _$ChannelDaoMixin on DatabaseAccessor<DriftChatDatabase> {
$ChannelsTable get channels => attachedDatabase.channels; $ChannelsTable get channels => attachedDatabase.channels;
$UsersTable get users => attachedDatabase.users; $UsersTable get users => attachedDatabase.users;
} }
@@ -1,8 +1,8 @@
import 'dart:convert'; import 'dart:convert';
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/entity/channel_queries.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/channels.dart';
import 'package:stream_chat_persistence/src/entity/users.dart'; import 'package:stream_chat_persistence/src/entity/users.dart';
@@ -11,11 +11,11 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart';
part 'channel_query_dao.g.dart'; part 'channel_query_dao.g.dart';
/// The Data Access Object for operations in [ChannelQueries] table. /// The Data Access Object for operations in [ChannelQueries] table.
@UseDao(tables: [ChannelQueries, Channels, Users]) @DriftAccessor(tables: [ChannelQueries, Channels, Users])
class ChannelQueryDao extends DatabaseAccessor<MoorChatDatabase> class ChannelQueryDao extends DatabaseAccessor<DriftChatDatabase>
with _$ChannelQueryDaoMixin { with _$ChannelQueryDaoMixin {
/// Creates a new channel query dao instance /// Creates a new channel query dao instance
ChannelQueryDao(MoorChatDatabase db) : super(db); ChannelQueryDao(DriftChatDatabase db) : super(db);
String _computeHash(Filter? filter) { String _computeHash(Filter? filter) {
if (filter == null) { if (filter == null) {
@@ -6,7 +6,7 @@ part of 'channel_query_dao.dart';
// DaoGenerator // DaoGenerator
// ************************************************************************** // **************************************************************************
mixin _$ChannelQueryDaoMixin on DatabaseAccessor<MoorChatDatabase> { mixin _$ChannelQueryDaoMixin on DatabaseAccessor<DriftChatDatabase> {
$ChannelQueriesTable get channelQueries => attachedDatabase.channelQueries; $ChannelQueriesTable get channelQueries => attachedDatabase.channelQueries;
$ChannelsTable get channels => attachedDatabase.channels; $ChannelsTable get channels => attachedDatabase.channels;
$UsersTable get users => attachedDatabase.users; $UsersTable get users => attachedDatabase.users;
@@ -1,6 +1,6 @@
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/entity/connection_events.dart'; import 'package:stream_chat_persistence/src/entity/connection_events.dart';
import 'package:stream_chat_persistence/src/mapper/mapper.dart'; import 'package:stream_chat_persistence/src/mapper/mapper.dart';
@@ -8,11 +8,11 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart';
part 'connection_event_dao.g.dart'; part 'connection_event_dao.g.dart';
/// The Data Access Object for operations in [ConnectionEvents] table. /// The Data Access Object for operations in [ConnectionEvents] table.
@UseDao(tables: [ConnectionEvents]) @DriftAccessor(tables: [ConnectionEvents])
class ConnectionEventDao extends DatabaseAccessor<MoorChatDatabase> class ConnectionEventDao extends DatabaseAccessor<DriftChatDatabase>
with _$ConnectionEventDaoMixin { with _$ConnectionEventDaoMixin {
/// Creates a new connection event dao instance /// Creates a new connection event dao instance
ConnectionEventDao(MoorChatDatabase db) : super(db); ConnectionEventDao(DriftChatDatabase db) : super(db);
/// Get the latest stored connection event /// Get the latest stored connection event
Future<Event?> get connectionEvent => select(connectionEvents) Future<Event?> get connectionEvent => select(connectionEvents)
@@ -6,7 +6,7 @@ part of 'connection_event_dao.dart';
// DaoGenerator // DaoGenerator
// ************************************************************************** // **************************************************************************
mixin _$ConnectionEventDaoMixin on DatabaseAccessor<MoorChatDatabase> { mixin _$ConnectionEventDaoMixin on DatabaseAccessor<DriftChatDatabase> {
$ConnectionEventsTable get connectionEvents => $ConnectionEventsTable get connectionEvents =>
attachedDatabase.connectionEvents; attachedDatabase.connectionEvents;
} }
@@ -1,6 +1,6 @@
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/entity/members.dart'; import 'package:stream_chat_persistence/src/entity/members.dart';
import 'package:stream_chat_persistence/src/entity/users.dart'; import 'package:stream_chat_persistence/src/entity/users.dart';
@@ -10,11 +10,11 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart';
part 'member_dao.g.dart'; part 'member_dao.g.dart';
/// The Data Access Object for operations in [Members] table. /// The Data Access Object for operations in [Members] table.
@UseDao(tables: [Members, Users]) @DriftAccessor(tables: [Members, Users])
class MemberDao extends DatabaseAccessor<MoorChatDatabase> class MemberDao extends DatabaseAccessor<DriftChatDatabase>
with _$MemberDaoMixin { with _$MemberDaoMixin {
/// Creates a new member dao instance /// Creates a new member dao instance
MemberDao(MoorChatDatabase db) : super(db); MemberDao(DriftChatDatabase db) : super(db);
/// Get all members where [Members.channelCid] matches [cid] /// Get all members where [Members.channelCid] matches [cid]
Future<List<Member>> getMembersByCid(String cid) async => Future<List<Member>> getMembersByCid(String cid) async =>
@@ -6,7 +6,7 @@ part of 'member_dao.dart';
// DaoGenerator // DaoGenerator
// ************************************************************************** // **************************************************************************
mixin _$MemberDaoMixin on DatabaseAccessor<MoorChatDatabase> { mixin _$MemberDaoMixin on DatabaseAccessor<DriftChatDatabase> {
$MembersTable get members => attachedDatabase.members; $MembersTable get members => attachedDatabase.members;
$UsersTable get users => attachedDatabase.users; $UsersTable get users => attachedDatabase.users;
} }
@@ -1,6 +1,6 @@
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/entity/messages.dart'; import 'package:stream_chat_persistence/src/entity/messages.dart';
import 'package:stream_chat_persistence/src/entity/users.dart'; import 'package:stream_chat_persistence/src/entity/users.dart';
@@ -9,13 +9,13 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart';
part 'message_dao.g.dart'; part 'message_dao.g.dart';
/// The Data Access Object for operations in [Messages] table. /// The Data Access Object for operations in [Messages] table.
@UseDao(tables: [Messages, Users]) @DriftAccessor(tables: [Messages, Users])
class MessageDao extends DatabaseAccessor<MoorChatDatabase> class MessageDao extends DatabaseAccessor<DriftChatDatabase>
with _$MessageDaoMixin { with _$MessageDaoMixin {
/// Creates a new message dao instance /// Creates a new message dao instance
MessageDao(this._db) : super(_db); MessageDao(this._db) : super(_db);
final MoorChatDatabase _db; final DriftChatDatabase _db;
$UsersTable get _users => alias(users, 'users'); $UsersTable get _users => alias(users, 'users');
@@ -6,7 +6,7 @@ part of 'message_dao.dart';
// DaoGenerator // DaoGenerator
// ************************************************************************** // **************************************************************************
mixin _$MessageDaoMixin on DatabaseAccessor<MoorChatDatabase> { mixin _$MessageDaoMixin on DatabaseAccessor<DriftChatDatabase> {
$MessagesTable get messages => attachedDatabase.messages; $MessagesTable get messages => attachedDatabase.messages;
$UsersTable get users => attachedDatabase.users; $UsersTable get users => attachedDatabase.users;
} }
@@ -1,6 +1,6 @@
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/entity/pinned_messages.dart'; import 'package:stream_chat_persistence/src/entity/pinned_messages.dart';
import 'package:stream_chat_persistence/src/entity/users.dart'; import 'package:stream_chat_persistence/src/entity/users.dart';
@@ -9,13 +9,13 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart';
part 'pinned_message_dao.g.dart'; part 'pinned_message_dao.g.dart';
/// The Data Access Object for operations in [Messages] table. /// The Data Access Object for operations in [Messages] table.
@UseDao(tables: [PinnedMessages, Users]) @DriftAccessor(tables: [PinnedMessages, Users])
class PinnedMessageDao extends DatabaseAccessor<MoorChatDatabase> class PinnedMessageDao extends DatabaseAccessor<DriftChatDatabase>
with _$PinnedMessageDaoMixin { with _$PinnedMessageDaoMixin {
/// Creates a new message dao instance /// Creates a new message dao instance
PinnedMessageDao(this._db) : super(_db); PinnedMessageDao(this._db) : super(_db);
final MoorChatDatabase _db; final DriftChatDatabase _db;
$UsersTable get _users => alias(users, 'users'); $UsersTable get _users => alias(users, 'users');
@@ -6,7 +6,7 @@ part of 'pinned_message_dao.dart';
// DaoGenerator // DaoGenerator
// ************************************************************************** // **************************************************************************
mixin _$PinnedMessageDaoMixin on DatabaseAccessor<MoorChatDatabase> { mixin _$PinnedMessageDaoMixin on DatabaseAccessor<DriftChatDatabase> {
$PinnedMessagesTable get pinnedMessages => attachedDatabase.pinnedMessages; $PinnedMessagesTable get pinnedMessages => attachedDatabase.pinnedMessages;
$UsersTable get users => attachedDatabase.users; $UsersTable get users => attachedDatabase.users;
} }
@@ -1,6 +1,6 @@
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/entity/pinned_message_reactions.dart'; import 'package:stream_chat_persistence/src/entity/pinned_message_reactions.dart';
import 'package:stream_chat_persistence/src/entity/users.dart'; import 'package:stream_chat_persistence/src/entity/users.dart';
import 'package:stream_chat_persistence/src/mapper/mapper.dart'; import 'package:stream_chat_persistence/src/mapper/mapper.dart';
@@ -8,11 +8,11 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart';
part 'pinned_message_reaction_dao.g.dart'; part 'pinned_message_reaction_dao.g.dart';
/// The Data Access Object for operations in [PinnedMessageReactions] table. /// The Data Access Object for operations in [PinnedMessageReactions] table.
@UseDao(tables: [PinnedMessageReactions, Users]) @DriftAccessor(tables: [PinnedMessageReactions, Users])
class PinnedMessageReactionDao extends DatabaseAccessor<MoorChatDatabase> class PinnedMessageReactionDao extends DatabaseAccessor<DriftChatDatabase>
with _$PinnedMessageReactionDaoMixin { with _$PinnedMessageReactionDaoMixin {
/// Creates a new reaction dao instance /// Creates a new reaction dao instance
PinnedMessageReactionDao(MoorChatDatabase db) : super(db); PinnedMessageReactionDao(DriftChatDatabase db) : super(db);
/// Returns all the reactions of a particular message by matching /// Returns all the reactions of a particular message by matching
/// [Reactions.messageId] with [messageId] /// [Reactions.messageId] with [messageId]
@@ -6,7 +6,7 @@ part of 'pinned_message_reaction_dao.dart';
// DaoGenerator // DaoGenerator
// ************************************************************************** // **************************************************************************
mixin _$PinnedMessageReactionDaoMixin on DatabaseAccessor<MoorChatDatabase> { mixin _$PinnedMessageReactionDaoMixin on DatabaseAccessor<DriftChatDatabase> {
$PinnedMessageReactionsTable get pinnedMessageReactions => $PinnedMessageReactionsTable get pinnedMessageReactions =>
attachedDatabase.pinnedMessageReactions; attachedDatabase.pinnedMessageReactions;
$UsersTable get users => attachedDatabase.users; $UsersTable get users => attachedDatabase.users;
@@ -1,6 +1,6 @@
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/entity/reactions.dart'; import 'package:stream_chat_persistence/src/entity/reactions.dart';
import 'package:stream_chat_persistence/src/entity/users.dart'; import 'package:stream_chat_persistence/src/entity/users.dart';
import 'package:stream_chat_persistence/src/mapper/mapper.dart'; import 'package:stream_chat_persistence/src/mapper/mapper.dart';
@@ -8,11 +8,11 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart';
part 'reaction_dao.g.dart'; part 'reaction_dao.g.dart';
/// The Data Access Object for operations in [Reactions] table. /// The Data Access Object for operations in [Reactions] table.
@UseDao(tables: [Reactions, Users]) @DriftAccessor(tables: [Reactions, Users])
class ReactionDao extends DatabaseAccessor<MoorChatDatabase> class ReactionDao extends DatabaseAccessor<DriftChatDatabase>
with _$ReactionDaoMixin { with _$ReactionDaoMixin {
/// Creates a new reaction dao instance /// Creates a new reaction dao instance
ReactionDao(MoorChatDatabase db) : super(db); ReactionDao(DriftChatDatabase db) : super(db);
/// Returns all the reactions of a particular message by matching /// Returns all the reactions of a particular message by matching
/// [Reactions.messageId] with [messageId] /// [Reactions.messageId] with [messageId]
@@ -6,7 +6,7 @@ part of 'reaction_dao.dart';
// DaoGenerator // DaoGenerator
// ************************************************************************** // **************************************************************************
mixin _$ReactionDaoMixin on DatabaseAccessor<MoorChatDatabase> { mixin _$ReactionDaoMixin on DatabaseAccessor<DriftChatDatabase> {
$ReactionsTable get reactions => attachedDatabase.reactions; $ReactionsTable get reactions => attachedDatabase.reactions;
$UsersTable get users => attachedDatabase.users; $UsersTable get users => attachedDatabase.users;
} }
@@ -1,6 +1,6 @@
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/entity/reads.dart'; import 'package:stream_chat_persistence/src/entity/reads.dart';
import 'package:stream_chat_persistence/src/entity/users.dart'; import 'package:stream_chat_persistence/src/entity/users.dart';
import 'package:stream_chat_persistence/src/mapper/mapper.dart'; import 'package:stream_chat_persistence/src/mapper/mapper.dart';
@@ -8,10 +8,10 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart';
part 'read_dao.g.dart'; part 'read_dao.g.dart';
/// The Data Access Object for operations in [Reads] table. /// The Data Access Object for operations in [Reads] table.
@UseDao(tables: [Reads, Users]) @DriftAccessor(tables: [Reads, Users])
class ReadDao extends DatabaseAccessor<MoorChatDatabase> with _$ReadDaoMixin { class ReadDao extends DatabaseAccessor<DriftChatDatabase> with _$ReadDaoMixin {
/// Creates a new read dao instance /// Creates a new read dao instance
ReadDao(MoorChatDatabase db) : super(db); ReadDao(DriftChatDatabase db) : super(db);
/// Get all reads where [Reads.channelCid] matches [cid] /// Get all reads where [Reads.channelCid] matches [cid]
Future<List<Read>> getReadsByCid(String cid) async => (select(reads).join([ Future<List<Read>> getReadsByCid(String cid) async => (select(reads).join([
@@ -6,7 +6,7 @@ part of 'read_dao.dart';
// DaoGenerator // DaoGenerator
// ************************************************************************** // **************************************************************************
mixin _$ReadDaoMixin on DatabaseAccessor<MoorChatDatabase> { mixin _$ReadDaoMixin on DatabaseAccessor<DriftChatDatabase> {
$ReadsTable get reads => attachedDatabase.reads; $ReadsTable get reads => attachedDatabase.reads;
$UsersTable get users => attachedDatabase.users; $UsersTable get users => attachedDatabase.users;
} }
@@ -1,16 +1,16 @@
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/entity/users.dart'; import 'package:stream_chat_persistence/src/entity/users.dart';
import 'package:stream_chat_persistence/src/mapper/user_mapper.dart'; import 'package:stream_chat_persistence/src/mapper/user_mapper.dart';
part 'user_dao.g.dart'; part 'user_dao.g.dart';
/// The Data Access Object for operations in [Users] table. /// The Data Access Object for operations in [Users] table.
@UseDao(tables: [Users]) @DriftAccessor(tables: [Users])
class UserDao extends DatabaseAccessor<MoorChatDatabase> with _$UserDaoMixin { class UserDao extends DatabaseAccessor<DriftChatDatabase> with _$UserDaoMixin {
/// Creates a new user dao instance /// Creates a new user dao instance
UserDao(MoorChatDatabase db) : super(db); UserDao(DriftChatDatabase db) : super(db);
/// Updates the users data with the new [userList] data /// Updates the users data with the new [userList] data
Future<void> updateUsers(List<User> userList) => batch( Future<void> updateUsers(List<User> userList) => batch(
@@ -6,6 +6,6 @@ part of 'user_dao.dart';
// DaoGenerator // DaoGenerator
// ************************************************************************** // **************************************************************************
mixin _$UserDaoMixin on DatabaseAccessor<MoorChatDatabase> { mixin _$UserDaoMixin on DatabaseAccessor<DriftChatDatabase> {
$UsersTable get users => attachedDatabase.users; $UsersTable get users => attachedDatabase.users;
} }
@@ -1,4 +1,4 @@
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/converter/converter.dart'; import 'package:stream_chat_persistence/src/converter/converter.dart';
@@ -7,10 +7,10 @@ import 'package:stream_chat_persistence/src/entity/entity.dart';
export 'shared/shared_db.dart'; export 'shared/shared_db.dart';
part 'moor_chat_database.g.dart'; part 'drift_chat_database.g.dart';
/// A chat database implemented using moor /// A chat database implemented using moor
@UseMoor( @DriftDatabase(
tables: [ tables: [
Channels, Channels,
Messages, Messages,
@@ -36,15 +36,15 @@ part 'moor_chat_database.g.dart';
ConnectionEventDao, ConnectionEventDao,
], ],
) )
class MoorChatDatabase extends _$MoorChatDatabase { class DriftChatDatabase extends _$DriftChatDatabase {
/// Creates a new moor chat database instance /// Creates a new moor chat database instance
MoorChatDatabase( DriftChatDatabase(
this._userId, this._userId,
QueryExecutor executor, QueryExecutor executor,
) : super(executor); ) : super(executor);
/// Instantiate a new database instance /// Instantiate a new database instance
MoorChatDatabase.connect( DriftChatDatabase.connect(
this._userId, this._userId,
DatabaseConnection connection, DatabaseConnection connection,
) : super.connect(connection); ) : super.connect(connection);
@@ -1,6 +1,6 @@
// GENERATED CODE - DO NOT MODIFY BY HAND // GENERATED CODE - DO NOT MODIFY BY HAND
part of 'moor_chat_database.dart'; part of 'drift_chat_database.dart';
// ************************************************************************** // **************************************************************************
// MoorGenerator // MoorGenerator
@@ -56,9 +56,7 @@ class ChannelEntity extends DataClass implements Insertable<ChannelEntity> {
required this.memberCount, required this.memberCount,
this.createdById, this.createdById,
this.extraData}); this.extraData});
factory ChannelEntity.fromData( factory ChannelEntity.fromData(Map<String, dynamic> data, {String? prefix}) {
Map<String, dynamic> data, GeneratedDatabase db,
{String? prefix}) {
final effectivePrefix = prefix ?? ''; final effectivePrefix = prefix ?? '';
return ChannelEntity( return ChannelEntity(
id: const StringType() id: const StringType()
@@ -119,7 +117,7 @@ class ChannelEntity extends DataClass implements Insertable<ChannelEntity> {
factory ChannelEntity.fromJson(Map<String, dynamic> json, factory ChannelEntity.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) { {ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return ChannelEntity( return ChannelEntity(
id: serializer.fromJson<String>(json['id']), id: serializer.fromJson<String>(json['id']),
type: serializer.fromJson<String>(json['type']), type: serializer.fromJson<String>(json['type']),
@@ -137,7 +135,7 @@ class ChannelEntity extends DataClass implements Insertable<ChannelEntity> {
} }
@override @override
Map<String, dynamic> toJson({ValueSerializer? serializer}) { Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{ return <String, dynamic>{
'id': serializer.toJson<String>(id), 'id': serializer.toJson<String>(id),
'type': serializer.toJson<String>(type), 'type': serializer.toJson<String>(type),
@@ -202,28 +200,8 @@ class ChannelEntity extends DataClass implements Insertable<ChannelEntity> {
} }
@override @override
int get hashCode => $mrjf($mrjc( int get hashCode => Object.hash(id, type, cid, config, frozen, lastMessageAt,
id.hashCode, createdAt, updatedAt, deletedAt, memberCount, createdById, extraData);
$mrjc(
type.hashCode,
$mrjc(
cid.hashCode,
$mrjc(
config.hashCode,
$mrjc(
frozen.hashCode,
$mrjc(
lastMessageAt.hashCode,
$mrjc(
createdAt.hashCode,
$mrjc(
updatedAt.hashCode,
$mrjc(
deletedAt.hashCode,
$mrjc(
memberCount.hashCode,
$mrjc(createdById.hashCode,
extraData.hashCode))))))))))));
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
@@ -561,7 +539,7 @@ class $ChannelsTable extends Channels
Set<GeneratedColumn> get $primaryKey => {cid}; Set<GeneratedColumn> get $primaryKey => {cid};
@override @override
ChannelEntity map(Map<String, dynamic> data, {String? tablePrefix}) { ChannelEntity map(Map<String, dynamic> data, {String? tablePrefix}) {
return ChannelEntity.fromData(data, _db, return ChannelEntity.fromData(data,
prefix: tablePrefix != null ? '$tablePrefix.' : null); prefix: tablePrefix != null ? '$tablePrefix.' : null);
} }
@@ -678,9 +656,7 @@ class MessageEntity extends DataClass implements Insertable<MessageEntity> {
required this.channelCid, required this.channelCid,
this.i18n, this.i18n,
this.extraData}); this.extraData});
factory MessageEntity.fromData( factory MessageEntity.fromData(Map<String, dynamic> data, {String? prefix}) {
Map<String, dynamic> data, GeneratedDatabase db,
{String? prefix}) {
final effectivePrefix = prefix ?? ''; final effectivePrefix = prefix ?? '';
return MessageEntity( return MessageEntity(
id: const StringType() id: const StringType()
@@ -814,7 +790,7 @@ class MessageEntity extends DataClass implements Insertable<MessageEntity> {
factory MessageEntity.fromJson(Map<String, dynamic> json, factory MessageEntity.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) { {ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return MessageEntity( return MessageEntity(
id: serializer.fromJson<String>(json['id']), id: serializer.fromJson<String>(json['id']),
messageText: serializer.fromJson<String?>(json['messageText']), messageText: serializer.fromJson<String?>(json['messageText']),
@@ -847,7 +823,7 @@ class MessageEntity extends DataClass implements Insertable<MessageEntity> {
} }
@override @override
Map<String, dynamic> toJson({ValueSerializer? serializer}) { Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{ return <String, dynamic>{
'id': serializer.toJson<String>(id), 'id': serializer.toJson<String>(id),
'messageText': serializer.toJson<String?>(messageText), 'messageText': serializer.toJson<String?>(messageText),
@@ -969,49 +945,33 @@ class MessageEntity extends DataClass implements Insertable<MessageEntity> {
} }
@override @override
int get hashCode => $mrjf($mrjc( int get hashCode => Object.hashAll([
id.hashCode, id,
$mrjc( messageText,
messageText.hashCode, attachments,
$mrjc( status,
attachments.hashCode, type,
$mrjc( mentionedUsers,
status.hashCode, reactionCounts,
$mrjc( reactionScores,
type.hashCode, parentId,
$mrjc( quotedMessageId,
mentionedUsers.hashCode, replyCount,
$mrjc( showInChannel,
reactionCounts.hashCode, shadowed,
$mrjc( command,
reactionScores.hashCode, createdAt,
$mrjc( updatedAt,
parentId.hashCode, deletedAt,
$mrjc( userId,
quotedMessageId.hashCode, pinned,
$mrjc( pinnedAt,
replyCount.hashCode, pinExpires,
$mrjc( pinnedByUserId,
showInChannel.hashCode, channelCid,
$mrjc( i18n,
shadowed.hashCode, extraData
$mrjc( ]);
command.hashCode,
$mrjc(
createdAt
.hashCode,
$mrjc(
updatedAt
.hashCode,
$mrjc(
deletedAt
.hashCode,
$mrjc(
userId
.hashCode,
$mrjc(
pinned.hashCode,
$mrjc(pinnedAt.hashCode, $mrjc(pinExpires.hashCode, $mrjc(pinnedByUserId.hashCode, $mrjc(channelCid.hashCode, $mrjc(i18n.hashCode, extraData.hashCode)))))))))))))))))))))))));
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
@@ -1644,7 +1604,7 @@ class $MessagesTable extends Messages
Set<GeneratedColumn> get $primaryKey => {id}; Set<GeneratedColumn> get $primaryKey => {id};
@override @override
MessageEntity map(Map<String, dynamic> data, {String? tablePrefix}) { MessageEntity map(Map<String, dynamic> data, {String? tablePrefix}) {
return MessageEntity.fromData(data, _db, return MessageEntity.fromData(data,
prefix: tablePrefix != null ? '$tablePrefix.' : null); prefix: tablePrefix != null ? '$tablePrefix.' : null);
} }
@@ -1772,8 +1732,7 @@ class PinnedMessageEntity extends DataClass
required this.channelCid, required this.channelCid,
this.i18n, this.i18n,
this.extraData}); this.extraData});
factory PinnedMessageEntity.fromData( factory PinnedMessageEntity.fromData(Map<String, dynamic> data,
Map<String, dynamic> data, GeneratedDatabase db,
{String? prefix}) { {String? prefix}) {
final effectivePrefix = prefix ?? ''; final effectivePrefix = prefix ?? '';
return PinnedMessageEntity( return PinnedMessageEntity(
@@ -1911,7 +1870,7 @@ class PinnedMessageEntity extends DataClass
factory PinnedMessageEntity.fromJson(Map<String, dynamic> json, factory PinnedMessageEntity.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) { {ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return PinnedMessageEntity( return PinnedMessageEntity(
id: serializer.fromJson<String>(json['id']), id: serializer.fromJson<String>(json['id']),
messageText: serializer.fromJson<String?>(json['messageText']), messageText: serializer.fromJson<String?>(json['messageText']),
@@ -1944,7 +1903,7 @@ class PinnedMessageEntity extends DataClass
} }
@override @override
Map<String, dynamic> toJson({ValueSerializer? serializer}) { Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{ return <String, dynamic>{
'id': serializer.toJson<String>(id), 'id': serializer.toJson<String>(id),
'messageText': serializer.toJson<String?>(messageText), 'messageText': serializer.toJson<String?>(messageText),
@@ -2066,49 +2025,33 @@ class PinnedMessageEntity extends DataClass
} }
@override @override
int get hashCode => $mrjf($mrjc( int get hashCode => Object.hashAll([
id.hashCode, id,
$mrjc( messageText,
messageText.hashCode, attachments,
$mrjc( status,
attachments.hashCode, type,
$mrjc( mentionedUsers,
status.hashCode, reactionCounts,
$mrjc( reactionScores,
type.hashCode, parentId,
$mrjc( quotedMessageId,
mentionedUsers.hashCode, replyCount,
$mrjc( showInChannel,
reactionCounts.hashCode, shadowed,
$mrjc( command,
reactionScores.hashCode, createdAt,
$mrjc( updatedAt,
parentId.hashCode, deletedAt,
$mrjc( userId,
quotedMessageId.hashCode, pinned,
$mrjc( pinnedAt,
replyCount.hashCode, pinExpires,
$mrjc( pinnedByUserId,
showInChannel.hashCode, channelCid,
$mrjc( i18n,
shadowed.hashCode, extraData
$mrjc( ]);
command.hashCode,
$mrjc(
createdAt
.hashCode,
$mrjc(
updatedAt
.hashCode,
$mrjc(
deletedAt
.hashCode,
$mrjc(
userId
.hashCode,
$mrjc(
pinned.hashCode,
$mrjc(pinnedAt.hashCode, $mrjc(pinExpires.hashCode, $mrjc(pinnedByUserId.hashCode, $mrjc(channelCid.hashCode, $mrjc(i18n.hashCode, extraData.hashCode)))))))))))))))))))))))));
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
@@ -2744,7 +2687,7 @@ class $PinnedMessagesTable extends PinnedMessages
Set<GeneratedColumn> get $primaryKey => {id}; Set<GeneratedColumn> get $primaryKey => {id};
@override @override
PinnedMessageEntity map(Map<String, dynamic> data, {String? tablePrefix}) { PinnedMessageEntity map(Map<String, dynamic> data, {String? tablePrefix}) {
return PinnedMessageEntity.fromData(data, _db, return PinnedMessageEntity.fromData(data,
prefix: tablePrefix != null ? '$tablePrefix.' : null); prefix: tablePrefix != null ? '$tablePrefix.' : null);
} }
@@ -2795,8 +2738,7 @@ class PinnedMessageReactionEntity extends DataClass
required this.createdAt, required this.createdAt,
required this.score, required this.score,
this.extraData}); this.extraData});
factory PinnedMessageReactionEntity.fromData( factory PinnedMessageReactionEntity.fromData(Map<String, dynamic> data,
Map<String, dynamic> data, GeneratedDatabase db,
{String? prefix}) { {String? prefix}) {
final effectivePrefix = prefix ?? ''; final effectivePrefix = prefix ?? '';
return PinnedMessageReactionEntity( return PinnedMessageReactionEntity(
@@ -2832,7 +2774,7 @@ class PinnedMessageReactionEntity extends DataClass
factory PinnedMessageReactionEntity.fromJson(Map<String, dynamic> json, factory PinnedMessageReactionEntity.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) { {ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return PinnedMessageReactionEntity( return PinnedMessageReactionEntity(
userId: serializer.fromJson<String>(json['userId']), userId: serializer.fromJson<String>(json['userId']),
messageId: serializer.fromJson<String>(json['messageId']), messageId: serializer.fromJson<String>(json['messageId']),
@@ -2844,7 +2786,7 @@ class PinnedMessageReactionEntity extends DataClass
} }
@override @override
Map<String, dynamic> toJson({ValueSerializer? serializer}) { Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{ return <String, dynamic>{
'userId': serializer.toJson<String>(userId), 'userId': serializer.toJson<String>(userId),
'messageId': serializer.toJson<String>(messageId), 'messageId': serializer.toJson<String>(messageId),
@@ -2884,14 +2826,8 @@ class PinnedMessageReactionEntity extends DataClass
} }
@override @override
int get hashCode => $mrjf($mrjc( int get hashCode =>
userId.hashCode, Object.hash(userId, messageId, type, createdAt, score, extraData);
$mrjc(
messageId.hashCode,
$mrjc(
type.hashCode,
$mrjc(createdAt.hashCode,
$mrjc(score.hashCode, extraData.hashCode))))));
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
@@ -3090,7 +3026,7 @@ class $PinnedMessageReactionsTable extends PinnedMessageReactions
@override @override
PinnedMessageReactionEntity map(Map<String, dynamic> data, PinnedMessageReactionEntity map(Map<String, dynamic> data,
{String? tablePrefix}) { {String? tablePrefix}) {
return PinnedMessageReactionEntity.fromData(data, _db, return PinnedMessageReactionEntity.fromData(data,
prefix: tablePrefix != null ? '$tablePrefix.' : null); prefix: tablePrefix != null ? '$tablePrefix.' : null);
} }
@@ -3128,9 +3064,7 @@ class ReactionEntity extends DataClass implements Insertable<ReactionEntity> {
required this.createdAt, required this.createdAt,
required this.score, required this.score,
this.extraData}); this.extraData});
factory ReactionEntity.fromData( factory ReactionEntity.fromData(Map<String, dynamic> data, {String? prefix}) {
Map<String, dynamic> data, GeneratedDatabase db,
{String? prefix}) {
final effectivePrefix = prefix ?? ''; final effectivePrefix = prefix ?? '';
return ReactionEntity( return ReactionEntity(
userId: const StringType() userId: const StringType()
@@ -3164,7 +3098,7 @@ class ReactionEntity extends DataClass implements Insertable<ReactionEntity> {
factory ReactionEntity.fromJson(Map<String, dynamic> json, factory ReactionEntity.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) { {ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return ReactionEntity( return ReactionEntity(
userId: serializer.fromJson<String>(json['userId']), userId: serializer.fromJson<String>(json['userId']),
messageId: serializer.fromJson<String>(json['messageId']), messageId: serializer.fromJson<String>(json['messageId']),
@@ -3176,7 +3110,7 @@ class ReactionEntity extends DataClass implements Insertable<ReactionEntity> {
} }
@override @override
Map<String, dynamic> toJson({ValueSerializer? serializer}) { Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{ return <String, dynamic>{
'userId': serializer.toJson<String>(userId), 'userId': serializer.toJson<String>(userId),
'messageId': serializer.toJson<String>(messageId), 'messageId': serializer.toJson<String>(messageId),
@@ -3216,14 +3150,8 @@ class ReactionEntity extends DataClass implements Insertable<ReactionEntity> {
} }
@override @override
int get hashCode => $mrjf($mrjc( int get hashCode =>
userId.hashCode, Object.hash(userId, messageId, type, createdAt, score, extraData);
$mrjc(
messageId.hashCode,
$mrjc(
type.hashCode,
$mrjc(createdAt.hashCode,
$mrjc(score.hashCode, extraData.hashCode))))));
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
@@ -3418,7 +3346,7 @@ class $ReactionsTable extends Reactions
Set<GeneratedColumn> get $primaryKey => {messageId, type, userId}; Set<GeneratedColumn> get $primaryKey => {messageId, type, userId};
@override @override
ReactionEntity map(Map<String, dynamic> data, {String? tablePrefix}) { ReactionEntity map(Map<String, dynamic> data, {String? tablePrefix}) {
return ReactionEntity.fromData(data, _db, return ReactionEntity.fromData(data,
prefix: tablePrefix != null ? '$tablePrefix.' : null); prefix: tablePrefix != null ? '$tablePrefix.' : null);
} }
@@ -3468,8 +3396,7 @@ class UserEntity extends DataClass implements Insertable<UserEntity> {
required this.online, required this.online,
required this.banned, required this.banned,
required this.extraData}); required this.extraData});
factory UserEntity.fromData(Map<String, dynamic> data, GeneratedDatabase db, factory UserEntity.fromData(Map<String, dynamic> data, {String? prefix}) {
{String? prefix}) {
final effectivePrefix = prefix ?? ''; final effectivePrefix = prefix ?? '';
return UserEntity( return UserEntity(
id: const StringType() id: const StringType()
@@ -3518,7 +3445,7 @@ class UserEntity extends DataClass implements Insertable<UserEntity> {
factory UserEntity.fromJson(Map<String, dynamic> json, factory UserEntity.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) { {ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return UserEntity( return UserEntity(
id: serializer.fromJson<String>(json['id']), id: serializer.fromJson<String>(json['id']),
role: serializer.fromJson<String?>(json['role']), role: serializer.fromJson<String?>(json['role']),
@@ -3533,7 +3460,7 @@ class UserEntity extends DataClass implements Insertable<UserEntity> {
} }
@override @override
Map<String, dynamic> toJson({ValueSerializer? serializer}) { Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{ return <String, dynamic>{
'id': serializer.toJson<String>(id), 'id': serializer.toJson<String>(id),
'role': serializer.toJson<String?>(role), 'role': serializer.toJson<String?>(role),
@@ -3585,22 +3512,8 @@ class UserEntity extends DataClass implements Insertable<UserEntity> {
} }
@override @override
int get hashCode => $mrjf($mrjc( int get hashCode => Object.hash(id, role, language, createdAt, updatedAt,
id.hashCode, lastActive, online, banned, extraData);
$mrjc(
role.hashCode,
$mrjc(
language.hashCode,
$mrjc(
createdAt.hashCode,
$mrjc(
updatedAt.hashCode,
$mrjc(
lastActive.hashCode,
$mrjc(
online.hashCode,
$mrjc(
banned.hashCode, extraData.hashCode)))))))));
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
@@ -3863,7 +3776,7 @@ class $UsersTable extends Users with TableInfo<$UsersTable, UserEntity> {
Set<GeneratedColumn> get $primaryKey => {id}; Set<GeneratedColumn> get $primaryKey => {id};
@override @override
UserEntity map(Map<String, dynamic> data, {String? tablePrefix}) { UserEntity map(Map<String, dynamic> data, {String? tablePrefix}) {
return UserEntity.fromData(data, _db, return UserEntity.fromData(data,
prefix: tablePrefix != null ? '$tablePrefix.' : null); prefix: tablePrefix != null ? '$tablePrefix.' : null);
} }
@@ -3921,8 +3834,7 @@ class MemberEntity extends DataClass implements Insertable<MemberEntity> {
required this.isModerator, required this.isModerator,
required this.createdAt, required this.createdAt,
required this.updatedAt}); required this.updatedAt});
factory MemberEntity.fromData(Map<String, dynamic> data, GeneratedDatabase db, factory MemberEntity.fromData(Map<String, dynamic> data, {String? prefix}) {
{String? prefix}) {
final effectivePrefix = prefix ?? ''; final effectivePrefix = prefix ?? '';
return MemberEntity( return MemberEntity(
userId: const StringType() userId: const StringType()
@@ -3974,7 +3886,7 @@ class MemberEntity extends DataClass implements Insertable<MemberEntity> {
factory MemberEntity.fromJson(Map<String, dynamic> json, factory MemberEntity.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) { {ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return MemberEntity( return MemberEntity(
userId: serializer.fromJson<String>(json['userId']), userId: serializer.fromJson<String>(json['userId']),
channelCid: serializer.fromJson<String>(json['channelCid']), channelCid: serializer.fromJson<String>(json['channelCid']),
@@ -3993,7 +3905,7 @@ class MemberEntity extends DataClass implements Insertable<MemberEntity> {
} }
@override @override
Map<String, dynamic> toJson({ValueSerializer? serializer}) { Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{ return <String, dynamic>{
'userId': serializer.toJson<String>(userId), 'userId': serializer.toJson<String>(userId),
'channelCid': serializer.toJson<String>(channelCid), 'channelCid': serializer.toJson<String>(channelCid),
@@ -4057,26 +3969,18 @@ class MemberEntity extends DataClass implements Insertable<MemberEntity> {
} }
@override @override
int get hashCode => $mrjf($mrjc( int get hashCode => Object.hash(
userId.hashCode, userId,
$mrjc( channelCid,
channelCid.hashCode, role,
$mrjc( inviteAcceptedAt,
role.hashCode, inviteRejectedAt,
$mrjc( invited,
inviteAcceptedAt.hashCode, banned,
$mrjc( shadowBanned,
inviteRejectedAt.hashCode, isModerator,
$mrjc( createdAt,
invited.hashCode, updatedAt);
$mrjc(
banned.hashCode,
$mrjc(
shadowBanned.hashCode,
$mrjc(
isModerator.hashCode,
$mrjc(createdAt.hashCode,
updatedAt.hashCode)))))))))));
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
@@ -4405,7 +4309,7 @@ class $MembersTable extends Members
Set<GeneratedColumn> get $primaryKey => {userId, channelCid}; Set<GeneratedColumn> get $primaryKey => {userId, channelCid};
@override @override
MemberEntity map(Map<String, dynamic> data, {String? tablePrefix}) { MemberEntity map(Map<String, dynamic> data, {String? tablePrefix}) {
return MemberEntity.fromData(data, _db, return MemberEntity.fromData(data,
prefix: tablePrefix != null ? '$tablePrefix.' : null); prefix: tablePrefix != null ? '$tablePrefix.' : null);
} }
@@ -4432,8 +4336,7 @@ class ReadEntity extends DataClass implements Insertable<ReadEntity> {
required this.userId, required this.userId,
required this.channelCid, required this.channelCid,
required this.unreadMessages}); required this.unreadMessages});
factory ReadEntity.fromData(Map<String, dynamic> data, GeneratedDatabase db, factory ReadEntity.fromData(Map<String, dynamic> data, {String? prefix}) {
{String? prefix}) {
final effectivePrefix = prefix ?? ''; final effectivePrefix = prefix ?? '';
return ReadEntity( return ReadEntity(
lastRead: const DateTimeType() lastRead: const DateTimeType()
@@ -4458,7 +4361,7 @@ class ReadEntity extends DataClass implements Insertable<ReadEntity> {
factory ReadEntity.fromJson(Map<String, dynamic> json, factory ReadEntity.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) { {ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return ReadEntity( return ReadEntity(
lastRead: serializer.fromJson<DateTime>(json['lastRead']), lastRead: serializer.fromJson<DateTime>(json['lastRead']),
userId: serializer.fromJson<String>(json['userId']), userId: serializer.fromJson<String>(json['userId']),
@@ -4468,7 +4371,7 @@ class ReadEntity extends DataClass implements Insertable<ReadEntity> {
} }
@override @override
Map<String, dynamic> toJson({ValueSerializer? serializer}) { Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{ return <String, dynamic>{
'lastRead': serializer.toJson<DateTime>(lastRead), 'lastRead': serializer.toJson<DateTime>(lastRead),
'userId': serializer.toJson<String>(userId), 'userId': serializer.toJson<String>(userId),
@@ -4500,10 +4403,7 @@ class ReadEntity extends DataClass implements Insertable<ReadEntity> {
} }
@override @override
int get hashCode => $mrjf($mrjc( int get hashCode => Object.hash(lastRead, userId, channelCid, unreadMessages);
lastRead.hashCode,
$mrjc(userId.hashCode,
$mrjc(channelCid.hashCode, unreadMessages.hashCode))));
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
@@ -4660,7 +4560,7 @@ class $ReadsTable extends Reads with TableInfo<$ReadsTable, ReadEntity> {
Set<GeneratedColumn> get $primaryKey => {userId, channelCid}; Set<GeneratedColumn> get $primaryKey => {userId, channelCid};
@override @override
ReadEntity map(Map<String, dynamic> data, {String? tablePrefix}) { ReadEntity map(Map<String, dynamic> data, {String? tablePrefix}) {
return ReadEntity.fromData(data, _db, return ReadEntity.fromData(data,
prefix: tablePrefix != null ? '$tablePrefix.' : null); prefix: tablePrefix != null ? '$tablePrefix.' : null);
} }
@@ -4678,8 +4578,7 @@ class ChannelQueryEntity extends DataClass
/// The channel cid of this query /// The channel cid of this query
final String channelCid; final String channelCid;
ChannelQueryEntity({required this.queryHash, required this.channelCid}); ChannelQueryEntity({required this.queryHash, required this.channelCid});
factory ChannelQueryEntity.fromData( factory ChannelQueryEntity.fromData(Map<String, dynamic> data,
Map<String, dynamic> data, GeneratedDatabase db,
{String? prefix}) { {String? prefix}) {
final effectivePrefix = prefix ?? ''; final effectivePrefix = prefix ?? '';
return ChannelQueryEntity( return ChannelQueryEntity(
@@ -4699,7 +4598,7 @@ class ChannelQueryEntity extends DataClass
factory ChannelQueryEntity.fromJson(Map<String, dynamic> json, factory ChannelQueryEntity.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) { {ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return ChannelQueryEntity( return ChannelQueryEntity(
queryHash: serializer.fromJson<String>(json['queryHash']), queryHash: serializer.fromJson<String>(json['queryHash']),
channelCid: serializer.fromJson<String>(json['channelCid']), channelCid: serializer.fromJson<String>(json['channelCid']),
@@ -4707,7 +4606,7 @@ class ChannelQueryEntity extends DataClass
} }
@override @override
Map<String, dynamic> toJson({ValueSerializer? serializer}) { Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{ return <String, dynamic>{
'queryHash': serializer.toJson<String>(queryHash), 'queryHash': serializer.toJson<String>(queryHash),
'channelCid': serializer.toJson<String>(channelCid), 'channelCid': serializer.toJson<String>(channelCid),
@@ -4729,7 +4628,7 @@ class ChannelQueryEntity extends DataClass
} }
@override @override
int get hashCode => $mrjf($mrjc(queryHash.hashCode, channelCid.hashCode)); int get hashCode => Object.hash(queryHash, channelCid);
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
@@ -4835,7 +4734,7 @@ class $ChannelQueriesTable extends ChannelQueries
Set<GeneratedColumn> get $primaryKey => {queryHash, channelCid}; Set<GeneratedColumn> get $primaryKey => {queryHash, channelCid};
@override @override
ChannelQueryEntity map(Map<String, dynamic> data, {String? tablePrefix}) { ChannelQueryEntity map(Map<String, dynamic> data, {String? tablePrefix}) {
return ChannelQueryEntity.fromData(data, _db, return ChannelQueryEntity.fromData(data,
prefix: tablePrefix != null ? '$tablePrefix.' : null); prefix: tablePrefix != null ? '$tablePrefix.' : null);
} }
@@ -4875,8 +4774,7 @@ class ConnectionEventEntity extends DataClass
this.unreadChannels, this.unreadChannels,
this.lastEventAt, this.lastEventAt,
this.lastSyncAt}); this.lastSyncAt});
factory ConnectionEventEntity.fromData( factory ConnectionEventEntity.fromData(Map<String, dynamic> data,
Map<String, dynamic> data, GeneratedDatabase db,
{String? prefix}) { {String? prefix}) {
final effectivePrefix = prefix ?? ''; final effectivePrefix = prefix ?? '';
return ConnectionEventEntity( return ConnectionEventEntity(
@@ -4922,7 +4820,7 @@ class ConnectionEventEntity extends DataClass
factory ConnectionEventEntity.fromJson(Map<String, dynamic> json, factory ConnectionEventEntity.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) { {ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return ConnectionEventEntity( return ConnectionEventEntity(
id: serializer.fromJson<int>(json['id']), id: serializer.fromJson<int>(json['id']),
type: serializer.fromJson<String>(json['type']), type: serializer.fromJson<String>(json['type']),
@@ -4935,7 +4833,7 @@ class ConnectionEventEntity extends DataClass
} }
@override @override
Map<String, dynamic> toJson({ValueSerializer? serializer}) { Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{ return <String, dynamic>{
'id': serializer.toJson<int>(id), 'id': serializer.toJson<int>(id),
'type': serializer.toJson<String>(type), 'type': serializer.toJson<String>(type),
@@ -4982,16 +4880,8 @@ class ConnectionEventEntity extends DataClass
} }
@override @override
int get hashCode => $mrjf($mrjc( int get hashCode => Object.hash(id, type, ownUser, totalUnreadCount,
id.hashCode, unreadChannels, lastEventAt, lastSyncAt);
$mrjc(
type.hashCode,
$mrjc(
ownUser.hashCode,
$mrjc(
totalUnreadCount.hashCode,
$mrjc(unreadChannels.hashCode,
$mrjc(lastEventAt.hashCode, lastSyncAt.hashCode)))))));
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
@@ -5212,7 +5102,7 @@ class $ConnectionEventsTable extends ConnectionEvents
Set<GeneratedColumn> get $primaryKey => {id}; Set<GeneratedColumn> get $primaryKey => {id};
@override @override
ConnectionEventEntity map(Map<String, dynamic> data, {String? tablePrefix}) { ConnectionEventEntity map(Map<String, dynamic> data, {String? tablePrefix}) {
return ConnectionEventEntity.fromData(data, _db, return ConnectionEventEntity.fromData(data,
prefix: tablePrefix != null ? '$tablePrefix.' : null); prefix: tablePrefix != null ? '$tablePrefix.' : null);
} }
@@ -5225,9 +5115,10 @@ class $ConnectionEventsTable extends ConnectionEvents
MapConverter(); MapConverter();
} }
abstract class _$MoorChatDatabase extends GeneratedDatabase { abstract class _$DriftChatDatabase extends GeneratedDatabase {
_$MoorChatDatabase(QueryExecutor e) : super(SqlTypeSystem.defaultInstance, e); _$DriftChatDatabase(QueryExecutor e)
_$MoorChatDatabase.connect(DatabaseConnection c) : super.connect(c); : super(SqlTypeSystem.defaultInstance, e);
_$DriftChatDatabase.connect(DatabaseConnection c) : super.connect(c);
late final $ChannelsTable channels = $ChannelsTable(this); late final $ChannelsTable channels = $ChannelsTable(this);
late final $MessagesTable messages = $MessagesTable(this); late final $MessagesTable messages = $MessagesTable(this);
late final $PinnedMessagesTable pinnedMessages = $PinnedMessagesTable(this); late final $PinnedMessagesTable pinnedMessages = $PinnedMessagesTable(this);
@@ -5240,20 +5131,20 @@ abstract class _$MoorChatDatabase extends GeneratedDatabase {
late final $ChannelQueriesTable channelQueries = $ChannelQueriesTable(this); late final $ChannelQueriesTable channelQueries = $ChannelQueriesTable(this);
late final $ConnectionEventsTable connectionEvents = late final $ConnectionEventsTable connectionEvents =
$ConnectionEventsTable(this); $ConnectionEventsTable(this);
late final UserDao userDao = UserDao(this as MoorChatDatabase); late final UserDao userDao = UserDao(this as DriftChatDatabase);
late final ChannelDao channelDao = ChannelDao(this as MoorChatDatabase); late final ChannelDao channelDao = ChannelDao(this as DriftChatDatabase);
late final MessageDao messageDao = MessageDao(this as MoorChatDatabase); late final MessageDao messageDao = MessageDao(this as DriftChatDatabase);
late final PinnedMessageDao pinnedMessageDao = late final PinnedMessageDao pinnedMessageDao =
PinnedMessageDao(this as MoorChatDatabase); PinnedMessageDao(this as DriftChatDatabase);
late final PinnedMessageReactionDao pinnedMessageReactionDao = late final PinnedMessageReactionDao pinnedMessageReactionDao =
PinnedMessageReactionDao(this as MoorChatDatabase); PinnedMessageReactionDao(this as DriftChatDatabase);
late final MemberDao memberDao = MemberDao(this as MoorChatDatabase); late final MemberDao memberDao = MemberDao(this as DriftChatDatabase);
late final ReactionDao reactionDao = ReactionDao(this as MoorChatDatabase); late final ReactionDao reactionDao = ReactionDao(this as DriftChatDatabase);
late final ReadDao readDao = ReadDao(this as MoorChatDatabase); late final ReadDao readDao = ReadDao(this as DriftChatDatabase);
late final ChannelQueryDao channelQueryDao = late final ChannelQueryDao channelQueryDao =
ChannelQueryDao(this as MoorChatDatabase); ChannelQueryDao(this as DriftChatDatabase);
late final ConnectionEventDao connectionEventDao = late final ConnectionEventDao connectionEventDao =
ConnectionEventDao(this as MoorChatDatabase); ConnectionEventDao(this as DriftChatDatabase);
@override @override
Iterable<TableInfo> get allTables => allSchemaEntities.whereType<TableInfo>(); Iterable<TableInfo> get allTables => allSchemaEntities.whereType<TableInfo>();
@override @override
@@ -2,27 +2,27 @@
import 'dart:io'; import 'dart:io';
import 'dart:isolate'; import 'dart:isolate';
import 'package:moor/ffi.dart'; import 'package:drift/drift.dart';
import 'package:moor/isolate.dart'; import 'package:drift/isolate.dart';
import 'package:moor/moor.dart'; import 'package:drift/native.dart';
import 'package:path/path.dart'; import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/stream_chat_persistence_client.dart'; import 'package:stream_chat_persistence/src/stream_chat_persistence_client.dart';
import 'package:stream_chat_persistence/stream_chat_persistence.dart'; import 'package:stream_chat_persistence/stream_chat_persistence.dart';
/// A Helper class to construct new instances of [MoorChatDatabase] specifically /// A Helper class to construct new instances of [DriftChatDatabase]
/// for native platform applications /// specifically for native platform applications.
class SharedDB { class SharedDB {
/// Returns a new instance of [MoorChatDatabase]. /// Returns a new instance of [DriftChatDatabase].
static MoorChatDatabase constructDatabase( static DriftChatDatabase constructDatabase(
String userId, { String userId, {
bool logStatements = false, bool logStatements = false,
ConnectionMode connectionMode = ConnectionMode.regular, ConnectionMode connectionMode = ConnectionMode.regular,
}) { }) {
final dbName = 'db_$userId'; final dbName = 'db_$userId';
if (connectionMode == ConnectionMode.background) { if (connectionMode == ConnectionMode.background) {
return MoorChatDatabase.connect( return DriftChatDatabase.connect(
userId, userId,
DatabaseConnection.delayed(Future(() async { DatabaseConnection.delayed(Future(() async {
final isolate = await _createMoorIsolate( final isolate = await _createMoorIsolate(
@@ -33,7 +33,7 @@ class SharedDB {
})), })),
); );
} }
return MoorChatDatabase( return DriftChatDatabase(
userId, userId,
LazyDatabase( LazyDatabase(
() async => _constructDatabase( () async => _constructDatabase(
@@ -44,7 +44,7 @@ class SharedDB {
); );
} }
static Future<VmDatabase> _constructDatabase( static Future<NativeDatabase> _constructDatabase(
String dbName, { String dbName, {
bool logStatements = false, bool logStatements = false,
}) async { }) async {
@@ -52,27 +52,27 @@ class SharedDB {
final dir = await getApplicationDocumentsDirectory(); final dir = await getApplicationDocumentsDirectory();
final path = join(dir.path, '$dbName.sqlite'); final path = join(dir.path, '$dbName.sqlite');
final file = File(path); final file = File(path);
return VmDatabase(file, logStatements: logStatements); return NativeDatabase(file, logStatements: logStatements);
} }
if (Platform.isMacOS || Platform.isLinux) { if (Platform.isMacOS || Platform.isLinux) {
final file = File('$dbName.sqlite'); final file = File('$dbName.sqlite');
return VmDatabase(file, logStatements: logStatements); return NativeDatabase(file, logStatements: logStatements);
} }
return VmDatabase.memory(logStatements: logStatements); return NativeDatabase.memory(logStatements: logStatements);
} }
static void _startBackground(_IsolateStartRequest request) { static void _startBackground(_IsolateStartRequest request) {
final executor = LazyDatabase(() async => VmDatabase( final executor = LazyDatabase(() async => NativeDatabase(
File(request.targetPath), File(request.targetPath),
logStatements: request.logStatements, logStatements: request.logStatements,
)); ));
final moorIsolate = MoorIsolate.inCurrent( final moorIsolate = DriftIsolate.inCurrent(
() => DatabaseConnection.fromExecutor(executor), () => DatabaseConnection.fromExecutor(executor),
); );
request.sendMoorIsolate.send(moorIsolate); request.sendMoorIsolate.send(moorIsolate);
} }
static Future<MoorIsolate> _createMoorIsolate( static Future<DriftIsolate> _createMoorIsolate(
String dbName, { String dbName, {
bool logStatements = false, bool logStatements = false,
}) async { }) async {
@@ -89,7 +89,7 @@ class SharedDB {
), ),
); );
return await receivePort.first as MoorIsolate; return await receivePort.first as DriftIsolate;
} }
} }
@@ -1,11 +1,11 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/stream_chat_persistence.dart'; import 'package:stream_chat_persistence/stream_chat_persistence.dart';
/// A Helper class to construct new instances of [MoorChatDatabase] /// A Helper class to construct new instances of [DriftChatDatabase]
class SharedDB { class SharedDB {
/// Returns a new instance of [MoorChatDatabase]. /// Returns a new instance of [DriftChatDatabase].
static MoorChatDatabase constructDatabase( static DriftChatDatabase constructDatabase(
String userId, { String userId, {
bool logStatements = false, bool logStatements = false,
ConnectionMode connectionMode = ConnectionMode.regular, ConnectionMode connectionMode = ConnectionMode.regular,
@@ -1,19 +1,19 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:moor/moor_web.dart'; import 'package:drift/web.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/stream_chat_persistence_client.dart'; import 'package:stream_chat_persistence/src/stream_chat_persistence_client.dart';
/// A Helper class to construct new instances of [MoorChatDatabase] specifically /// A Helper class to construct new instances of [DriftChatDatabase]
/// for Web applications /// specifically for Web applications.
class SharedDB { class SharedDB {
/// Returns a new instance of [MoorChatDatabase]. /// Returns a new instance of [DriftChatDatabase].
static MoorChatDatabase constructDatabase( static DriftChatDatabase constructDatabase(
String userId, { String userId, {
bool logStatements = false, bool logStatements = false,
ConnectionMode connectionMode = ConnectionMode.regular, // Ignored on web ConnectionMode connectionMode = ConnectionMode.regular, // Ignored on web
}) { }) {
final dbName = 'db_$userId'; final dbName = 'db_$userId';
final queryExecutor = WebDatabase(dbName, logStatements: logStatements); final queryExecutor = WebDatabase(dbName, logStatements: logStatements);
return MoorChatDatabase(userId, queryExecutor); return DriftChatDatabase(userId, queryExecutor);
} }
} }
@@ -1,5 +1,5 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
/// Represents a [ChannelQueries] table in [MoorChatDatabase]. /// Represents a [ChannelQueries] table in [MoorChatDatabase].
@DataClassName('ChannelQueryEntity') @DataClassName('ChannelQueryEntity')
@@ -1,5 +1,5 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat_persistence/src/converter/map_converter.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart';
/// Represents a [Channels] table in [MoorChatDatabase]. /// Represents a [Channels] table in [MoorChatDatabase].
@@ -1,5 +1,5 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat_persistence/src/converter/map_converter.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart';
/// Represents a [ConnectionEvents] table in [MoorChatDatabase]. /// Represents a [ConnectionEvents] table in [MoorChatDatabase].
@@ -1,5 +1,5 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
/// Represents a [Members] table in [MoorChatDatabase]. /// Represents a [Members] table in [MoorChatDatabase].
@DataClassName('MemberEntity') @DataClassName('MemberEntity')
@@ -1,5 +1,5 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat_persistence/src/converter/list_converter.dart'; import 'package:stream_chat_persistence/src/converter/list_converter.dart';
import 'package:stream_chat_persistence/src/converter/map_converter.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart';
import 'package:stream_chat_persistence/src/converter/message_sending_status_converter.dart'; import 'package:stream_chat_persistence/src/converter/message_sending_status_converter.dart';
@@ -1,5 +1,5 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat_persistence/src/entity/reactions.dart'; import 'package:stream_chat_persistence/src/entity/reactions.dart';
@@ -1,5 +1,5 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat_persistence/src/entity/messages.dart'; import 'package:stream_chat_persistence/src/entity/messages.dart';
@@ -1,5 +1,5 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat_persistence/src/converter/map_converter.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart';
/// Represents a [Reactions] table in [MoorChatDatabase]. /// Represents a [Reactions] table in [MoorChatDatabase].
@@ -1,5 +1,5 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
/// Represents a [Reads] table in [MoorChatDatabase]. /// Represents a [Reads] table in [MoorChatDatabase].
@DataClassName('ReadEntity') @DataClassName('ReadEntity')
@@ -1,5 +1,5 @@
// coverage:ignore-file // coverage:ignore-file
import 'package:moor/moor.dart'; import 'package:drift/drift.dart';
import 'package:stream_chat_persistence/src/converter/map_converter.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart';
/// Represents a [Users] table in [MoorChatDatabase]. /// Represents a [Users] table in [MoorChatDatabase].
@@ -1,5 +1,5 @@
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
/// Useful mapping functions for [ChannelEntity] /// Useful mapping functions for [ChannelEntity]
extension ChannelEntityX on ChannelEntity { extension ChannelEntityX on ChannelEntity {
@@ -1,5 +1,5 @@
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
/// Useful mapping functions for [ConnectionEventEntity] /// Useful mapping functions for [ConnectionEventEntity]
extension ConnectionEventX on ConnectionEventEntity { extension ConnectionEventX on ConnectionEventEntity {
@@ -1,5 +1,5 @@
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
/// Useful mapping functions for [MemberEntity] /// Useful mapping functions for [MemberEntity]
extension MemberEntityX on MemberEntity { extension MemberEntityX on MemberEntity {
@@ -1,7 +1,7 @@
import 'dart:convert'; import 'dart:convert';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
/// Useful mapping functions for [MessageEntity] /// Useful mapping functions for [MessageEntity]
extension MessageEntityX on MessageEntity { extension MessageEntityX on MessageEntity {
@@ -1,7 +1,7 @@
import 'dart:convert'; import 'dart:convert';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
/// Useful mapping functions for [PinnedMessageEntity] /// Useful mapping functions for [PinnedMessageEntity]
extension PinnedMessageEntityX on PinnedMessageEntity { extension PinnedMessageEntityX on PinnedMessageEntity {
@@ -1,5 +1,5 @@
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
/// Useful mapping functions for [PinnedMessageReactionEntity] /// Useful mapping functions for [PinnedMessageReactionEntity]
extension PinnedMessageReactionEntityX on PinnedMessageReactionEntity { extension PinnedMessageReactionEntityX on PinnedMessageReactionEntity {
@@ -1,5 +1,5 @@
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
/// Useful mapping functions for [ReactionEntity] /// Useful mapping functions for [ReactionEntity]
extension ReactionEntityX on ReactionEntity { extension ReactionEntityX on ReactionEntity {
@@ -1,5 +1,5 @@
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
/// Useful mapping functions for [ReadEntity] /// Useful mapping functions for [ReadEntity]
extension ReadEntityX on ReadEntity { extension ReadEntityX on ReadEntity {
@@ -1,5 +1,5 @@
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
/// Useful mapping functions for [UserEntity] /// Useful mapping functions for [UserEntity]
extension UserEntityX on UserEntity { extension UserEntityX on UserEntity {
@@ -4,7 +4,7 @@ import 'package:meta/meta.dart';
import 'package:mutex/mutex.dart'; import 'package:mutex/mutex.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
/// Various connection modes on which [StreamChatPersistenceClient] can work /// Various connection modes on which [StreamChatPersistenceClient] can work
enum ConnectionMode { enum ConnectionMode {
@@ -15,8 +15,8 @@ enum ConnectionMode {
background, background,
} }
/// Signature for a function which provides instance of [MoorChatDatabase] /// Signature for a function which provides instance of [DriftChatDatabase]
typedef DatabaseProvider = MoorChatDatabase Function(String, ConnectionMode); typedef DatabaseProvider = DriftChatDatabase Function(String, ConnectionMode);
final _levelEmojiMapper = { final _levelEmojiMapper = {
Level.INFO: '', Level.INFO: '',
@@ -24,7 +24,7 @@ final _levelEmojiMapper = {
Level.SEVERE: '🚨', Level.SEVERE: '🚨',
}; };
/// A [MoorChatDatabase] based implementation of the [ChatPersistenceClient] /// A [DriftChatDatabase] based implementation of the [ChatPersistenceClient]
class StreamChatPersistenceClient extends ChatPersistenceClient { class StreamChatPersistenceClient extends ChatPersistenceClient {
/// Creates a new instance of the stream chat persistence client /// Creates a new instance of the stream chat persistence client
StreamChatPersistenceClient({ StreamChatPersistenceClient({
@@ -37,9 +37,9 @@ class StreamChatPersistenceClient extends ChatPersistenceClient {
_logger.onRecord.listen(logHandlerFunction ?? _defaultLogHandler); _logger.onRecord.listen(logHandlerFunction ?? _defaultLogHandler);
} }
/// [MoorChatDatabase] instance used by this client. /// [DriftChatDatabase] instance used by this client.
@visibleForTesting @visibleForTesting
MoorChatDatabase? db; DriftChatDatabase? db;
final Logger _logger; final Logger _logger;
final ConnectionMode _connectionMode; final ConnectionMode _connectionMode;
@@ -70,7 +70,7 @@ class StreamChatPersistenceClient extends ChatPersistenceClient {
return true; return true;
} }
MoorChatDatabase _defaultDatabaseProvider( DriftChatDatabase _defaultDatabaseProvider(
String userId, String userId,
ConnectionMode mode, ConnectionMode mode,
) => ) =>
@@ -10,11 +10,11 @@ environment:
flutter: ">=1.17.0" flutter: ">=1.17.0"
dependencies: dependencies:
drift: ^1.0.0
flutter: flutter:
sdk: flutter sdk: flutter
logging: ^1.0.1 logging: ^1.0.1
meta: ^1.3.0 meta: ^1.3.0
moor: ^4.4.0
mutex: ^3.0.0 mutex: ^3.0.0
path: ^1.8.0 path: ^1.8.0
path_provider: ^2.0.1 path_provider: ^2.0.1
@@ -24,7 +24,7 @@ dependencies:
dev_dependencies: dev_dependencies:
build_runner: ^2.0.1 build_runner: ^2.0.1
dart_code_metrics: ^4.4.0 dart_code_metrics: ^4.4.0
drift_dev: ^1.0.0
flutter_test: flutter_test:
sdk: flutter sdk: flutter
mocktail: ^0.1.1 mocktail: ^0.1.1
moor_generator: ^4.2.1
@@ -1,8 +1,8 @@
import 'package:mocktail/mocktail.dart'; import 'package:mocktail/mocktail.dart';
import 'package:stream_chat_persistence/src/dao/dao.dart'; import 'package:stream_chat_persistence/src/dao/dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
class MockChatDatabase extends Mock implements MoorChatDatabase { class MockChatDatabase extends Mock implements DriftChatDatabase {
UserDao? _userDao; UserDao? _userDao;
@override @override
@@ -1,13 +1,13 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/dao/channel_dao.dart'; import 'package:stream_chat_persistence/src/dao/channel_dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import '../../stream_chat_persistence_client_test.dart'; import '../../stream_chat_persistence_client_test.dart';
void main() { void main() {
late ChannelDao channelDao; late ChannelDao channelDao;
late MoorChatDatabase database; late DriftChatDatabase database;
setUp(() { setUp(() {
database = testDatabaseProvider('testUserId'); database = testDatabaseProvider('testUserId');
@@ -1,13 +1,13 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/dao/channel_query_dao.dart'; import 'package:stream_chat_persistence/src/dao/channel_query_dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import '../../stream_chat_persistence_client_test.dart'; import '../../stream_chat_persistence_client_test.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
void main() { void main() {
late MoorChatDatabase database; late DriftChatDatabase database;
late ChannelQueryDao channelQueryDao; late ChannelQueryDao channelQueryDao;
setUp(() { setUp(() {
@@ -1,14 +1,14 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/dao/connection_event_dao.dart'; import 'package:stream_chat_persistence/src/dao/connection_event_dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import '../../stream_chat_persistence_client_test.dart'; import '../../stream_chat_persistence_client_test.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
void main() { void main() {
late ConnectionEventDao eventDao; late ConnectionEventDao eventDao;
late MoorChatDatabase database; late DriftChatDatabase database;
setUp(() { setUp(() {
database = testDatabaseProvider('testUserId'); database = testDatabaseProvider('testUserId');
@@ -3,14 +3,14 @@ import 'dart:math' as math;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/dao/dao.dart'; import 'package:stream_chat_persistence/src/dao/dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import '../../stream_chat_persistence_client_test.dart'; import '../../stream_chat_persistence_client_test.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
void main() { void main() {
late MemberDao memberDao; late MemberDao memberDao;
late MoorChatDatabase database; late DriftChatDatabase database;
setUp(() { setUp(() {
database = testDatabaseProvider('testUserId'); database = testDatabaseProvider('testUserId');
@@ -3,13 +3,13 @@ import 'dart:math' as math;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/dao/dao.dart'; import 'package:stream_chat_persistence/src/dao/dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import '../../stream_chat_persistence_client_test.dart'; import '../../stream_chat_persistence_client_test.dart';
void main() { void main() {
late MessageDao messageDao; late MessageDao messageDao;
late MoorChatDatabase database; late DriftChatDatabase database;
setUp(() { setUp(() {
database = testDatabaseProvider('testUserId'); database = testDatabaseProvider('testUserId');
@@ -3,13 +3,13 @@ import 'dart:math' as math;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/dao/dao.dart'; import 'package:stream_chat_persistence/src/dao/dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import '../../stream_chat_persistence_client_test.dart'; import '../../stream_chat_persistence_client_test.dart';
void main() { void main() {
late PinnedMessageDao pinnedMessageDao; late PinnedMessageDao pinnedMessageDao;
late MoorChatDatabase database; late DriftChatDatabase database;
setUp(() { setUp(() {
database = testDatabaseProvider('testUserId'); database = testDatabaseProvider('testUserId');
@@ -3,13 +3,13 @@ import 'dart:math' as math;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/dao/pinned_message_reaction_dao.dart'; import 'package:stream_chat_persistence/src/dao/pinned_message_reaction_dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import '../../stream_chat_persistence_client_test.dart'; import '../../stream_chat_persistence_client_test.dart';
void main() { void main() {
late PinnedMessageReactionDao pinnedMessageReactionDao; late PinnedMessageReactionDao pinnedMessageReactionDao;
late MoorChatDatabase database; late DriftChatDatabase database;
setUp(() { setUp(() {
database = testDatabaseProvider('testUserId'); database = testDatabaseProvider('testUserId');
@@ -3,13 +3,13 @@ import 'dart:math' as math;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/dao/reaction_dao.dart'; import 'package:stream_chat_persistence/src/dao/reaction_dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import '../../stream_chat_persistence_client_test.dart'; import '../../stream_chat_persistence_client_test.dart';
void main() { void main() {
late ReactionDao reactionDao; late ReactionDao reactionDao;
late MoorChatDatabase database; late DriftChatDatabase database;
setUp(() { setUp(() {
database = testDatabaseProvider('testUserId'); database = testDatabaseProvider('testUserId');
@@ -1,14 +1,14 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/dao/dao.dart'; import 'package:stream_chat_persistence/src/dao/dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import '../../stream_chat_persistence_client_test.dart'; import '../../stream_chat_persistence_client_test.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
void main() { void main() {
late ReadDao readDao; late ReadDao readDao;
late MoorChatDatabase database; late DriftChatDatabase database;
setUp(() { setUp(() {
database = testDatabaseProvider('testUserId'); database = testDatabaseProvider('testUserId');
@@ -3,13 +3,13 @@ import 'dart:math' as math;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/dao/dao.dart'; import 'package:stream_chat_persistence/src/dao/dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import '../../stream_chat_persistence_client_test.dart'; import '../../stream_chat_persistence_client_test.dart';
void main() { void main() {
late UserDao userDao; late UserDao userDao;
late MoorChatDatabase database; late DriftChatDatabase database;
setUp(() { setUp(() {
database = testDatabaseProvider('testUserId'); database = testDatabaseProvider('testUserId');
@@ -1,19 +1,19 @@
import 'package:drift/drift.dart' hide isNotNull;
import 'package:drift/isolate.dart';
import 'package:drift/native.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:moor/ffi.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:moor/isolate.dart';
import 'package:moor/moor.dart' hide isNotNull;
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
DatabaseConnection _backgroundConnection() => DatabaseConnection _backgroundConnection() =>
DatabaseConnection.fromExecutor(VmDatabase.memory()); DatabaseConnection.fromExecutor(NativeDatabase.memory());
void main() { void main() {
test( test(
'default constructor should create a new instance of MoorChatDatabase', 'default constructor should create a new instance of MoorChatDatabase',
() async { () async {
const userId = 'testUserId'; const userId = 'testUserId';
final executor = VmDatabase.memory(); final executor = NativeDatabase.memory();
final database = MoorChatDatabase(userId, executor); final database = DriftChatDatabase(userId, executor);
expect(database, isNotNull); expect(database, isNotNull);
expect(database.userId, userId); expect(database.userId, userId);
@@ -27,10 +27,10 @@ void main() {
'connect constructor should create a new instance of MoorChatDatabase', 'connect constructor should create a new instance of MoorChatDatabase',
() async { () async {
const userId = 'testUserId'; const userId = 'testUserId';
final isolate = await MoorIsolate.spawn(_backgroundConnection); final isolate = await DriftIsolate.spawn(_backgroundConnection);
final connection = DatabaseConnection.delayed(isolate.connect()); final connection = DatabaseConnection.delayed(isolate.connect());
final database = MoorChatDatabase.connect(userId, connection); final database = DriftChatDatabase.connect(userId, connection);
expect(database, isNotNull); expect(database, isNotNull);
expect(database.userId, userId); expect(database.userId, userId);
@@ -2,7 +2,7 @@ import 'dart:math' as math;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/mapper/channel_mapper.dart'; import 'package:stream_chat_persistence/src/mapper/channel_mapper.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
@@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/mapper/event_mapper.dart'; import 'package:stream_chat_persistence/src/mapper/event_mapper.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
@@ -2,7 +2,7 @@ import 'dart:math' as math;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/mapper/member_mapper.dart'; import 'package:stream_chat_persistence/src/mapper/member_mapper.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
@@ -3,7 +3,7 @@ import 'dart:math' as math;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/mapper/message_mapper.dart'; import 'package:stream_chat_persistence/src/mapper/message_mapper.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
@@ -3,7 +3,7 @@ import 'dart:math' as math;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/mapper/pinned_message_mapper.dart'; import 'package:stream_chat_persistence/src/mapper/pinned_message_mapper.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
@@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/mapper/pinned_message_reaction_mapper.dart'; import 'package:stream_chat_persistence/src/mapper/pinned_message_reaction_mapper.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
@@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/mapper/reaction_mapper.dart'; import 'package:stream_chat_persistence/src/mapper/reaction_mapper.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
@@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/mapper/read_mapper.dart'; import 'package:stream_chat_persistence/src/mapper/read_mapper.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
@@ -2,7 +2,7 @@ import 'dart:math' as math;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/mapper/user_mapper.dart'; import 'package:stream_chat_persistence/src/mapper/user_mapper.dart';
import '../utils/date_matcher.dart'; import '../utils/date_matcher.dart';
@@ -1,15 +1,15 @@
import 'package:drift/native.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:mocktail/mocktail.dart'; import 'package:mocktail/mocktail.dart';
import 'package:moor/ffi.dart';
import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; import 'package:stream_chat_persistence/src/db/drift_chat_database.dart';
import 'package:stream_chat_persistence/src/stream_chat_persistence_client.dart'; import 'package:stream_chat_persistence/src/stream_chat_persistence_client.dart';
import 'mock_chat_database.dart'; import 'mock_chat_database.dart';
import 'src/utils/date_matcher.dart'; import 'src/utils/date_matcher.dart';
MoorChatDatabase testDatabaseProvider(String userId, [ConnectionMode? mode]) => DriftChatDatabase testDatabaseProvider(String userId, [ConnectionMode? mode]) =>
MoorChatDatabase(userId, VmDatabase.memory()); DriftChatDatabase(userId, NativeDatabase.memory());
void main() { void main() {
group('connect', () { group('connect', () {
@@ -19,7 +19,7 @@ void main() {
expect(client.db, isNull); expect(client.db, isNull);
await client.connect(userId, databaseProvider: testDatabaseProvider); await client.connect(userId, databaseProvider: testDatabaseProvider);
expect(client.db, isNotNull); expect(client.db, isNotNull);
expect(client.db, isA<MoorChatDatabase>()); expect(client.db, isA<DriftChatDatabase>());
expect(client.db!.userId, userId); expect(client.db!.userId, userId);
addTearDown(() async { addTearDown(() async {
@@ -33,7 +33,7 @@ void main() {
await client.connect(userId, databaseProvider: testDatabaseProvider); await client.connect(userId, databaseProvider: testDatabaseProvider);
expect(client.db, isNotNull); expect(client.db, isNotNull);
expect(client.db, isNotNull); expect(client.db, isNotNull);
expect(client.db, isA<MoorChatDatabase>()); expect(client.db, isA<DriftChatDatabase>());
expect(client.db!.userId, userId); expect(client.db!.userId, userId);
expect( expect(
() => client.connect(userId, databaseProvider: testDatabaseProvider), () => client.connect(userId, databaseProvider: testDatabaseProvider),
@@ -58,7 +58,7 @@ void main() {
group('client functions', () { group('client functions', () {
const userId = 'testUserId'; const userId = 'testUserId';
final mockDatabase = MockChatDatabase(); final mockDatabase = MockChatDatabase();
MoorChatDatabase _mockDatabaseProvider(_, __) => mockDatabase; DriftChatDatabase _mockDatabaseProvider(_, __) => mockDatabase;
late StreamChatPersistenceClient client; late StreamChatPersistenceClient client;
setUp(() async { setUp(() async {