diff --git a/packages/dart_client/lib/src/models/message.dart b/packages/dart_client/lib/src/models/message.dart index df188e35..a2eef86e 100644 --- a/packages/dart_client/lib/src/models/message.dart +++ b/packages/dart_client/lib/src/models/message.dart @@ -72,7 +72,7 @@ class Message { @JsonKey(includeIfNull: false, toJson: Serialization.readOnly) final List ownReactions; - /// The ID of the parent message, if the message is a reply. + /// The ID of the parent message, if the message is a thread reply. final String parentId; /// A quoted reply message diff --git a/packages/dart_client/lib/src/models/reaction.dart b/packages/dart_client/lib/src/models/reaction.dart index fb0c4fad..9a4869f7 100644 --- a/packages/dart_client/lib/src/models/reaction.dart +++ b/packages/dart_client/lib/src/models/reaction.dart @@ -29,7 +29,7 @@ class Reaction { @JsonKey(includeIfNull: false, toJson: Serialization.readOnly) final String userId; - /// The score of the reaction (ie. number of reactions sent) + /// Reaction custom extraData @JsonKey(includeIfNull: false) final Map extraData; 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 5d0a628f..d14642ce 100644 --- a/packages/stream_chat_persistence/lib/src/converter/list_converter.dart +++ b/packages/stream_chat_persistence/lib/src/converter/list_converter.dart @@ -2,7 +2,8 @@ import 'dart:convert'; import 'package:moor/moor.dart'; -/// +/// Maps a [List] of type [T] into a [String] understood +/// by the sqlite backend. class ListConverter extends TypeConverter, String> { @override List mapToDart(fromDb) { 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 9fde0003..6e7a648d 100644 --- a/packages/stream_chat_persistence/lib/src/converter/map_converter.dart +++ b/packages/stream_chat_persistence/lib/src/converter/map_converter.dart @@ -2,7 +2,8 @@ import 'dart:convert'; import 'package:moor/moor.dart'; -/// +/// Maps a [Map] of type [String], [T] into a [String] understood +/// by the sqlite backend. class MapConverter extends TypeConverter, String> { @override Map mapToDart(fromDb) { 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 b8d92b82..75b006bb 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,7 +1,8 @@ import 'package:moor/moor.dart'; import 'package:stream_chat/stream_chat.dart'; -/// +/// Maps a [MessageSendingStatus] into a [int] understood +/// by the sqlite backend. class MessageSendingStatusConverter extends TypeConverter { @override 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 fa902f52..57ec95d3 100644 --- a/packages/stream_chat_persistence/lib/src/dao/channel_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/channel_dao.dart @@ -7,11 +7,11 @@ import '../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 with _$ChannelDaoMixin { - /// + /// Creates a new channel dao instance ChannelDao(MoorChatDatabase db) : super(db); /// Get channel by cid @@ -44,7 +44,7 @@ class ChannelDao extends DatabaseAccessor .get(); } - /// + /// Updates all the channels using the new [channelList] data Future updateChannels(List channelList) { return batch( (it) => it.insertAll( 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 a42dd01e..1492420c 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 @@ -10,11 +10,11 @@ import '../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 with _$ChannelQueryDaoMixin { - /// + /// Creates a new channel query dao instance ChannelQueryDao(this._db) : super(_db); final MoorChatDatabase _db; 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 baf91095..8d2033b2 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 @@ -7,11 +7,11 @@ import '../mapper/mapper.dart'; part 'connection_event_dao.g.dart'; -/// +/// The Data Access Object for operations in [ConnectionEvents] table. @UseDao(tables: [ConnectionEvents, Users]) class ConnectionEventDao extends DatabaseAccessor with _$ConnectionEventDaoMixin { - /// + /// Creates a new connection event dao instance ConnectionEventDao(MoorChatDatabase db) : super(db); /// Get the latest stored connection event 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 f21ab334..c535af9a 100644 --- a/packages/stream_chat_persistence/lib/src/dao/member_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/member_dao.dart @@ -9,11 +9,11 @@ import '../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 with _$MemberDaoMixin { - /// + /// Creates a new member dao instance MemberDao(MoorChatDatabase db) : super(db); /// Get all members where [members.channelCid] matches [cid] @@ -30,7 +30,7 @@ class MemberDao extends DatabaseAccessor }).get(); } - /// + /// Updates all the members using the new [memberList] data Future updateMembers(String cid, List memberList) async { return batch( (it) => it.insertAll( 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 ee779845..0b6ba97c 100644 --- a/packages/stream_chat_persistence/lib/src/dao/message_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/message_dao.dart @@ -7,11 +7,11 @@ import '../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 with _$MessageDaoMixin { - /// + /// Creates a new message dao instance MessageDao(this._db) : super(_db); final MoorChatDatabase _db; @@ -52,7 +52,7 @@ class MessageDao extends DatabaseAccessor ); } - /// + /// Returns a single message by matching the [messages.id] with [id] Future getMessageById(String id) async { return await (select(messages).join([ leftOuterJoin(users, messages.userId.equalsExp(users.id)), @@ -62,7 +62,8 @@ class MessageDao extends DatabaseAccessor .getSingle(); } - /// + /// Returns all the messages of a particular thread by matching + /// [messages.channelCid] with [cid] Future> getThreadMessages(String cid) async { return Future.wait(await (select(messages).join([ leftOuterJoin(users, messages.userId.equalsExp(users.id)), @@ -74,7 +75,8 @@ class MessageDao extends DatabaseAccessor .get()); } - /// + /// Returns all the messages of a particular thread by matching + /// [messages.parentId] with [parentId] Future> getThreadMessagesByParentId( String parentId, { String lessThan, @@ -94,7 +96,8 @@ class MessageDao extends DatabaseAccessor return msgList; } - /// + /// Returns all the messages of a channel by matching + /// [messages.channelCid] with [parentId] Future> getMessagesByCid( String cid, { PaginationParams messagePagination, @@ -131,7 +134,8 @@ class MessageDao extends DatabaseAccessor return msgList; } - /// + /// Updates the message data of a particular channel with + /// the new [messageList] data Future updateMessages(String cid, List messageList) { return batch((batch) { batch.insertAll( 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 dc6faefb..249bd011 100644 --- a/packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart @@ -7,14 +7,15 @@ import '../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 with _$ReactionDaoMixin { - /// + /// Creates a new reaction dao instance ReactionDao(MoorChatDatabase db) : super(db); - /// + /// Returns all the reactions of a particular message by matching + /// [reactions.messageId] with [messageId] Future> getReactions(String messageId) { return (select(reactions).join([ leftOuterJoin(users, reactions.userId.equalsExp(users.id)), @@ -28,7 +29,10 @@ class ReactionDao extends DatabaseAccessor }).get(); } - /// + /// Returns all the reactions of a particular message + /// added by a particular user by matching + /// [reactions.messageId] with [messageId] and + /// [reactions.userId] with [userId] Future> getReactionsByUserId( String messageId, String userId, @@ -37,7 +41,7 @@ class ReactionDao extends DatabaseAccessor return reactions.where((it) => it.userId == userId).toList(); } - /// + /// Updates the reactions data with the new [reactionList] data Future updateReactions(List reactionList) { return batch((it) { it.insertAll( 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 cd4da0f6..00af6b6d 100644 --- a/packages/stream_chat_persistence/lib/src/dao/read_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/read_dao.dart @@ -7,10 +7,10 @@ import '../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 { - /// + /// Creates a new read dao instance ReadDao(MoorChatDatabase db) : super(db); /// Get all reads where [reads.channelCid] matches [cid] @@ -29,7 +29,8 @@ class ReadDao extends DatabaseAccessor with _$ReadDaoMixin { }).get(); } - /// + /// Updates the read data of a particular channel with + /// the new [readList] data Future updateReads(String cid, List readList) { return batch( (it) => it.insertAll( 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 630a8252..795c7968 100644 --- a/packages/stream_chat_persistence/lib/src/dao/user_dao.dart +++ b/packages/stream_chat_persistence/lib/src/dao/user_dao.dart @@ -6,13 +6,13 @@ import '../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 { - /// + /// Creates a new user dao instance UserDao(MoorChatDatabase db) : super(db); - /// + /// Updates the users data with the new [userList] data Future updateUsers(List userList) { return batch( (it) => it.insertAll( diff --git a/packages/stream_chat_persistence/lib/src/db/moor_chat_database.dart b/packages/stream_chat_persistence/lib/src/db/moor_chat_database.dart index 691961a7..4230f278 100644 --- a/packages/stream_chat_persistence/lib/src/db/moor_chat_database.dart +++ b/packages/stream_chat_persistence/lib/src/db/moor_chat_database.dart @@ -21,7 +21,7 @@ LazyDatabase _openConnection( }); } -/// +/// A chat database implemented using moor @UseMoor(tables: [ Channels, Messages, @@ -42,7 +42,7 @@ LazyDatabase _openConnection( ConnectionEventDao, ]) class MoorChatDatabase extends _$MoorChatDatabase { - /// Instantiate a new database instance + /// Creates a new moor chat database instance MoorChatDatabase( this._userId, { logStatements = false, 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 fefdc925..301e3592 100644 --- a/packages/stream_chat_persistence/lib/src/entity/channel_queries.dart +++ b/packages/stream_chat_persistence/lib/src/entity/channel_queries.dart @@ -1,9 +1,12 @@ import 'package:moor/moor.dart'; +/// Represents a [ChannelQueries] table in [MoorChatDatabase]. @DataClassName('ChannelQueryEntity') class ChannelQueries extends Table { + /// The unique hash of this query TextColumn get queryHash => text()(); + /// The channel cid of this query TextColumn get channelCid => text()(); @override diff --git a/packages/stream_chat_persistence/lib/src/entity/channels.dart b/packages/stream_chat_persistence/lib/src/entity/channels.dart index 9f652ed1..38a40081 100644 --- a/packages/stream_chat_persistence/lib/src/entity/channels.dart +++ b/packages/stream_chat_persistence/lib/src/entity/channels.dart @@ -1,30 +1,43 @@ import 'package:moor/moor.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart'; +/// Represents a [Channels] table in [MoorChatDatabase]. @DataClassName('ChannelEntity') class Channels extends Table { + /// The id of this channel TextColumn get id => text()(); + /// The type of this channel TextColumn get type => text()(); + /// The cid of this channel TextColumn get cid => text()(); + /// The channel configuration data TextColumn get config => text().map(MapConverter())(); + /// True if this channel entity is frozen BoolColumn get frozen => boolean().withDefault(Constant(false))(); + /// The date of the last message DateTimeColumn get lastMessageAt => dateTime().nullable()(); + /// The date of channel creation DateTimeColumn get createdAt => dateTime().nullable()(); + /// The date of the last channel update DateTimeColumn get updatedAt => dateTime().nullable()(); + /// The date of channel deletion DateTimeColumn get deletedAt => dateTime().nullable()(); + /// The count of this channel members IntColumn get memberCount => integer().nullable()(); + /// The id of the user that created this channel TextColumn get createdById => text().nullable()(); + /// Map of custom channel extraData TextColumn get extraData => text().nullable().map(MapConverter())(); @override 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 3ca4592e..7caa0407 100644 --- a/packages/stream_chat_persistence/lib/src/entity/connection_events.dart +++ b/packages/stream_chat_persistence/lib/src/entity/connection_events.dart @@ -1,18 +1,25 @@ import 'package:moor/moor.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart'; +/// Represents a [ConnectionEvents] table in [MoorChatDatabase]. @DataClassName('ConnectionEventEntity') class ConnectionEvents extends Table { + /// event id IntColumn get id => integer()(); + /// User object of the current user TextColumn get ownUser => text().nullable().map(MapConverter())(); + /// The number of unread messages for current user IntColumn get totalUnreadCount => integer().nullable()(); + /// User total unread channels for current user IntColumn get unreadChannels => integer().nullable()(); + /// DateTime of the last event DateTimeColumn get lastEventAt => dateTime().nullable()(); + /// DateTime of the last sync DateTimeColumn get lastSyncAt => dateTime().nullable()(); @override diff --git a/packages/stream_chat_persistence/lib/src/entity/members.dart b/packages/stream_chat_persistence/lib/src/entity/members.dart index 39e224e0..9eafd4aa 100644 --- a/packages/stream_chat_persistence/lib/src/entity/members.dart +++ b/packages/stream_chat_persistence/lib/src/entity/members.dart @@ -1,28 +1,40 @@ import 'package:moor/moor.dart'; +/// Represents a [Members] table in [MoorChatDatabase]. @DataClassName('MemberEntity') class Members extends Table { + /// The interested user id TextColumn get userId => text()(); + /// The channel cid of which this user is part of TextColumn get channelCid => text().customConstraint('REFERENCES channels(cid) ON DELETE CASCADE')(); + /// The role of the user in the channel TextColumn get role => text().nullable()(); + /// The date on which the user accepted the invite to the channel DateTimeColumn get inviteAcceptedAt => dateTime().nullable()(); + /// The date on which the user rejected the invite to the channel DateTimeColumn get inviteRejectedAt => dateTime().nullable()(); + /// True if the user has been invited to the channel BoolColumn get invited => boolean().nullable()(); + /// True if the member is banned from the channel BoolColumn get banned => boolean().nullable()(); + /// True if the member is shadow banned from the channel BoolColumn get shadowBanned => boolean().nullable()(); + /// True if the user is a moderator of the channel BoolColumn get isModerator => boolean().nullable()(); + /// The date of creation DateTimeColumn get createdAt => dateTime()(); + /// The last date of update DateTimeColumn get updatedAt => dateTime().nullable()(); @override diff --git a/packages/stream_chat_persistence/lib/src/entity/messages.dart b/packages/stream_chat_persistence/lib/src/entity/messages.dart index 10c98315..8a151ae6 100644 --- a/packages/stream_chat_persistence/lib/src/entity/messages.dart +++ b/packages/stream_chat_persistence/lib/src/entity/messages.dart @@ -3,50 +3,72 @@ 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'; +/// Represents a [Messages] table in [MoorChatDatabase]. @DataClassName('MessageEntity') class Messages extends Table { + /// The message id TextColumn get id => text()(); + /// The text of this message TextColumn get messageText => text().nullable()(); + /// The list of attachments, either provided by the user + /// or generated from a command or as a result of URL scraping. TextColumn get attachments => text().nullable().map(ListConverter())(); + /// The status of a sending message IntColumn get status => integer().nullable().map(MessageSendingStatusConverter())(); + /// The message type TextColumn get type => text().nullable()(); + /// The list of user mentioned in the message TextColumn get mentionedUsers => text().nullable().map(ListConverter())(); + /// A map describing the count of number of every reaction TextColumn get reactionCounts => text().nullable().map(MapConverter())(); + /// A map describing the count of score of every reaction TextColumn get reactionScores => text().nullable().map(MapConverter())(); + /// The ID of the parent message, if the message is a thread reply. TextColumn get parentId => text().nullable()(); + /// The ID of the quoted message, if the message is a quoted reply. TextColumn get quotedMessageId => text().nullable()(); + /// Number of replies for this message. IntColumn get replyCount => integer().nullable()(); + /// Check if this message needs to show in the channel. BoolColumn get showInChannel => boolean().nullable()(); + /// If true the message is shadowed BoolColumn get shadowed => boolean().nullable()(); + /// A used command name. TextColumn get command => text().nullable()(); + /// The DateTime when the message was created. DateTimeColumn get createdAt => dateTime()(); + /// The DateTime when the message was updated last time. DateTimeColumn get updatedAt => dateTime().nullable()(); + /// The DateTime when the message was deleted. DateTimeColumn get deletedAt => dateTime().nullable()(); + /// Id of the User who sent the message TextColumn get userId => text().nullable()(); + /// The channel cid of which this message is part of TextColumn get channelCid => text().nullable().customConstraint( 'NULLABLE REFERENCES channels(cid) ON DELETE CASCADE')(); + /// Message custom extraData TextColumn get extraData => text().nullable().map(MapConverter())(); @override diff --git a/packages/stream_chat_persistence/lib/src/entity/reactions.dart b/packages/stream_chat_persistence/lib/src/entity/reactions.dart index a20ffbeb..b7e6342f 100644 --- a/packages/stream_chat_persistence/lib/src/entity/reactions.dart +++ b/packages/stream_chat_persistence/lib/src/entity/reactions.dart @@ -1,19 +1,26 @@ import 'package:moor/moor.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart'; +/// Represents a [Reactions] table in [MoorChatDatabase]. @DataClassName('ReactionEntity') class Reactions extends Table { + /// The id of the user that sent the reaction TextColumn get userId => text()(); + /// The messageId to which the reaction belongs TextColumn get messageId => text().customConstraint('REFERENCES messages(id) ON DELETE CASCADE')(); + /// The type of the reaction TextColumn get type => text()(); + /// The DateTime on which the reaction is created DateTimeColumn get createdAt => dateTime()(); + /// The score of the reaction (ie. number of reactions sent) IntColumn get score => integer().nullable()(); + /// Reaction custom extraData TextColumn get extraData => text().nullable().map(MapConverter())(); @override diff --git a/packages/stream_chat_persistence/lib/src/entity/reads.dart b/packages/stream_chat_persistence/lib/src/entity/reads.dart index c36dceef..4b9ce6fb 100644 --- a/packages/stream_chat_persistence/lib/src/entity/reads.dart +++ b/packages/stream_chat_persistence/lib/src/entity/reads.dart @@ -1,14 +1,19 @@ import 'package:moor/moor.dart'; +/// Represents a [Reads] table in [MoorChatDatabase]. @DataClassName('ReadEntity') class Reads extends Table { + /// Date of the read event DateTimeColumn get lastRead => dateTime()(); + /// Id of the User who sent the event TextColumn get userId => text()(); + /// The channel cid of which this read belongs TextColumn get channelCid => text().customConstraint('REFERENCES channels(cid) ON DELETE CASCADE')(); + /// Number of unread messages IntColumn get unreadMessages => integer().nullable()(); @override diff --git a/packages/stream_chat_persistence/lib/src/entity/users.dart b/packages/stream_chat_persistence/lib/src/entity/users.dart index 4beee396..4916ad28 100644 --- a/packages/stream_chat_persistence/lib/src/entity/users.dart +++ b/packages/stream_chat_persistence/lib/src/entity/users.dart @@ -1,22 +1,31 @@ import 'package:moor/moor.dart'; import 'package:stream_chat_persistence/src/converter/map_converter.dart'; +/// Represents a [Users] table in [MoorChatDatabase]. @DataClassName('UserEntity') class Users extends Table { + /// User id TextColumn get id => text()(); + /// User role TextColumn get role => text().nullable()(); + /// Date of user creation DateTimeColumn get createdAt => dateTime().nullable()(); + /// Date of last user update DateTimeColumn get updatedAt => dateTime().nullable()(); + /// Date of last user connection DateTimeColumn get lastActive => dateTime().nullable()(); + /// True if user is online BoolColumn get online => boolean().nullable()(); + /// True if user is banned from the chat BoolColumn get banned => boolean().nullable()(); + /// Map of custom user extraData TextColumn get extraData => text().nullable().map(MapConverter())(); @override 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 4d35340b..7d0e152f 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/channel_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/channel_mapper.dart @@ -1,9 +1,9 @@ import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; -/// +/// Useful mapping functions for [ChannelEntity] extension ChannelEntityX on ChannelEntity { - /// + /// Maps a [ChannelEntity] into [ChannelModel] ChannelModel toChannelModel({User createdBy}) { final config = ChannelConfig.fromJson(this.config ?? {}); return ChannelModel( @@ -22,7 +22,7 @@ extension ChannelEntityX on ChannelEntity { ); } - /// + /// Maps a [ChannelEntity] into [ChannelState] ChannelState toChannelState({ User createdBy, List members, @@ -38,9 +38,9 @@ extension ChannelEntityX on ChannelEntity { } } -/// +/// Useful mapping functions for [ChannelModel] extension ChannelModelX on ChannelModel { - /// + /// Maps a [ChannelModel] into [ChannelEntity] ChannelEntity toEntity() { return ChannelEntity( id: id, 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 9746dc20..7bc1739c 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/event_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/event_mapper.dart @@ -1,10 +1,9 @@ import 'package:stream_chat/stream_chat.dart'; -import 'user_mapper.dart'; import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; -/// +/// Useful mapping functions for [ConnectionEventEntity] extension ConnectionEventX on ConnectionEventEntity { - /// + /// Maps a [ConnectionEventEntity] into [Event] Event toEvent() { return Event( me: ownUser != null ? OwnUser.fromJson(ownUser) : null, 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 42f463ba..2d32c9f1 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart @@ -1,10 +1,9 @@ import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; -import 'user_mapper.dart'; -/// +/// Useful mapping functions for [MemberEntity] extension MemberEntityX on MemberEntity { - /// + /// Maps a [MemberEntity] into [Member] Member toMember({User user}) { return Member( user: user, @@ -22,9 +21,9 @@ extension MemberEntityX on MemberEntity { } } -/// +/// Useful mapping functions for [Member] extension MemberX on Member { - /// + /// Maps a [Member] into [MemberEntity] MemberEntity toEntity({String cid}) { return MemberEntity( userId: user?.id, 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 4ea001a1..510675e6 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/message_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/message_mapper.dart @@ -3,9 +3,9 @@ import 'dart:convert'; import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; -/// +/// Useful mapping functions for [MessageEntity] extension MessageEntityX on MessageEntity { - /// + /// Maps a [MessageEntity] into [Message] Message toMessage({ User user, List latestReactions, @@ -41,9 +41,9 @@ extension MessageEntityX on MessageEntity { } } -/// +/// Useful mapping functions for [Message] extension MessageX on Message { - /// + /// Maps a [Message] into [MessageEntity] MessageEntity toEntity({String cid}) { return MessageEntity( id: id, 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 d468d11c..407816be 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/reaction_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/reaction_mapper.dart @@ -1,9 +1,9 @@ import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; -/// +/// Useful mapping functions for [ReactionEntity] extension ReactionEntityX on ReactionEntity { - /// + /// Maps a [ReactionEntity] into [Reaction] Reaction toReaction({User user}) { return Reaction( extraData: extraData, @@ -17,10 +17,9 @@ extension ReactionEntityX on ReactionEntity { } } -/// +/// Useful mapping functions for [Reaction] extension ReactionX on Reaction { - /// - ReactionEntity toEntity() { + ReactionEntity toEntity() { return ReactionEntity( extraData: extraData, type: type, 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 0f9ea560..c79cf8d5 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/read_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/read_mapper.dart @@ -1,10 +1,9 @@ import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; -import 'user_mapper.dart'; -/// +/// Useful mapping functions for [ReadEntity] extension ReadEntityX on ReadEntity { - /// + /// Maps a [ReadEntity] into [Read] Read toRead({User user}) { return Read( user: user, @@ -14,9 +13,9 @@ extension ReadEntityX on ReadEntity { } } -/// +/// Useful mapping functions for [Read] extension ReadX on Read { - /// + /// Maps a [Read] into [ReadEntity] ReadEntity toEntity({String cid}) { return ReadEntity( lastRead: lastRead, 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 cb775ab7..b1e53786 100644 --- a/packages/stream_chat_persistence/lib/src/mapper/user_mapper.dart +++ b/packages/stream_chat_persistence/lib/src/mapper/user_mapper.dart @@ -1,9 +1,9 @@ import 'package:stream_chat/stream_chat.dart'; import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; -/// +/// Useful mapping functions for [UserEntity] extension UserEntityX on UserEntity { - /// + /// Maps a [UserEntity] into [User] User toUser() { return User( id: id, @@ -18,9 +18,9 @@ extension UserEntityX on UserEntity { } } -/// +/// Useful mapping functions for [User] extension UserX on User { - /// + /// Maps a [User] into [UserEntity] UserEntity toEntity() { return UserEntity( id: id, 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 cfcc5c68..c0aceff5 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 @@ -12,9 +12,9 @@ enum ConnectionMode { background, } -/// +/// A [MoorChatDatabase] based implementation of the [ChatPersistenceClient] class StreamChatPersistenceClient extends ChatPersistenceClient { - /// + /// Creates a new instance of the stream chat persistence client StreamChatPersistenceClient({ /// Connection mode on which the client will work ConnectionMode connectionMode = ConnectionMode.regular,