mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-01-16 04:48:40 +00:00
fix crash
This commit is contained in:
parent
2919d8093b
commit
41493894cb
2 changed files with 26 additions and 18 deletions
|
|
@ -187,9 +187,18 @@ class MessagesDao extends DatabaseAccessor<TwonlyDatabase>
|
||||||
return select(messages)..where((t) => t.messageId.equals(messageId));
|
return select(messages)..where((t) => t.messageId.equals(messageId));
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleOrNullSelectable<Message> getMessageByMediaUploadId(int mediaUploadId) {
|
Future<Message?> getMessageByMediaUploadId(int mediaUploadId) async {
|
||||||
return select(messages)
|
List<Message> msgs = await (select(messages)
|
||||||
..where((t) => t.mediaUploadId.equals(mediaUploadId));
|
..where((t) => t.mediaUploadId.equals(mediaUploadId)))
|
||||||
|
.get();
|
||||||
|
if (msgs.isEmpty) return null;
|
||||||
|
if (msgs.length == 1) return msgs[0];
|
||||||
|
|
||||||
|
/// when there are multiple message ids with this id delete all but the last one
|
||||||
|
for (var i = 0; i < (msgs.length - 1); i++) {
|
||||||
|
await deleteMessageById(msgs[i].messageId);
|
||||||
|
}
|
||||||
|
return msgs[msgs.length - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleOrNullSelectable<Message> getMessageByOtherMessageId(
|
SingleOrNullSelectable<Message> getMessageByOtherMessageId(
|
||||||
|
|
|
||||||
|
|
@ -333,10 +333,10 @@ Future<void> purgeMediaFiles(Directory directory) async {
|
||||||
// Parse the integer and add it to the list
|
// Parse the integer and add it to the list
|
||||||
int fileId = int.parse(match.group(0)!);
|
int fileId = int.parse(match.group(0)!);
|
||||||
|
|
||||||
|
try {
|
||||||
Message? message = (directory.path.endsWith("send"))
|
Message? message = (directory.path.endsWith("send"))
|
||||||
? await twonlyDatabase.messagesDao
|
? await twonlyDatabase.messagesDao
|
||||||
.getMessageByMediaUploadId(fileId)
|
.getMessageByMediaUploadId(fileId)
|
||||||
.getSingleOrNull()
|
|
||||||
: await twonlyDatabase.messagesDao
|
: await twonlyDatabase.messagesDao
|
||||||
.getMessageByMessageId(fileId)
|
.getMessageByMessageId(fileId)
|
||||||
.getSingleOrNull();
|
.getSingleOrNull();
|
||||||
|
|
@ -346,8 +346,8 @@ Future<void> purgeMediaFiles(Directory directory) async {
|
||||||
!message.mediaStored &&
|
!message.mediaStored &&
|
||||||
message.acknowledgeByServer == true) ||
|
message.acknowledgeByServer == true) ||
|
||||||
message.errorWhileSending) {
|
message.errorWhileSending) {
|
||||||
try {
|
|
||||||
file.deleteSync();
|
file.deleteSync();
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
Logger("media_received.dart").shout("$e");
|
Logger("media_received.dart").shout("$e");
|
||||||
}
|
}
|
||||||
|
|
@ -355,4 +355,3 @@ Future<void> purgeMediaFiles(Directory directory) async {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue