Skip to content

Commit

Permalink
Fix update transcript message and refactor DAOs (#1277)
Browse files Browse the repository at this point in the history
* Fix transcript message update.

* refactor ConversationDao

* refactor FavoriteAppDao

* refactor StickerRelationshipDao

* refactor PinMessageDao

* refactor FloodMessageDao

* refactor CircleDao, CircleConversationDao

* refactor StickerDao

* refactor UserDao, ParticipantDao

* refactor MessageDao

* improve
  • Loading branch information
YeungKC authored Jul 11, 2023
1 parent 064e8e9 commit 852a750
Show file tree
Hide file tree
Showing 80 changed files with 13,977 additions and 13,683 deletions.
7 changes: 4 additions & 3 deletions lib/blaze/blaze.dart
Original file line number Diff line number Diff line change
Expand Up @@ -232,8 +232,9 @@ class Blaze {
}

Future<bool> makeMessageStatus(String messageId, MessageStatus status) async {
final currentStatus =
await database.messageDao.findMessageStatusById(messageId);
final currentStatus = await database.messageDao
.messageStatusById(messageId)
.getSingleOrNull();
if (currentStatus != null && status.index > currentStatus.index) {
await database.messageDao.updateMessageStatusById(messageId, status);
}
Expand Down Expand Up @@ -261,7 +262,7 @@ class Blaze {
}
await Future.forEach<BlazeMessageData>(blazeMessages, (m) async {
if (!(await makeMessageStatus(m.messageId, m.status))) {
final messagesHistory = await database.messagesHistoryDao
final messagesHistory = await database.messageHistoryDao
.findMessageHistoryById(m.messageId);
if (messagesHistory != null) return;

Expand Down
2 changes: 1 addition & 1 deletion lib/crypto/signal/dao/session_dao.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:collection/collection.dart';
import 'package:drift/drift.dart';

import '../../../utils/extension/extension.dart';
import '../signal_database.dart';

part 'session_dao.g.dart';
Expand Down
2 changes: 1 addition & 1 deletion lib/crypto/signal/signal_protocol.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import 'package:uuid/uuid.dart';

import '../../blaze/blaze_message.dart';
import '../../blaze/blaze_message_param.dart';
import '../../db/mixin_database.dart';
import '../../db/dao/message_dao.dart';
import '../../enum/message_category.dart';
import '../../utils/extension/extension.dart';
import '../../utils/logger.dart';
Expand Down
1 change: 1 addition & 0 deletions lib/db/custom_vm_database_wrapper.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import 'package:collection/collection.dart';
import 'package:drift/drift.dart';
import 'package:drift/native.dart';
import 'package:flutter/foundation.dart';
Expand Down
6 changes: 3 additions & 3 deletions lib/db/dao/circle_conversation_dao.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import '../mixin_database.dart';

part 'circle_conversation_dao.g.dart';

@DriftAccessor()
@DriftAccessor(include: {'../moor/dao/circle_conversation.drift'})
class CircleConversationDao extends DatabaseAccessor<MixinDatabase>
with _$CircleConversationDaoMixin {
CircleConversationDao(super.db);
Expand All @@ -23,13 +23,13 @@ class CircleConversationDao extends DatabaseAccessor<MixinDatabase>
..where((tbl) => tbl.circleId.equals(circleId));

Future<int> deleteByCircleId(String circleId) =>
db.deleteByCircleId(circleId).then((value) {
_deleteByCircleId(circleId).then((value) {
DataBaseEventBus.instance.updateCircleConversation();
return value;
});

Future<int> deleteById(String conversationId, String circleId) =>
db.deleteByIds(conversationId, circleId).then((value) {
_deleteByIds(conversationId, circleId).then((value) {
DataBaseEventBus.instance.updateCircleConversation();
return value;
});
Expand Down
55 changes: 54 additions & 1 deletion lib/db/dao/circle_conversation_dao.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 1 addition & 14 deletions lib/db/dao/circle_dao.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import '../mixin_database.dart';

part 'circle_dao.g.dart';

@DriftAccessor()
@DriftAccessor(include: {'../moor/dao/circle.drift'})
class CircleDao extends DatabaseAccessor<MixinDatabase> with _$CircleDaoMixin {
CircleDao(super.db);

Expand All @@ -29,23 +29,10 @@ class CircleDao extends DatabaseAccessor<MixinDatabase> with _$CircleDaoMixin {
return value;
});

Selectable<ConversationCircleItem> allCircles() => db.allCircles();

Selectable<ConversationCircleManagerItem> circleByConversationId(
String conversationId) =>
db.circleByConversationId(conversationId);

Future<Circle?> findCircleById(String circleId) =>
(select(db.circles)..where((t) => t.circleId.equals(circleId)))
.getSingleOrNull();

Selectable<ConversationCircleManagerItem> otherCircleByConversationId(
String conversationId) =>
db.otherCircleByConversationId(conversationId);

Selectable<String> circlesNameByConversationId(String conversationId) =>
db.circlesNameByConversationId(conversationId);

Future<void> updateOrders(List<ConversationCircleItem> value) {
final now = DateTime.now();
final newCircles = value.asMap().entries.map((e) {
Expand Down
178 changes: 177 additions & 1 deletion lib/db/dao/circle_dao.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 852a750

Please sign in to comment.