Resolve delete on local upload.

This commit is contained in:
Patrick Fic
2024-02-29 12:00:54 -08:00
parent cd8332e02d
commit c95daa7e5b
2 changed files with 96 additions and 63 deletions

View File

@@ -62,6 +62,39 @@ export function UploadProgress({
if (deleteAfterUpload) { if (deleteAfterUpload) {
try { try {
await MediaLibrary.deleteAssetsAsync(data); await MediaLibrary.deleteAssetsAsync(data);
try {
const album = await MediaLibrary.createAlbumAsync(
'ImEX Mobile Deleted',
data.pop(),
false
);
//Move the rest.
if (data.length > 0) {
const moveResult = await MediaLibrary.addAssetsToAlbumAsync(
data,
album,
false
);
}
const deleteResult = await MediaLibrary.deleteAlbumsAsync(album);
Toast.show({
type: 'success',
text1: 'Pictures deleted succesfully.',
text2: JSON.stringify(deleteResult),
autoHide: false,
});
} catch (error) {
console.log("🚀 ~ onDone ~ error:", error)
Toast.show({
type: 'error',
text1: 'deleteAlbumsAsync',
text2: JSON.stringify(error),
autoHide: false,
});
}
} catch (error) { } catch (error) {
console.log("Unable to delete picture.", error); console.log("Unable to delete picture.", error);
Sentry.Native.captureException(error); Sentry.Native.captureException(error);

View File

@@ -207,70 +207,70 @@ export function UploadProgress({
if (Platform.OS === 'android') { if (Platform.OS === 'android') {
//Create a new asset with the first file to delete. //Create a new asset with the first file to delete.
// console.log('Trying new delete.'); // console.log('Trying new delete.');
try { await MediaLibrary.getPermissionsAsync(false);
await MediaLibrary.getPermissionsAsync(false); // try {
const albumremove = await MediaLibrary.removeAssetsFromAlbumAsync( // const albumremove = await MediaLibrary.removeAssetsFromAlbumAsync(
filesToDelete, // filesToDelete,
filesToDelete[0].albumId // filesToDelete[0].albumId
); // );
Toast.show({ // Toast.show({
type: 'info', // type: 'info',
text1: 'removeAssetsFromAlbumAsync', // text1: 'removeAssetsFromAlbumAsync',
text2: JSON.stringify(albumremove), // text2: JSON.stringify(albumremove),
autoHide: false, // autoHide: false,
}); // });
} catch (error) { // } catch (error) {
console.log("🚀 ~ onDone ~ error:", error) // console.log("🚀 ~ onDone ~ error:", error)
Toast.show({ // Toast.show({
type: 'error', // type: 'error',
text1: 'removeAssetsFromAlbumAsync', // text1: 'removeAssetsFromAlbumAsync',
text2: JSON.stringify(error), // text2: JSON.stringify(error),
autoHide: false, // autoHide: false,
}); // });
} // }
try { // try {
const delres = await MediaLibrary.deleteAssetsAsync( // const delres = await MediaLibrary.deleteAssetsAsync(
filesToDelete.map((f) => f.id) // filesToDelete.map((f) => f.id)
); // );
Toast.show({ // Toast.show({
type: 'info', // type: 'info',
text1: 'deleteAssetsAsync', // text1: 'deleteAssetsAsync',
text2: JSON.stringify(delres), // text2: JSON.stringify(delres),
autoHide: false, // autoHide: false,
}); // });
} catch (error) { // } catch (error) {
console.log("🚀 ~ onDone ~ error:", error) // console.log("🚀 ~ onDone ~ error:", error)
Toast.show({ // Toast.show({
type: 'error', // type: 'error',
text1: 'deleteAssetsAsync', // text1: 'deleteAssetsAsync',
text2: JSON.stringify(error), // text2: JSON.stringify(error),
autoHide: false, // autoHide: false,
}); // });
} // }
try { // try {
const res = Promise.all( // const res = Promise.all(
filesToDelete.map((f) => // filesToDelete.map((f) =>
FileSystem.deleteAsync(f.uri, { idempotent: true }) // FileSystem.deleteAsync(f.uri, { idempotent: true })
) // )
); // );
Toast.show({ // Toast.show({
type: 'info', // type: 'info',
text1: 'FileSystemDelete', // text1: 'FileSystemDelete',
text2: JSON.stringify(res), // text2: JSON.stringify(res),
autoHide: false, // autoHide: false,
}); // });
} catch (error) { // } catch (error) {
console.log("🚀 ~ onDone ~ error:", error) // console.log("🚀 ~ onDone ~ error:", error)
Toast.show({ // Toast.show({
type: 'error', // type: 'error',
text1: 'FileSystemDelete', // text1: 'FileSystemDelete',
text2: JSON.stringify(error), // text2: JSON.stringify(error),
autoHide: false, // autoHide: false,
}); // });
} // }
try { try {
const album = await MediaLibrary.createAlbumAsync( const album = await MediaLibrary.createAlbumAsync(
@@ -288,8 +288,8 @@ export function UploadProgress({
} }
const deleteResult = await MediaLibrary.deleteAlbumsAsync(album); const deleteResult = await MediaLibrary.deleteAlbumsAsync(album);
Toast.show({ Toast.show({
type: 'info', type: 'success',
text1: 'deleteAlbumsAsync', text1: 'Pictures deleted succesfully.',
text2: JSON.stringify(deleteResult), text2: JSON.stringify(deleteResult),
autoHide: false, autoHide: false,
}); });