diff --git a/packages/stream_chat_persistence/build.yaml b/packages/stream_chat_persistence/build.yaml index 373486d0..9b900235 100644 --- a/packages/stream_chat_persistence/build.yaml +++ b/packages/stream_chat_persistence/build.yaml @@ -1,7 +1,7 @@ targets: $default: builders: - moor_generator: + drift_dev: options: generate_connect_constructor: true data_class_to_companions: false diff --git a/packages/stream_chat_persistence/moor_schemas/moor_schema_v1.json b/packages/stream_chat_persistence/drift_schemas/drift_schema_v1.json similarity index 100% rename from packages/stream_chat_persistence/moor_schemas/moor_schema_v1.json rename to packages/stream_chat_persistence/drift_schemas/drift_schema_v1.json diff --git a/packages/stream_chat_persistence/moor_schemas/moor_schema_v2.json b/packages/stream_chat_persistence/drift_schemas/drift_schema_v2.json similarity index 100% rename from packages/stream_chat_persistence/moor_schemas/moor_schema_v2.json rename to packages/stream_chat_persistence/drift_schemas/drift_schema_v2.json diff --git a/packages/stream_chat_persistence/lib/src/converter/list_converter.dart b/packages/stream_chat_persistence/lib/src/converter/list_converter.dart index d813afc3..f1b8cec2 100644 --- a/packages/stream_chat_persistence/lib/src/converter/list_converter.dart +++ b/packages/stream_chat_persistence/lib/src/converter/list_converter.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; /// Maps a [List] of type [T] into a [String] understood /// by the sqlite backend. diff --git a/packages/stream_chat_persistence/lib/src/converter/map_converter.dart b/packages/stream_chat_persistence/lib/src/converter/map_converter.dart index 64284a9d..7afd9225 100644 --- a/packages/stream_chat_persistence/lib/src/converter/map_converter.dart +++ b/packages/stream_chat_persistence/lib/src/converter/map_converter.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; /// Maps a [Map] of type [String], [T] into a [String] understood /// by the sqlite backend. diff --git a/packages/stream_chat_persistence/lib/src/converter/message_sending_status_converter.dart b/packages/stream_chat_persistence/lib/src/converter/message_sending_status_converter.dart index 9d6ea11f..a6bb6d73 100644 --- a/packages/stream_chat_persistence/lib/src/converter/message_sending_status_converter.dart +++ b/packages/stream_chat_persistence/lib/src/converter/message_sending_status_converter.dart @@ -1,4 +1,4 @@ -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; import 'package:stream_chat/stream_chat.dart'; /// Maps a [MessageSendingStatus] into a [int] understood diff --git a/packages/stream_chat_persistence/lib/src/dao/channel_dao.dart b/packages/stream_chat_persistence/lib/src/dao/channel_dao.dart index 36013f51..50f3b2a6 100644 --- a/packages/stream_chat_persistence/lib/src/dao/channel_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/channel_dao.dart @@ -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_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/users.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'; /// The Data Access Object for operations in [Channels] table. -@UseDao(tables: [Channels, Users]) -class ChannelDao extends DatabaseAccessor +@DriftAccessor(tables: [Channels, Users]) +class ChannelDao extends DatabaseAccessor with _$ChannelDaoMixin { /// Creates a new channel dao instance - ChannelDao(MoorChatDatabase db) : super(db); + ChannelDao(DriftChatDatabase db) : super(db); /// Get channel by cid Future getChannelByCid(String cid) async => diff --git a/packages/stream_chat_persistence/lib/src/dao/channel_dao.g.dart b/packages/stream_chat_persistence/lib/src/dao/channel_dao.g.dart index a3ac1713..5c4cce4a 100644 --- a/packages/stream_chat_persistence/lib/src/dao/channel_dao.g.dart +++ b/packages/stream_chat_persistence/lib/src/dao/channel_dao.g.dart @@ -6,7 +6,7 @@ part of 'channel_dao.dart'; // DaoGenerator // ************************************************************************** -mixin _$ChannelDaoMixin on DatabaseAccessor { +mixin _$ChannelDaoMixin on DatabaseAccessor { $ChannelsTable get channels => attachedDatabase.channels; $UsersTable get users => attachedDatabase.users; } diff --git a/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart b/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart index d1ed0925..75a5db13 100644 --- a/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart @@ -1,8 +1,8 @@ import 'dart:convert'; -import 'package:moor/moor.dart'; +import 'package:drift/drift.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/channels.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'; /// The Data Access Object for operations in [ChannelQueries] table. -@UseDao(tables: [ChannelQueries, Channels, Users]) -class ChannelQueryDao extends DatabaseAccessor +@DriftAccessor(tables: [ChannelQueries, Channels, Users]) +class ChannelQueryDao extends DatabaseAccessor with _$ChannelQueryDaoMixin { /// Creates a new channel query dao instance - ChannelQueryDao(MoorChatDatabase db) : super(db); + ChannelQueryDao(DriftChatDatabase db) : super(db); String _computeHash(Filter? filter) { if (filter == null) { diff --git a/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.g.dart b/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.g.dart index 5879d8bb..3f8f94cb 100644 --- a/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.g.dart +++ b/packages/stream_chat_persistence/lib/src/dao/channel_query_dao.g.dart @@ -6,7 +6,7 @@ part of 'channel_query_dao.dart'; // DaoGenerator // ************************************************************************** -mixin _$ChannelQueryDaoMixin on DatabaseAccessor { +mixin _$ChannelQueryDaoMixin on DatabaseAccessor { $ChannelQueriesTable get channelQueries => attachedDatabase.channelQueries; $ChannelsTable get channels => attachedDatabase.channels; $UsersTable get users => attachedDatabase.users; diff --git a/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.dart b/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.dart index 88a03b29..b9b4a52d 100644 --- a/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.dart @@ -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_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/mapper/mapper.dart'; @@ -8,11 +8,11 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart'; part 'connection_event_dao.g.dart'; /// The Data Access Object for operations in [ConnectionEvents] table. -@UseDao(tables: [ConnectionEvents]) -class ConnectionEventDao extends DatabaseAccessor +@DriftAccessor(tables: [ConnectionEvents]) +class ConnectionEventDao extends DatabaseAccessor with _$ConnectionEventDaoMixin { /// Creates a new connection event dao instance - ConnectionEventDao(MoorChatDatabase db) : super(db); + ConnectionEventDao(DriftChatDatabase db) : super(db); /// Get the latest stored connection event Future get connectionEvent => select(connectionEvents) diff --git a/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.g.dart b/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.g.dart index 28eb0913..ed29a03b 100644 --- a/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.g.dart +++ b/packages/stream_chat_persistence/lib/src/dao/connection_event_dao.g.dart @@ -6,7 +6,7 @@ part of 'connection_event_dao.dart'; // DaoGenerator // ************************************************************************** -mixin _$ConnectionEventDaoMixin on DatabaseAccessor { +mixin _$ConnectionEventDaoMixin on DatabaseAccessor { $ConnectionEventsTable get connectionEvents => attachedDatabase.connectionEvents; } diff --git a/packages/stream_chat_persistence/lib/src/dao/member_dao.dart b/packages/stream_chat_persistence/lib/src/dao/member_dao.dart index e471b1b5..3a604ca1 100644 --- a/packages/stream_chat_persistence/lib/src/dao/member_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/member_dao.dart @@ -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_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/users.dart'; @@ -10,11 +10,11 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart'; part 'member_dao.g.dart'; /// The Data Access Object for operations in [Members] table. -@UseDao(tables: [Members, Users]) -class MemberDao extends DatabaseAccessor +@DriftAccessor(tables: [Members, Users]) +class MemberDao extends DatabaseAccessor with _$MemberDaoMixin { /// Creates a new member dao instance - MemberDao(MoorChatDatabase db) : super(db); + MemberDao(DriftChatDatabase db) : super(db); /// Get all members where [Members.channelCid] matches [cid] Future> getMembersByCid(String cid) async => diff --git a/packages/stream_chat_persistence/lib/src/dao/member_dao.g.dart b/packages/stream_chat_persistence/lib/src/dao/member_dao.g.dart index dbda1351..e85b1858 100644 --- a/packages/stream_chat_persistence/lib/src/dao/member_dao.g.dart +++ b/packages/stream_chat_persistence/lib/src/dao/member_dao.g.dart @@ -6,7 +6,7 @@ part of 'member_dao.dart'; // DaoGenerator // ************************************************************************** -mixin _$MemberDaoMixin on DatabaseAccessor { +mixin _$MemberDaoMixin on DatabaseAccessor { $MembersTable get members => attachedDatabase.members; $UsersTable get users => attachedDatabase.users; } diff --git a/packages/stream_chat_persistence/lib/src/dao/message_dao.dart b/packages/stream_chat_persistence/lib/src/dao/message_dao.dart index ddaafdc5..31ca74ee 100644 --- a/packages/stream_chat_persistence/lib/src/dao/message_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/message_dao.dart @@ -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_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/users.dart'; @@ -9,13 +9,13 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart'; part 'message_dao.g.dart'; /// The Data Access Object for operations in [Messages] table. -@UseDao(tables: [Messages, Users]) -class MessageDao extends DatabaseAccessor +@DriftAccessor(tables: [Messages, Users]) +class MessageDao extends DatabaseAccessor with _$MessageDaoMixin { /// Creates a new message dao instance MessageDao(this._db) : super(_db); - final MoorChatDatabase _db; + final DriftChatDatabase _db; $UsersTable get _users => alias(users, 'users'); diff --git a/packages/stream_chat_persistence/lib/src/dao/message_dao.g.dart b/packages/stream_chat_persistence/lib/src/dao/message_dao.g.dart index e27a5d42..42069b23 100644 --- a/packages/stream_chat_persistence/lib/src/dao/message_dao.g.dart +++ b/packages/stream_chat_persistence/lib/src/dao/message_dao.g.dart @@ -6,7 +6,7 @@ part of 'message_dao.dart'; // DaoGenerator // ************************************************************************** -mixin _$MessageDaoMixin on DatabaseAccessor { +mixin _$MessageDaoMixin on DatabaseAccessor { $MessagesTable get messages => attachedDatabase.messages; $UsersTable get users => attachedDatabase.users; } diff --git a/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.dart b/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.dart index bac52aa6..8712dea5 100644 --- a/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.dart @@ -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_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/users.dart'; @@ -9,13 +9,13 @@ import 'package:stream_chat_persistence/src/mapper/mapper.dart'; part 'pinned_message_dao.g.dart'; /// The Data Access Object for operations in [Messages] table. -@UseDao(tables: [PinnedMessages, Users]) -class PinnedMessageDao extends DatabaseAccessor +@DriftAccessor(tables: [PinnedMessages, Users]) +class PinnedMessageDao extends DatabaseAccessor with _$PinnedMessageDaoMixin { /// Creates a new message dao instance PinnedMessageDao(this._db) : super(_db); - final MoorChatDatabase _db; + final DriftChatDatabase _db; $UsersTable get _users => alias(users, 'users'); diff --git a/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.g.dart b/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.g.dart index e5e07850..f695bf08 100644 --- a/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.g.dart +++ b/packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.g.dart @@ -6,7 +6,7 @@ part of 'pinned_message_dao.dart'; // DaoGenerator // ************************************************************************** -mixin _$PinnedMessageDaoMixin on DatabaseAccessor { +mixin _$PinnedMessageDaoMixin on DatabaseAccessor { $PinnedMessagesTable get pinnedMessages => attachedDatabase.pinnedMessages; $UsersTable get users => attachedDatabase.users; } diff --git a/packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.dart b/packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.dart index 932bb838..4a37984a 100644 --- a/packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.dart @@ -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_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/users.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'; /// The Data Access Object for operations in [PinnedMessageReactions] table. -@UseDao(tables: [PinnedMessageReactions, Users]) -class PinnedMessageReactionDao extends DatabaseAccessor +@DriftAccessor(tables: [PinnedMessageReactions, Users]) +class PinnedMessageReactionDao extends DatabaseAccessor with _$PinnedMessageReactionDaoMixin { /// 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 /// [Reactions.messageId] with [messageId] diff --git a/packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.g.dart b/packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.g.dart index 707a7c12..48e212bf 100644 --- a/packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.g.dart +++ b/packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.g.dart @@ -6,7 +6,7 @@ part of 'pinned_message_reaction_dao.dart'; // DaoGenerator // ************************************************************************** -mixin _$PinnedMessageReactionDaoMixin on DatabaseAccessor { +mixin _$PinnedMessageReactionDaoMixin on DatabaseAccessor { $PinnedMessageReactionsTable get pinnedMessageReactions => attachedDatabase.pinnedMessageReactions; $UsersTable get users => attachedDatabase.users; diff --git a/packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart b/packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart index c178ae03..7b0b5b8c 100644 --- a/packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart @@ -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_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/users.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'; /// The Data Access Object for operations in [Reactions] table. -@UseDao(tables: [Reactions, Users]) -class ReactionDao extends DatabaseAccessor +@DriftAccessor(tables: [Reactions, Users]) +class ReactionDao extends DatabaseAccessor with _$ReactionDaoMixin { /// 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 /// [Reactions.messageId] with [messageId] diff --git a/packages/stream_chat_persistence/lib/src/dao/reaction_dao.g.dart b/packages/stream_chat_persistence/lib/src/dao/reaction_dao.g.dart index b95e2126..2eefbceb 100644 --- a/packages/stream_chat_persistence/lib/src/dao/reaction_dao.g.dart +++ b/packages/stream_chat_persistence/lib/src/dao/reaction_dao.g.dart @@ -6,7 +6,7 @@ part of 'reaction_dao.dart'; // DaoGenerator // ************************************************************************** -mixin _$ReactionDaoMixin on DatabaseAccessor { +mixin _$ReactionDaoMixin on DatabaseAccessor { $ReactionsTable get reactions => attachedDatabase.reactions; $UsersTable get users => attachedDatabase.users; } diff --git a/packages/stream_chat_persistence/lib/src/dao/read_dao.dart b/packages/stream_chat_persistence/lib/src/dao/read_dao.dart index 87bfa19b..0a578d69 100644 --- a/packages/stream_chat_persistence/lib/src/dao/read_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/read_dao.dart @@ -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_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/users.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'; /// The Data Access Object for operations in [Reads] table. -@UseDao(tables: [Reads, Users]) -class ReadDao extends DatabaseAccessor with _$ReadDaoMixin { +@DriftAccessor(tables: [Reads, Users]) +class ReadDao extends DatabaseAccessor with _$ReadDaoMixin { /// Creates a new read dao instance - ReadDao(MoorChatDatabase db) : super(db); + ReadDao(DriftChatDatabase db) : super(db); /// Get all reads where [Reads.channelCid] matches [cid] Future> getReadsByCid(String cid) async => (select(reads).join([ diff --git a/packages/stream_chat_persistence/lib/src/dao/read_dao.g.dart b/packages/stream_chat_persistence/lib/src/dao/read_dao.g.dart index b9ac9228..bfe5873c 100644 --- a/packages/stream_chat_persistence/lib/src/dao/read_dao.g.dart +++ b/packages/stream_chat_persistence/lib/src/dao/read_dao.g.dart @@ -6,7 +6,7 @@ part of 'read_dao.dart'; // DaoGenerator // ************************************************************************** -mixin _$ReadDaoMixin on DatabaseAccessor { +mixin _$ReadDaoMixin on DatabaseAccessor { $ReadsTable get reads => attachedDatabase.reads; $UsersTable get users => attachedDatabase.users; } diff --git a/packages/stream_chat_persistence/lib/src/dao/user_dao.dart b/packages/stream_chat_persistence/lib/src/dao/user_dao.dart index b1e29e7b..a53a4131 100644 --- a/packages/stream_chat_persistence/lib/src/dao/user_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/user_dao.dart @@ -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_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/mapper/user_mapper.dart'; part 'user_dao.g.dart'; /// The Data Access Object for operations in [Users] table. -@UseDao(tables: [Users]) -class UserDao extends DatabaseAccessor with _$UserDaoMixin { +@DriftAccessor(tables: [Users]) +class UserDao extends DatabaseAccessor with _$UserDaoMixin { /// 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 Future updateUsers(List userList) => batch( diff --git a/packages/stream_chat_persistence/lib/src/dao/user_dao.g.dart b/packages/stream_chat_persistence/lib/src/dao/user_dao.g.dart index edd9a33b..94af5378 100644 --- a/packages/stream_chat_persistence/lib/src/dao/user_dao.g.dart +++ b/packages/stream_chat_persistence/lib/src/dao/user_dao.g.dart @@ -6,6 +6,6 @@ part of 'user_dao.dart'; // DaoGenerator // ************************************************************************** -mixin _$UserDaoMixin on DatabaseAccessor { +mixin _$UserDaoMixin on DatabaseAccessor { $UsersTable get users => attachedDatabase.users; } diff --git a/packages/stream_chat_persistence/lib/src/db/moor_chat_database.dart b/packages/stream_chat_persistence/lib/src/db/drift_chat_database.dart similarity index 91% rename from packages/stream_chat_persistence/lib/src/db/moor_chat_database.dart rename to packages/stream_chat_persistence/lib/src/db/drift_chat_database.dart index 35befbc1..8561eed4 100644 --- a/packages/stream_chat_persistence/lib/src/db/moor_chat_database.dart +++ b/packages/stream_chat_persistence/lib/src/db/drift_chat_database.dart @@ -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_persistence/src/converter/converter.dart'; @@ -7,10 +7,10 @@ import 'package:stream_chat_persistence/src/entity/entity.dart'; export 'shared/shared_db.dart'; -part 'moor_chat_database.g.dart'; +part 'drift_chat_database.g.dart'; /// A chat database implemented using moor -@UseMoor( +@DriftDatabase( tables: [ Channels, Messages, @@ -36,15 +36,15 @@ part 'moor_chat_database.g.dart'; ConnectionEventDao, ], ) -class MoorChatDatabase extends _$MoorChatDatabase { +class DriftChatDatabase extends _$DriftChatDatabase { /// Creates a new moor chat database instance - MoorChatDatabase( + DriftChatDatabase( this._userId, QueryExecutor executor, ) : super(executor); /// Instantiate a new database instance - MoorChatDatabase.connect( + DriftChatDatabase.connect( this._userId, DatabaseConnection connection, ) : super.connect(connection); diff --git a/packages/stream_chat_persistence/lib/src/db/moor_chat_database.g.dart b/packages/stream_chat_persistence/lib/src/db/drift_chat_database.g.dart similarity index 94% rename from packages/stream_chat_persistence/lib/src/db/moor_chat_database.g.dart rename to packages/stream_chat_persistence/lib/src/db/drift_chat_database.g.dart index 7360f9ab..bd735b8b 100644 --- a/packages/stream_chat_persistence/lib/src/db/moor_chat_database.g.dart +++ b/packages/stream_chat_persistence/lib/src/db/drift_chat_database.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -part of 'moor_chat_database.dart'; +part of 'drift_chat_database.dart'; // ************************************************************************** // MoorGenerator @@ -56,9 +56,7 @@ class ChannelEntity extends DataClass implements Insertable { required this.memberCount, this.createdById, this.extraData}); - factory ChannelEntity.fromData( - Map data, GeneratedDatabase db, - {String? prefix}) { + factory ChannelEntity.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return ChannelEntity( id: const StringType() @@ -119,7 +117,7 @@ class ChannelEntity extends DataClass implements Insertable { factory ChannelEntity.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return ChannelEntity( id: serializer.fromJson(json['id']), type: serializer.fromJson(json['type']), @@ -137,7 +135,7 @@ class ChannelEntity extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'type': serializer.toJson(type), @@ -202,28 +200,8 @@ class ChannelEntity extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc( - id.hashCode, - $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)))))))))))); + int get hashCode => Object.hash(id, type, cid, config, frozen, lastMessageAt, + createdAt, updatedAt, deletedAt, memberCount, createdById, extraData); @override bool operator ==(Object other) => identical(this, other) || @@ -561,7 +539,7 @@ class $ChannelsTable extends Channels Set get $primaryKey => {cid}; @override ChannelEntity map(Map data, {String? tablePrefix}) { - return ChannelEntity.fromData(data, _db, + return ChannelEntity.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -678,9 +656,7 @@ class MessageEntity extends DataClass implements Insertable { required this.channelCid, this.i18n, this.extraData}); - factory MessageEntity.fromData( - Map data, GeneratedDatabase db, - {String? prefix}) { + factory MessageEntity.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return MessageEntity( id: const StringType() @@ -814,7 +790,7 @@ class MessageEntity extends DataClass implements Insertable { factory MessageEntity.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return MessageEntity( id: serializer.fromJson(json['id']), messageText: serializer.fromJson(json['messageText']), @@ -847,7 +823,7 @@ class MessageEntity extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'messageText': serializer.toJson(messageText), @@ -969,49 +945,33 @@ class MessageEntity extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc( - id.hashCode, - $mrjc( - messageText.hashCode, - $mrjc( - attachments.hashCode, - $mrjc( - status.hashCode, - $mrjc( - type.hashCode, - $mrjc( - mentionedUsers.hashCode, - $mrjc( - reactionCounts.hashCode, - $mrjc( - reactionScores.hashCode, - $mrjc( - parentId.hashCode, - $mrjc( - quotedMessageId.hashCode, - $mrjc( - replyCount.hashCode, - $mrjc( - showInChannel.hashCode, - $mrjc( - shadowed.hashCode, - $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))))))))))))))))))))))))); + int get hashCode => Object.hashAll([ + id, + messageText, + attachments, + status, + type, + mentionedUsers, + reactionCounts, + reactionScores, + parentId, + quotedMessageId, + replyCount, + showInChannel, + shadowed, + command, + createdAt, + updatedAt, + deletedAt, + userId, + pinned, + pinnedAt, + pinExpires, + pinnedByUserId, + channelCid, + i18n, + extraData + ]); @override bool operator ==(Object other) => identical(this, other) || @@ -1644,7 +1604,7 @@ class $MessagesTable extends Messages Set get $primaryKey => {id}; @override MessageEntity map(Map data, {String? tablePrefix}) { - return MessageEntity.fromData(data, _db, + return MessageEntity.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -1772,8 +1732,7 @@ class PinnedMessageEntity extends DataClass required this.channelCid, this.i18n, this.extraData}); - factory PinnedMessageEntity.fromData( - Map data, GeneratedDatabase db, + factory PinnedMessageEntity.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return PinnedMessageEntity( @@ -1911,7 +1870,7 @@ class PinnedMessageEntity extends DataClass factory PinnedMessageEntity.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return PinnedMessageEntity( id: serializer.fromJson(json['id']), messageText: serializer.fromJson(json['messageText']), @@ -1944,7 +1903,7 @@ class PinnedMessageEntity extends DataClass } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'messageText': serializer.toJson(messageText), @@ -2066,49 +2025,33 @@ class PinnedMessageEntity extends DataClass } @override - int get hashCode => $mrjf($mrjc( - id.hashCode, - $mrjc( - messageText.hashCode, - $mrjc( - attachments.hashCode, - $mrjc( - status.hashCode, - $mrjc( - type.hashCode, - $mrjc( - mentionedUsers.hashCode, - $mrjc( - reactionCounts.hashCode, - $mrjc( - reactionScores.hashCode, - $mrjc( - parentId.hashCode, - $mrjc( - quotedMessageId.hashCode, - $mrjc( - replyCount.hashCode, - $mrjc( - showInChannel.hashCode, - $mrjc( - shadowed.hashCode, - $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))))))))))))))))))))))))); + int get hashCode => Object.hashAll([ + id, + messageText, + attachments, + status, + type, + mentionedUsers, + reactionCounts, + reactionScores, + parentId, + quotedMessageId, + replyCount, + showInChannel, + shadowed, + command, + createdAt, + updatedAt, + deletedAt, + userId, + pinned, + pinnedAt, + pinExpires, + pinnedByUserId, + channelCid, + i18n, + extraData + ]); @override bool operator ==(Object other) => identical(this, other) || @@ -2744,7 +2687,7 @@ class $PinnedMessagesTable extends PinnedMessages Set get $primaryKey => {id}; @override PinnedMessageEntity map(Map data, {String? tablePrefix}) { - return PinnedMessageEntity.fromData(data, _db, + return PinnedMessageEntity.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -2795,8 +2738,7 @@ class PinnedMessageReactionEntity extends DataClass required this.createdAt, required this.score, this.extraData}); - factory PinnedMessageReactionEntity.fromData( - Map data, GeneratedDatabase db, + factory PinnedMessageReactionEntity.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return PinnedMessageReactionEntity( @@ -2832,7 +2774,7 @@ class PinnedMessageReactionEntity extends DataClass factory PinnedMessageReactionEntity.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return PinnedMessageReactionEntity( userId: serializer.fromJson(json['userId']), messageId: serializer.fromJson(json['messageId']), @@ -2844,7 +2786,7 @@ class PinnedMessageReactionEntity extends DataClass } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'userId': serializer.toJson(userId), 'messageId': serializer.toJson(messageId), @@ -2884,14 +2826,8 @@ class PinnedMessageReactionEntity extends DataClass } @override - int get hashCode => $mrjf($mrjc( - userId.hashCode, - $mrjc( - messageId.hashCode, - $mrjc( - type.hashCode, - $mrjc(createdAt.hashCode, - $mrjc(score.hashCode, extraData.hashCode)))))); + int get hashCode => + Object.hash(userId, messageId, type, createdAt, score, extraData); @override bool operator ==(Object other) => identical(this, other) || @@ -3090,7 +3026,7 @@ class $PinnedMessageReactionsTable extends PinnedMessageReactions @override PinnedMessageReactionEntity map(Map data, {String? tablePrefix}) { - return PinnedMessageReactionEntity.fromData(data, _db, + return PinnedMessageReactionEntity.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -3128,9 +3064,7 @@ class ReactionEntity extends DataClass implements Insertable { required this.createdAt, required this.score, this.extraData}); - factory ReactionEntity.fromData( - Map data, GeneratedDatabase db, - {String? prefix}) { + factory ReactionEntity.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return ReactionEntity( userId: const StringType() @@ -3164,7 +3098,7 @@ class ReactionEntity extends DataClass implements Insertable { factory ReactionEntity.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return ReactionEntity( userId: serializer.fromJson(json['userId']), messageId: serializer.fromJson(json['messageId']), @@ -3176,7 +3110,7 @@ class ReactionEntity extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'userId': serializer.toJson(userId), 'messageId': serializer.toJson(messageId), @@ -3216,14 +3150,8 @@ class ReactionEntity extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc( - userId.hashCode, - $mrjc( - messageId.hashCode, - $mrjc( - type.hashCode, - $mrjc(createdAt.hashCode, - $mrjc(score.hashCode, extraData.hashCode)))))); + int get hashCode => + Object.hash(userId, messageId, type, createdAt, score, extraData); @override bool operator ==(Object other) => identical(this, other) || @@ -3418,7 +3346,7 @@ class $ReactionsTable extends Reactions Set get $primaryKey => {messageId, type, userId}; @override ReactionEntity map(Map data, {String? tablePrefix}) { - return ReactionEntity.fromData(data, _db, + return ReactionEntity.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -3468,8 +3396,7 @@ class UserEntity extends DataClass implements Insertable { required this.online, required this.banned, required this.extraData}); - factory UserEntity.fromData(Map data, GeneratedDatabase db, - {String? prefix}) { + factory UserEntity.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return UserEntity( id: const StringType() @@ -3518,7 +3445,7 @@ class UserEntity extends DataClass implements Insertable { factory UserEntity.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return UserEntity( id: serializer.fromJson(json['id']), role: serializer.fromJson(json['role']), @@ -3533,7 +3460,7 @@ class UserEntity extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'role': serializer.toJson(role), @@ -3585,22 +3512,8 @@ class UserEntity extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc( - id.hashCode, - $mrjc( - role.hashCode, - $mrjc( - language.hashCode, - $mrjc( - createdAt.hashCode, - $mrjc( - updatedAt.hashCode, - $mrjc( - lastActive.hashCode, - $mrjc( - online.hashCode, - $mrjc( - banned.hashCode, extraData.hashCode))))))))); + int get hashCode => Object.hash(id, role, language, createdAt, updatedAt, + lastActive, online, banned, extraData); @override bool operator ==(Object other) => identical(this, other) || @@ -3863,7 +3776,7 @@ class $UsersTable extends Users with TableInfo<$UsersTable, UserEntity> { Set get $primaryKey => {id}; @override UserEntity map(Map data, {String? tablePrefix}) { - return UserEntity.fromData(data, _db, + return UserEntity.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -3921,8 +3834,7 @@ class MemberEntity extends DataClass implements Insertable { required this.isModerator, required this.createdAt, required this.updatedAt}); - factory MemberEntity.fromData(Map data, GeneratedDatabase db, - {String? prefix}) { + factory MemberEntity.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return MemberEntity( userId: const StringType() @@ -3974,7 +3886,7 @@ class MemberEntity extends DataClass implements Insertable { factory MemberEntity.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return MemberEntity( userId: serializer.fromJson(json['userId']), channelCid: serializer.fromJson(json['channelCid']), @@ -3993,7 +3905,7 @@ class MemberEntity extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'userId': serializer.toJson(userId), 'channelCid': serializer.toJson(channelCid), @@ -4057,26 +3969,18 @@ class MemberEntity extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc( - userId.hashCode, - $mrjc( - channelCid.hashCode, - $mrjc( - role.hashCode, - $mrjc( - inviteAcceptedAt.hashCode, - $mrjc( - inviteRejectedAt.hashCode, - $mrjc( - invited.hashCode, - $mrjc( - banned.hashCode, - $mrjc( - shadowBanned.hashCode, - $mrjc( - isModerator.hashCode, - $mrjc(createdAt.hashCode, - updatedAt.hashCode))))))))))); + int get hashCode => Object.hash( + userId, + channelCid, + role, + inviteAcceptedAt, + inviteRejectedAt, + invited, + banned, + shadowBanned, + isModerator, + createdAt, + updatedAt); @override bool operator ==(Object other) => identical(this, other) || @@ -4405,7 +4309,7 @@ class $MembersTable extends Members Set get $primaryKey => {userId, channelCid}; @override MemberEntity map(Map data, {String? tablePrefix}) { - return MemberEntity.fromData(data, _db, + return MemberEntity.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -4432,8 +4336,7 @@ class ReadEntity extends DataClass implements Insertable { required this.userId, required this.channelCid, required this.unreadMessages}); - factory ReadEntity.fromData(Map data, GeneratedDatabase db, - {String? prefix}) { + factory ReadEntity.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return ReadEntity( lastRead: const DateTimeType() @@ -4458,7 +4361,7 @@ class ReadEntity extends DataClass implements Insertable { factory ReadEntity.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return ReadEntity( lastRead: serializer.fromJson(json['lastRead']), userId: serializer.fromJson(json['userId']), @@ -4468,7 +4371,7 @@ class ReadEntity extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'lastRead': serializer.toJson(lastRead), 'userId': serializer.toJson(userId), @@ -4500,10 +4403,7 @@ class ReadEntity extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc( - lastRead.hashCode, - $mrjc(userId.hashCode, - $mrjc(channelCid.hashCode, unreadMessages.hashCode)))); + int get hashCode => Object.hash(lastRead, userId, channelCid, unreadMessages); @override bool operator ==(Object other) => identical(this, other) || @@ -4660,7 +4560,7 @@ class $ReadsTable extends Reads with TableInfo<$ReadsTable, ReadEntity> { Set get $primaryKey => {userId, channelCid}; @override ReadEntity map(Map data, {String? tablePrefix}) { - return ReadEntity.fromData(data, _db, + return ReadEntity.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -4678,8 +4578,7 @@ class ChannelQueryEntity extends DataClass /// The channel cid of this query final String channelCid; ChannelQueryEntity({required this.queryHash, required this.channelCid}); - factory ChannelQueryEntity.fromData( - Map data, GeneratedDatabase db, + factory ChannelQueryEntity.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return ChannelQueryEntity( @@ -4699,7 +4598,7 @@ class ChannelQueryEntity extends DataClass factory ChannelQueryEntity.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return ChannelQueryEntity( queryHash: serializer.fromJson(json['queryHash']), channelCid: serializer.fromJson(json['channelCid']), @@ -4707,7 +4606,7 @@ class ChannelQueryEntity extends DataClass } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'queryHash': serializer.toJson(queryHash), 'channelCid': serializer.toJson(channelCid), @@ -4729,7 +4628,7 @@ class ChannelQueryEntity extends DataClass } @override - int get hashCode => $mrjf($mrjc(queryHash.hashCode, channelCid.hashCode)); + int get hashCode => Object.hash(queryHash, channelCid); @override bool operator ==(Object other) => identical(this, other) || @@ -4835,7 +4734,7 @@ class $ChannelQueriesTable extends ChannelQueries Set get $primaryKey => {queryHash, channelCid}; @override ChannelQueryEntity map(Map data, {String? tablePrefix}) { - return ChannelQueryEntity.fromData(data, _db, + return ChannelQueryEntity.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -4875,8 +4774,7 @@ class ConnectionEventEntity extends DataClass this.unreadChannels, this.lastEventAt, this.lastSyncAt}); - factory ConnectionEventEntity.fromData( - Map data, GeneratedDatabase db, + factory ConnectionEventEntity.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return ConnectionEventEntity( @@ -4922,7 +4820,7 @@ class ConnectionEventEntity extends DataClass factory ConnectionEventEntity.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return ConnectionEventEntity( id: serializer.fromJson(json['id']), type: serializer.fromJson(json['type']), @@ -4935,7 +4833,7 @@ class ConnectionEventEntity extends DataClass } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'type': serializer.toJson(type), @@ -4982,16 +4880,8 @@ class ConnectionEventEntity extends DataClass } @override - int get hashCode => $mrjf($mrjc( - id.hashCode, - $mrjc( - type.hashCode, - $mrjc( - ownUser.hashCode, - $mrjc( - totalUnreadCount.hashCode, - $mrjc(unreadChannels.hashCode, - $mrjc(lastEventAt.hashCode, lastSyncAt.hashCode))))))); + int get hashCode => Object.hash(id, type, ownUser, totalUnreadCount, + unreadChannels, lastEventAt, lastSyncAt); @override bool operator ==(Object other) => identical(this, other) || @@ -5212,7 +5102,7 @@ class $ConnectionEventsTable extends ConnectionEvents Set get $primaryKey => {id}; @override ConnectionEventEntity map(Map data, {String? tablePrefix}) { - return ConnectionEventEntity.fromData(data, _db, + return ConnectionEventEntity.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -5225,9 +5115,10 @@ class $ConnectionEventsTable extends ConnectionEvents MapConverter(); } -abstract class _$MoorChatDatabase extends GeneratedDatabase { - _$MoorChatDatabase(QueryExecutor e) : super(SqlTypeSystem.defaultInstance, e); - _$MoorChatDatabase.connect(DatabaseConnection c) : super.connect(c); +abstract class _$DriftChatDatabase extends GeneratedDatabase { + _$DriftChatDatabase(QueryExecutor e) + : super(SqlTypeSystem.defaultInstance, e); + _$DriftChatDatabase.connect(DatabaseConnection c) : super.connect(c); late final $ChannelsTable channels = $ChannelsTable(this); late final $MessagesTable messages = $MessagesTable(this); late final $PinnedMessagesTable pinnedMessages = $PinnedMessagesTable(this); @@ -5240,20 +5131,20 @@ abstract class _$MoorChatDatabase extends GeneratedDatabase { late final $ChannelQueriesTable channelQueries = $ChannelQueriesTable(this); late final $ConnectionEventsTable connectionEvents = $ConnectionEventsTable(this); - late final UserDao userDao = UserDao(this as MoorChatDatabase); - late final ChannelDao channelDao = ChannelDao(this as MoorChatDatabase); - late final MessageDao messageDao = MessageDao(this as MoorChatDatabase); + late final UserDao userDao = UserDao(this as DriftChatDatabase); + late final ChannelDao channelDao = ChannelDao(this as DriftChatDatabase); + late final MessageDao messageDao = MessageDao(this as DriftChatDatabase); late final PinnedMessageDao pinnedMessageDao = - PinnedMessageDao(this as MoorChatDatabase); + PinnedMessageDao(this as DriftChatDatabase); late final PinnedMessageReactionDao pinnedMessageReactionDao = - PinnedMessageReactionDao(this as MoorChatDatabase); - late final MemberDao memberDao = MemberDao(this as MoorChatDatabase); - late final ReactionDao reactionDao = ReactionDao(this as MoorChatDatabase); - late final ReadDao readDao = ReadDao(this as MoorChatDatabase); + PinnedMessageReactionDao(this as DriftChatDatabase); + late final MemberDao memberDao = MemberDao(this as DriftChatDatabase); + late final ReactionDao reactionDao = ReactionDao(this as DriftChatDatabase); + late final ReadDao readDao = ReadDao(this as DriftChatDatabase); late final ChannelQueryDao channelQueryDao = - ChannelQueryDao(this as MoorChatDatabase); + ChannelQueryDao(this as DriftChatDatabase); late final ConnectionEventDao connectionEventDao = - ConnectionEventDao(this as MoorChatDatabase); + ConnectionEventDao(this as DriftChatDatabase); @override Iterable get allTables => allSchemaEntities.whereType(); @override diff --git a/packages/stream_chat_persistence/lib/src/db/shared/native_db.dart b/packages/stream_chat_persistence/lib/src/db/shared/native_db.dart index d70426e1..a30dd59d 100644 --- a/packages/stream_chat_persistence/lib/src/db/shared/native_db.dart +++ b/packages/stream_chat_persistence/lib/src/db/shared/native_db.dart @@ -2,27 +2,27 @@ import 'dart:io'; import 'dart:isolate'; -import 'package:moor/ffi.dart'; -import 'package:moor/isolate.dart'; -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; +import 'package:drift/isolate.dart'; +import 'package:drift/native.dart'; import 'package:path/path.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/stream_chat_persistence.dart'; -/// A Helper class to construct new instances of [MoorChatDatabase] specifically -/// for native platform applications +/// A Helper class to construct new instances of [DriftChatDatabase] +/// specifically for native platform applications. class SharedDB { - /// Returns a new instance of [MoorChatDatabase]. - static MoorChatDatabase constructDatabase( + /// Returns a new instance of [DriftChatDatabase]. + static DriftChatDatabase constructDatabase( String userId, { bool logStatements = false, ConnectionMode connectionMode = ConnectionMode.regular, }) { final dbName = 'db_$userId'; if (connectionMode == ConnectionMode.background) { - return MoorChatDatabase.connect( + return DriftChatDatabase.connect( userId, DatabaseConnection.delayed(Future(() async { final isolate = await _createMoorIsolate( @@ -33,7 +33,7 @@ class SharedDB { })), ); } - return MoorChatDatabase( + return DriftChatDatabase( userId, LazyDatabase( () async => _constructDatabase( @@ -44,7 +44,7 @@ class SharedDB { ); } - static Future _constructDatabase( + static Future _constructDatabase( String dbName, { bool logStatements = false, }) async { @@ -52,27 +52,27 @@ class SharedDB { final dir = await getApplicationDocumentsDirectory(); final path = join(dir.path, '$dbName.sqlite'); final file = File(path); - return VmDatabase(file, logStatements: logStatements); + return NativeDatabase(file, logStatements: logStatements); } if (Platform.isMacOS || Platform.isLinux) { 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) { - final executor = LazyDatabase(() async => VmDatabase( + final executor = LazyDatabase(() async => NativeDatabase( File(request.targetPath), logStatements: request.logStatements, )); - final moorIsolate = MoorIsolate.inCurrent( + final moorIsolate = DriftIsolate.inCurrent( () => DatabaseConnection.fromExecutor(executor), ); request.sendMoorIsolate.send(moorIsolate); } - static Future _createMoorIsolate( + static Future _createMoorIsolate( String dbName, { bool logStatements = false, }) async { @@ -89,7 +89,7 @@ class SharedDB { ), ); - return await receivePort.first as MoorIsolate; + return await receivePort.first as DriftIsolate; } } diff --git a/packages/stream_chat_persistence/lib/src/db/shared/unsupported_db.dart b/packages/stream_chat_persistence/lib/src/db/shared/unsupported_db.dart index 1054a1df..c840aa5f 100644 --- a/packages/stream_chat_persistence/lib/src/db/shared/unsupported_db.dart +++ b/packages/stream_chat_persistence/lib/src/db/shared/unsupported_db.dart @@ -1,11 +1,11 @@ // 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'; -/// A Helper class to construct new instances of [MoorChatDatabase] +/// A Helper class to construct new instances of [DriftChatDatabase] class SharedDB { - /// Returns a new instance of [MoorChatDatabase]. - static MoorChatDatabase constructDatabase( + /// Returns a new instance of [DriftChatDatabase]. + static DriftChatDatabase constructDatabase( String userId, { bool logStatements = false, ConnectionMode connectionMode = ConnectionMode.regular, diff --git a/packages/stream_chat_persistence/lib/src/db/shared/web_db.dart b/packages/stream_chat_persistence/lib/src/db/shared/web_db.dart index 5b1d8311..394b38d0 100644 --- a/packages/stream_chat_persistence/lib/src/db/shared/web_db.dart +++ b/packages/stream_chat_persistence/lib/src/db/shared/web_db.dart @@ -1,19 +1,19 @@ // coverage:ignore-file -import 'package:moor/moor_web.dart'; -import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; +import 'package:drift/web.dart'; +import 'package:stream_chat_persistence/src/db/drift_chat_database.dart'; import 'package:stream_chat_persistence/src/stream_chat_persistence_client.dart'; -/// A Helper class to construct new instances of [MoorChatDatabase] specifically -/// for Web applications +/// A Helper class to construct new instances of [DriftChatDatabase] +/// specifically for Web applications. class SharedDB { - /// Returns a new instance of [MoorChatDatabase]. - static MoorChatDatabase constructDatabase( + /// Returns a new instance of [DriftChatDatabase]. + static DriftChatDatabase constructDatabase( String userId, { bool logStatements = false, ConnectionMode connectionMode = ConnectionMode.regular, // Ignored on web }) { final dbName = 'db_$userId'; final queryExecutor = WebDatabase(dbName, logStatements: logStatements); - return MoorChatDatabase(userId, queryExecutor); + return DriftChatDatabase(userId, queryExecutor); } } diff --git a/packages/stream_chat_persistence/lib/src/entity/channel_queries.dart b/packages/stream_chat_persistence/lib/src/entity/channel_queries.dart index 61985d26..a9d3dc6c 100644 --- a/packages/stream_chat_persistence/lib/src/entity/channel_queries.dart +++ b/packages/stream_chat_persistence/lib/src/entity/channel_queries.dart @@ -1,5 +1,5 @@ // coverage:ignore-file -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; /// Represents a [ChannelQueries] table in [MoorChatDatabase]. @DataClassName('ChannelQueryEntity') diff --git a/packages/stream_chat_persistence/lib/src/entity/channels.dart b/packages/stream_chat_persistence/lib/src/entity/channels.dart index 2c65719b..a685db68 100644 --- a/packages/stream_chat_persistence/lib/src/entity/channels.dart +++ b/packages/stream_chat_persistence/lib/src/entity/channels.dart @@ -1,5 +1,5 @@ // coverage:ignore-file -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart'; /// Represents a [Channels] table in [MoorChatDatabase]. diff --git a/packages/stream_chat_persistence/lib/src/entity/connection_events.dart b/packages/stream_chat_persistence/lib/src/entity/connection_events.dart index 9e91a9cb..7853e08e 100644 --- a/packages/stream_chat_persistence/lib/src/entity/connection_events.dart +++ b/packages/stream_chat_persistence/lib/src/entity/connection_events.dart @@ -1,5 +1,5 @@ // coverage:ignore-file -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart'; /// Represents a [ConnectionEvents] table in [MoorChatDatabase]. diff --git a/packages/stream_chat_persistence/lib/src/entity/members.dart b/packages/stream_chat_persistence/lib/src/entity/members.dart index 2773ddaa..c1709981 100644 --- a/packages/stream_chat_persistence/lib/src/entity/members.dart +++ b/packages/stream_chat_persistence/lib/src/entity/members.dart @@ -1,5 +1,5 @@ // coverage:ignore-file -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; /// Represents a [Members] table in [MoorChatDatabase]. @DataClassName('MemberEntity') diff --git a/packages/stream_chat_persistence/lib/src/entity/messages.dart b/packages/stream_chat_persistence/lib/src/entity/messages.dart index 108b903f..f40bd292 100644 --- a/packages/stream_chat_persistence/lib/src/entity/messages.dart +++ b/packages/stream_chat_persistence/lib/src/entity/messages.dart @@ -1,5 +1,5 @@ // 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/map_converter.dart'; import 'package:stream_chat_persistence/src/converter/message_sending_status_converter.dart'; diff --git a/packages/stream_chat_persistence/lib/src/entity/pinned_message_reactions.dart b/packages/stream_chat_persistence/lib/src/entity/pinned_message_reactions.dart index fbc9f5ca..8228ee5f 100644 --- a/packages/stream_chat_persistence/lib/src/entity/pinned_message_reactions.dart +++ b/packages/stream_chat_persistence/lib/src/entity/pinned_message_reactions.dart @@ -1,5 +1,5 @@ // coverage:ignore-file -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; import 'package:stream_chat_persistence/src/entity/reactions.dart'; diff --git a/packages/stream_chat_persistence/lib/src/entity/pinned_messages.dart b/packages/stream_chat_persistence/lib/src/entity/pinned_messages.dart index 043f69c5..61672fc8 100644 --- a/packages/stream_chat_persistence/lib/src/entity/pinned_messages.dart +++ b/packages/stream_chat_persistence/lib/src/entity/pinned_messages.dart @@ -1,5 +1,5 @@ // coverage:ignore-file -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; import 'package:stream_chat_persistence/src/entity/messages.dart'; diff --git a/packages/stream_chat_persistence/lib/src/entity/reactions.dart b/packages/stream_chat_persistence/lib/src/entity/reactions.dart index 62380408..712b7b18 100644 --- a/packages/stream_chat_persistence/lib/src/entity/reactions.dart +++ b/packages/stream_chat_persistence/lib/src/entity/reactions.dart @@ -1,5 +1,5 @@ // coverage:ignore-file -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart'; /// Represents a [Reactions] table in [MoorChatDatabase]. diff --git a/packages/stream_chat_persistence/lib/src/entity/reads.dart b/packages/stream_chat_persistence/lib/src/entity/reads.dart index 1f59b3c8..18d44934 100644 --- a/packages/stream_chat_persistence/lib/src/entity/reads.dart +++ b/packages/stream_chat_persistence/lib/src/entity/reads.dart @@ -1,5 +1,5 @@ // coverage:ignore-file -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; /// Represents a [Reads] table in [MoorChatDatabase]. @DataClassName('ReadEntity') diff --git a/packages/stream_chat_persistence/lib/src/entity/users.dart b/packages/stream_chat_persistence/lib/src/entity/users.dart index 286bfb40..a5db56cc 100644 --- a/packages/stream_chat_persistence/lib/src/entity/users.dart +++ b/packages/stream_chat_persistence/lib/src/entity/users.dart @@ -1,5 +1,5 @@ // coverage:ignore-file -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart'; /// Represents a [Users] table in [MoorChatDatabase]. diff --git a/packages/stream_chat_persistence/lib/src/mapper/channel_mapper.dart b/packages/stream_chat_persistence/lib/src/mapper/channel_mapper.dart index 71f5b708..ef4111f6 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/channel_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/channel_mapper.dart @@ -1,5 +1,5 @@ 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] extension ChannelEntityX on ChannelEntity { diff --git a/packages/stream_chat_persistence/lib/src/mapper/event_mapper.dart b/packages/stream_chat_persistence/lib/src/mapper/event_mapper.dart index f0350797..0c3adb7b 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/event_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/event_mapper.dart @@ -1,5 +1,5 @@ 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] extension ConnectionEventX on ConnectionEventEntity { diff --git a/packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart b/packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart index 414cab16..925abe16 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart @@ -1,5 +1,5 @@ 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] extension MemberEntityX on MemberEntity { diff --git a/packages/stream_chat_persistence/lib/src/mapper/message_mapper.dart b/packages/stream_chat_persistence/lib/src/mapper/message_mapper.dart index f49631a9..72d3d30f 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/message_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/message_mapper.dart @@ -1,7 +1,7 @@ import 'dart:convert'; 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] extension MessageEntityX on MessageEntity { diff --git a/packages/stream_chat_persistence/lib/src/mapper/pinned_message_mapper.dart b/packages/stream_chat_persistence/lib/src/mapper/pinned_message_mapper.dart index d47aa109..91a25a33 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/pinned_message_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/pinned_message_mapper.dart @@ -1,7 +1,7 @@ import 'dart:convert'; 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] extension PinnedMessageEntityX on PinnedMessageEntity { diff --git a/packages/stream_chat_persistence/lib/src/mapper/pinned_message_reaction_mapper.dart b/packages/stream_chat_persistence/lib/src/mapper/pinned_message_reaction_mapper.dart index e4602bb0..ecab7cb4 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/pinned_message_reaction_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/pinned_message_reaction_mapper.dart @@ -1,5 +1,5 @@ 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] extension PinnedMessageReactionEntityX on PinnedMessageReactionEntity { diff --git a/packages/stream_chat_persistence/lib/src/mapper/reaction_mapper.dart b/packages/stream_chat_persistence/lib/src/mapper/reaction_mapper.dart index 62a0c427..a524fafe 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/reaction_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/reaction_mapper.dart @@ -1,5 +1,5 @@ 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] extension ReactionEntityX on ReactionEntity { diff --git a/packages/stream_chat_persistence/lib/src/mapper/read_mapper.dart b/packages/stream_chat_persistence/lib/src/mapper/read_mapper.dart index 889776e2..68f68898 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/read_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/read_mapper.dart @@ -1,5 +1,5 @@ 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] extension ReadEntityX on ReadEntity { diff --git a/packages/stream_chat_persistence/lib/src/mapper/user_mapper.dart b/packages/stream_chat_persistence/lib/src/mapper/user_mapper.dart index 8b38a74d..f6409c39 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/user_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/user_mapper.dart @@ -1,5 +1,5 @@ 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] extension UserEntityX on UserEntity { diff --git a/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart b/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart index 9d81fecd..00c4ab06 100644 --- a/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart +++ b/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart @@ -4,7 +4,7 @@ import 'package:meta/meta.dart'; import 'package:mutex/mutex.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 enum ConnectionMode { @@ -15,8 +15,8 @@ enum ConnectionMode { background, } -/// Signature for a function which provides instance of [MoorChatDatabase] -typedef DatabaseProvider = MoorChatDatabase Function(String, ConnectionMode); +/// Signature for a function which provides instance of [DriftChatDatabase] +typedef DatabaseProvider = DriftChatDatabase Function(String, ConnectionMode); final _levelEmojiMapper = { Level.INFO: 'ℹ️', @@ -24,7 +24,7 @@ final _levelEmojiMapper = { Level.SEVERE: '🚨', }; -/// A [MoorChatDatabase] based implementation of the [ChatPersistenceClient] +/// A [DriftChatDatabase] based implementation of the [ChatPersistenceClient] class StreamChatPersistenceClient extends ChatPersistenceClient { /// Creates a new instance of the stream chat persistence client StreamChatPersistenceClient({ @@ -37,9 +37,9 @@ class StreamChatPersistenceClient extends ChatPersistenceClient { _logger.onRecord.listen(logHandlerFunction ?? _defaultLogHandler); } - /// [MoorChatDatabase] instance used by this client. + /// [DriftChatDatabase] instance used by this client. @visibleForTesting - MoorChatDatabase? db; + DriftChatDatabase? db; final Logger _logger; final ConnectionMode _connectionMode; @@ -70,7 +70,7 @@ class StreamChatPersistenceClient extends ChatPersistenceClient { return true; } - MoorChatDatabase _defaultDatabaseProvider( + DriftChatDatabase _defaultDatabaseProvider( String userId, ConnectionMode mode, ) => diff --git a/packages/stream_chat_persistence/pubspec.yaml b/packages/stream_chat_persistence/pubspec.yaml index 3e24da27..0aff8a37 100644 --- a/packages/stream_chat_persistence/pubspec.yaml +++ b/packages/stream_chat_persistence/pubspec.yaml @@ -10,11 +10,11 @@ environment: flutter: ">=1.17.0" dependencies: + drift: ^1.0.0 flutter: sdk: flutter logging: ^1.0.1 meta: ^1.3.0 - moor: ^4.4.0 mutex: ^3.0.0 path: ^1.8.0 path_provider: ^2.0.1 @@ -24,7 +24,7 @@ dependencies: dev_dependencies: build_runner: ^2.0.1 dart_code_metrics: ^4.4.0 + drift_dev: ^1.0.0 flutter_test: sdk: flutter - mocktail: ^0.1.1 - moor_generator: ^4.2.1 \ No newline at end of file + mocktail: ^0.1.1 \ No newline at end of file diff --git a/packages/stream_chat_persistence/test/mock_chat_database.dart b/packages/stream_chat_persistence/test/mock_chat_database.dart index 19b115e5..196c8573 100644 --- a/packages/stream_chat_persistence/test/mock_chat_database.dart +++ b/packages/stream_chat_persistence/test/mock_chat_database.dart @@ -1,8 +1,8 @@ import 'package:mocktail/mocktail.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; @override diff --git a/packages/stream_chat_persistence/test/src/dao/channel_dao_test.dart b/packages/stream_chat_persistence/test/src/dao/channel_dao_test.dart index ff75c13c..df52caa6 100644 --- a/packages/stream_chat_persistence/test/src/dao/channel_dao_test.dart +++ b/packages/stream_chat_persistence/test/src/dao/channel_dao_test.dart @@ -1,13 +1,13 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:stream_chat/stream_chat.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'; void main() { late ChannelDao channelDao; - late MoorChatDatabase database; + late DriftChatDatabase database; setUp(() { database = testDatabaseProvider('testUserId'); diff --git a/packages/stream_chat_persistence/test/src/dao/channel_query_dao_test.dart b/packages/stream_chat_persistence/test/src/dao/channel_query_dao_test.dart index bc07919a..8319d297 100644 --- a/packages/stream_chat_persistence/test/src/dao/channel_query_dao_test.dart +++ b/packages/stream_chat_persistence/test/src/dao/channel_query_dao_test.dart @@ -1,13 +1,13 @@ import 'package:flutter_test/flutter_test.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/db/moor_chat_database.dart'; +import 'package:stream_chat_persistence/src/db/drift_chat_database.dart'; import '../../stream_chat_persistence_client_test.dart'; import '../utils/date_matcher.dart'; void main() { - late MoorChatDatabase database; + late DriftChatDatabase database; late ChannelQueryDao channelQueryDao; setUp(() { diff --git a/packages/stream_chat_persistence/test/src/dao/connection_event_dao_test.dart b/packages/stream_chat_persistence/test/src/dao/connection_event_dao_test.dart index 6b576169..ed517366 100644 --- a/packages/stream_chat_persistence/test/src/dao/connection_event_dao_test.dart +++ b/packages/stream_chat_persistence/test/src/dao/connection_event_dao_test.dart @@ -1,14 +1,14 @@ import 'package:flutter_test/flutter_test.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/db/moor_chat_database.dart'; +import 'package:stream_chat_persistence/src/db/drift_chat_database.dart'; import '../../stream_chat_persistence_client_test.dart'; import '../utils/date_matcher.dart'; void main() { late ConnectionEventDao eventDao; - late MoorChatDatabase database; + late DriftChatDatabase database; setUp(() { database = testDatabaseProvider('testUserId'); diff --git a/packages/stream_chat_persistence/test/src/dao/member_dao_test.dart b/packages/stream_chat_persistence/test/src/dao/member_dao_test.dart index 33531ca9..4a3a31da 100644 --- a/packages/stream_chat_persistence/test/src/dao/member_dao_test.dart +++ b/packages/stream_chat_persistence/test/src/dao/member_dao_test.dart @@ -3,14 +3,14 @@ import 'dart:math' as math; import 'package:flutter_test/flutter_test.dart'; import 'package:stream_chat/stream_chat.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 '../utils/date_matcher.dart'; void main() { late MemberDao memberDao; - late MoorChatDatabase database; + late DriftChatDatabase database; setUp(() { database = testDatabaseProvider('testUserId'); diff --git a/packages/stream_chat_persistence/test/src/dao/message_dao_test.dart b/packages/stream_chat_persistence/test/src/dao/message_dao_test.dart index 31546ecf..b31884fc 100644 --- a/packages/stream_chat_persistence/test/src/dao/message_dao_test.dart +++ b/packages/stream_chat_persistence/test/src/dao/message_dao_test.dart @@ -3,13 +3,13 @@ import 'dart:math' as math; import 'package:flutter_test/flutter_test.dart'; import 'package:stream_chat/stream_chat.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'; void main() { late MessageDao messageDao; - late MoorChatDatabase database; + late DriftChatDatabase database; setUp(() { database = testDatabaseProvider('testUserId'); diff --git a/packages/stream_chat_persistence/test/src/dao/pinned_message_dao_test.dart b/packages/stream_chat_persistence/test/src/dao/pinned_message_dao_test.dart index 45f2ed0a..4dcf5e0e 100644 --- a/packages/stream_chat_persistence/test/src/dao/pinned_message_dao_test.dart +++ b/packages/stream_chat_persistence/test/src/dao/pinned_message_dao_test.dart @@ -3,13 +3,13 @@ import 'dart:math' as math; import 'package:flutter_test/flutter_test.dart'; import 'package:stream_chat/stream_chat.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'; void main() { late PinnedMessageDao pinnedMessageDao; - late MoorChatDatabase database; + late DriftChatDatabase database; setUp(() { database = testDatabaseProvider('testUserId'); diff --git a/packages/stream_chat_persistence/test/src/dao/pinned_message_reaction_dao_test.dart b/packages/stream_chat_persistence/test/src/dao/pinned_message_reaction_dao_test.dart index 5c451ec1..44abc4a6 100644 --- a/packages/stream_chat_persistence/test/src/dao/pinned_message_reaction_dao_test.dart +++ b/packages/stream_chat_persistence/test/src/dao/pinned_message_reaction_dao_test.dart @@ -3,13 +3,13 @@ import 'dart:math' as math; import 'package:flutter_test/flutter_test.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/db/moor_chat_database.dart'; +import 'package:stream_chat_persistence/src/db/drift_chat_database.dart'; import '../../stream_chat_persistence_client_test.dart'; void main() { late PinnedMessageReactionDao pinnedMessageReactionDao; - late MoorChatDatabase database; + late DriftChatDatabase database; setUp(() { database = testDatabaseProvider('testUserId'); diff --git a/packages/stream_chat_persistence/test/src/dao/reaction_dao_test.dart b/packages/stream_chat_persistence/test/src/dao/reaction_dao_test.dart index 8109e75e..932a555e 100644 --- a/packages/stream_chat_persistence/test/src/dao/reaction_dao_test.dart +++ b/packages/stream_chat_persistence/test/src/dao/reaction_dao_test.dart @@ -3,13 +3,13 @@ import 'dart:math' as math; import 'package:flutter_test/flutter_test.dart'; import 'package:stream_chat/stream_chat.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'; void main() { late ReactionDao reactionDao; - late MoorChatDatabase database; + late DriftChatDatabase database; setUp(() { database = testDatabaseProvider('testUserId'); diff --git a/packages/stream_chat_persistence/test/src/dao/read_dao_test.dart b/packages/stream_chat_persistence/test/src/dao/read_dao_test.dart index 1cebd1eb..07d955fc 100644 --- a/packages/stream_chat_persistence/test/src/dao/read_dao_test.dart +++ b/packages/stream_chat_persistence/test/src/dao/read_dao_test.dart @@ -1,14 +1,14 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:stream_chat/stream_chat.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 '../utils/date_matcher.dart'; void main() { late ReadDao readDao; - late MoorChatDatabase database; + late DriftChatDatabase database; setUp(() { database = testDatabaseProvider('testUserId'); diff --git a/packages/stream_chat_persistence/test/src/dao/user_dao_test.dart b/packages/stream_chat_persistence/test/src/dao/user_dao_test.dart index ab88881a..fb095e36 100644 --- a/packages/stream_chat_persistence/test/src/dao/user_dao_test.dart +++ b/packages/stream_chat_persistence/test/src/dao/user_dao_test.dart @@ -3,13 +3,13 @@ import 'dart:math' as math; import 'package:flutter_test/flutter_test.dart'; import 'package:stream_chat/stream_chat.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'; void main() { late UserDao userDao; - late MoorChatDatabase database; + late DriftChatDatabase database; setUp(() { database = testDatabaseProvider('testUserId'); diff --git a/packages/stream_chat_persistence/test/src/db/moor_chat_database_test.dart b/packages/stream_chat_persistence/test/src/db/drift_chat_database_test.dart similarity index 62% rename from packages/stream_chat_persistence/test/src/db/moor_chat_database_test.dart rename to packages/stream_chat_persistence/test/src/db/drift_chat_database_test.dart index eb1b6933..441f186d 100644 --- a/packages/stream_chat_persistence/test/src/db/moor_chat_database_test.dart +++ b/packages/stream_chat_persistence/test/src/db/drift_chat_database_test.dart @@ -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:moor/ffi.dart'; -import 'package:moor/isolate.dart'; -import 'package:moor/moor.dart' hide isNotNull; -import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; +import 'package:stream_chat_persistence/src/db/drift_chat_database.dart'; DatabaseConnection _backgroundConnection() => - DatabaseConnection.fromExecutor(VmDatabase.memory()); + DatabaseConnection.fromExecutor(NativeDatabase.memory()); void main() { test( 'default constructor should create a new instance of MoorChatDatabase', () async { const userId = 'testUserId'; - final executor = VmDatabase.memory(); - final database = MoorChatDatabase(userId, executor); + final executor = NativeDatabase.memory(); + final database = DriftChatDatabase(userId, executor); expect(database, isNotNull); expect(database.userId, userId); @@ -27,10 +27,10 @@ void main() { 'connect constructor should create a new instance of MoorChatDatabase', () async { const userId = 'testUserId'; - final isolate = await MoorIsolate.spawn(_backgroundConnection); + final isolate = await DriftIsolate.spawn(_backgroundConnection); final connection = DatabaseConnection.delayed(isolate.connect()); - final database = MoorChatDatabase.connect(userId, connection); + final database = DriftChatDatabase.connect(userId, connection); expect(database, isNotNull); expect(database.userId, userId); diff --git a/packages/stream_chat_persistence/test/src/mapper/channel_mapper_test.dart b/packages/stream_chat_persistence/test/src/mapper/channel_mapper_test.dart index 2c87097b..e9718af9 100644 --- a/packages/stream_chat_persistence/test/src/mapper/channel_mapper_test.dart +++ b/packages/stream_chat_persistence/test/src/mapper/channel_mapper_test.dart @@ -2,7 +2,7 @@ import 'dart:math' as math; import 'package:flutter_test/flutter_test.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 '../utils/date_matcher.dart'; diff --git a/packages/stream_chat_persistence/test/src/mapper/event_mapper_test.dart b/packages/stream_chat_persistence/test/src/mapper/event_mapper_test.dart index a7c72d0d..6acc4e05 100644 --- a/packages/stream_chat_persistence/test/src/mapper/event_mapper_test.dart +++ b/packages/stream_chat_persistence/test/src/mapper/event_mapper_test.dart @@ -1,6 +1,6 @@ import 'package:flutter_test/flutter_test.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 '../utils/date_matcher.dart'; diff --git a/packages/stream_chat_persistence/test/src/mapper/member_mapper_test.dart b/packages/stream_chat_persistence/test/src/mapper/member_mapper_test.dart index 19f299b3..a3878409 100644 --- a/packages/stream_chat_persistence/test/src/mapper/member_mapper_test.dart +++ b/packages/stream_chat_persistence/test/src/mapper/member_mapper_test.dart @@ -2,7 +2,7 @@ import 'dart:math' as math; import 'package:flutter_test/flutter_test.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 '../utils/date_matcher.dart'; diff --git a/packages/stream_chat_persistence/test/src/mapper/message_mapper_test.dart b/packages/stream_chat_persistence/test/src/mapper/message_mapper_test.dart index d26d905b..d2ea8b93 100644 --- a/packages/stream_chat_persistence/test/src/mapper/message_mapper_test.dart +++ b/packages/stream_chat_persistence/test/src/mapper/message_mapper_test.dart @@ -3,7 +3,7 @@ import 'dart:math' as math; import 'package:flutter_test/flutter_test.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 '../utils/date_matcher.dart'; diff --git a/packages/stream_chat_persistence/test/src/mapper/pinned_message_mapper_test.dart b/packages/stream_chat_persistence/test/src/mapper/pinned_message_mapper_test.dart index 9f258b76..9c2378fd 100644 --- a/packages/stream_chat_persistence/test/src/mapper/pinned_message_mapper_test.dart +++ b/packages/stream_chat_persistence/test/src/mapper/pinned_message_mapper_test.dart @@ -3,7 +3,7 @@ import 'dart:math' as math; import 'package:flutter_test/flutter_test.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 '../utils/date_matcher.dart'; diff --git a/packages/stream_chat_persistence/test/src/mapper/pinned_message_reaction_mapper_test.dart b/packages/stream_chat_persistence/test/src/mapper/pinned_message_reaction_mapper_test.dart index f031d941..2753f4f4 100644 --- a/packages/stream_chat_persistence/test/src/mapper/pinned_message_reaction_mapper_test.dart +++ b/packages/stream_chat_persistence/test/src/mapper/pinned_message_reaction_mapper_test.dart @@ -1,6 +1,6 @@ import 'package:flutter_test/flutter_test.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 '../utils/date_matcher.dart'; diff --git a/packages/stream_chat_persistence/test/src/mapper/reaction_mapper_test.dart b/packages/stream_chat_persistence/test/src/mapper/reaction_mapper_test.dart index 831d6068..844eb3b8 100644 --- a/packages/stream_chat_persistence/test/src/mapper/reaction_mapper_test.dart +++ b/packages/stream_chat_persistence/test/src/mapper/reaction_mapper_test.dart @@ -1,6 +1,6 @@ import 'package:flutter_test/flutter_test.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 '../utils/date_matcher.dart'; diff --git a/packages/stream_chat_persistence/test/src/mapper/read_mapper_test.dart b/packages/stream_chat_persistence/test/src/mapper/read_mapper_test.dart index f152e476..98f43ede 100644 --- a/packages/stream_chat_persistence/test/src/mapper/read_mapper_test.dart +++ b/packages/stream_chat_persistence/test/src/mapper/read_mapper_test.dart @@ -1,6 +1,6 @@ import 'package:flutter_test/flutter_test.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 '../utils/date_matcher.dart'; diff --git a/packages/stream_chat_persistence/test/src/mapper/user_mapper_test.dart b/packages/stream_chat_persistence/test/src/mapper/user_mapper_test.dart index 7b6ef2e8..8f9340a9 100644 --- a/packages/stream_chat_persistence/test/src/mapper/user_mapper_test.dart +++ b/packages/stream_chat_persistence/test/src/mapper/user_mapper_test.dart @@ -2,7 +2,7 @@ import 'dart:math' as math; import 'package:flutter_test/flutter_test.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 '../utils/date_matcher.dart'; diff --git a/packages/stream_chat_persistence/test/stream_chat_persistence_client_test.dart b/packages/stream_chat_persistence/test/stream_chat_persistence_client_test.dart index 5c2b6bff..4900aab2 100644 --- a/packages/stream_chat_persistence/test/stream_chat_persistence_client_test.dart +++ b/packages/stream_chat_persistence/test/stream_chat_persistence_client_test.dart @@ -1,15 +1,15 @@ +import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; -import 'package:moor/ffi.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 'mock_chat_database.dart'; import 'src/utils/date_matcher.dart'; -MoorChatDatabase testDatabaseProvider(String userId, [ConnectionMode? mode]) => - MoorChatDatabase(userId, VmDatabase.memory()); +DriftChatDatabase testDatabaseProvider(String userId, [ConnectionMode? mode]) => + DriftChatDatabase(userId, NativeDatabase.memory()); void main() { group('connect', () { @@ -19,7 +19,7 @@ void main() { expect(client.db, isNull); await client.connect(userId, databaseProvider: testDatabaseProvider); expect(client.db, isNotNull); - expect(client.db, isA()); + expect(client.db, isA()); expect(client.db!.userId, userId); addTearDown(() async { @@ -33,7 +33,7 @@ void main() { await client.connect(userId, databaseProvider: testDatabaseProvider); expect(client.db, isNotNull); expect(client.db, isNotNull); - expect(client.db, isA()); + expect(client.db, isA()); expect(client.db!.userId, userId); expect( () => client.connect(userId, databaseProvider: testDatabaseProvider), @@ -58,7 +58,7 @@ void main() { group('client functions', () { const userId = 'testUserId'; final mockDatabase = MockChatDatabase(); - MoorChatDatabase _mockDatabaseProvider(_, __) => mockDatabase; + DriftChatDatabase _mockDatabaseProvider(_, __) => mockDatabase; late StreamChatPersistenceClient client; setUp(() async {