Delete conversation external files on deletion

This commit is contained in:
Scott Nonnenberg 2018-10-01 15:54:14 -07:00
parent 2cfbfe477a
commit f38410976d
2 changed files with 33 additions and 0 deletions

View file

@ -123,6 +123,15 @@
return this.id === this.ourNumber;
},
async cleanup() {
await window.Signal.Types.Conversation.deleteExternalFiles(
this.attributes,
{
deleteAttachmentData,
}
);
},
async updateAndMerge(message) {
this.updateLastMessage();

View file

@ -123,7 +123,31 @@ async function migrateConversation(conversation, options = {}) {
return upgradeToVersion2(conversation, options);
}
async function deleteExternalFiles(conversation, options = {}) {
if (!conversation) {
return;
}
const { deleteAttachmentData } = options;
if (!isFunction(deleteAttachmentData)) {
throw new Error(
'Conversation.buildAvatarUpdater: deleteAttachmentData must be a function'
);
}
const { avatar, profileAvatar } = conversation;
if (avatar && avatar.path) {
await deleteAttachmentData(avatar.path);
}
if (profileAvatar && profileAvatar.path) {
await deleteAttachmentData(profileAvatar.path);
}
}
module.exports = {
deleteExternalFiles,
migrateConversation,
maybeUpdateAvatar,
maybeUpdateProfileAvatar,