Add a single query to delete multiple files within a collection

This commit is contained in:
vishnukvmd 2021-09-30 14:58:29 +05:30
parent 98a6d20461
commit 4162df3622

View file

@ -380,8 +380,9 @@ class FilesDB {
return BackedUpFileIDs(localIDs.toList(), uploadedIDs.toList());
}
Future<FileLoadResult> getAllUploadedFiles(int startTime, int endTime,
int ownerID, {int limit, bool asc, int visibility = kVisibilityVisible}) async {
Future<FileLoadResult> getAllUploadedFiles(
int startTime, int endTime, int ownerID,
{int limit, bool asc, int visibility = kVisibilityVisible}) async {
final db = await instance.database;
final order = (asc ?? false ? 'ASC' : 'DESC');
final results = await db.query(
@ -399,7 +400,8 @@ class FilesDB {
return FileLoadResult(deduplicatedFiles, files.length == limit);
}
Future<FileLoadResult> getAllLocalAndUploadedFiles(int startTime, int endTime, int ownerID,
Future<FileLoadResult> getAllLocalAndUploadedFiles(
int startTime, int endTime, int ownerID,
{int limit, bool asc}) async {
final db = await instance.database;
final order = (asc ?? false ? 'ASC' : 'DESC');
@ -778,6 +780,17 @@ class FilesDB {
);
}
Future<int> deleteFilesFromCollection(
int collectionID, List<int> uploadedFileIDs) async {
final db = await instance.database;
return db.delete(
table,
where:
'$columnCollectionID = ? AND $columnUploadedFileID IN (${uploadedFileIDs.join(', ')})',
whereArgs: [collectionID],
);
}
Future<int> deleteCollection(int collectionID) async {
final db = await instance.database;
return db.delete(