Allow Folders to be deleted

For safety we're only allowing non-empty folders to be deleted. Ideally,
we should have some kind of undo button. Or some kind of history - since
we do have that with git.

Related to #18
This commit is contained in:
Vishesh Handa
2019-12-11 21:40:44 +01:00
parent 453a6c518d
commit abb6029798
4 changed files with 87 additions and 1 deletions

View File

@ -1,4 +1,5 @@
import 'dart:async';
import 'dart:io';
import 'package:fimber/fimber.dart';
import 'package:flutter/foundation.dart';
@ -86,6 +87,20 @@ class GitNoteRepository {
return NoteRepoResult(noteFilePath: noteFilePath, error: false);
}
Future<NoteRepoResult> removeFolder(String folderPath) async {
var gitDir = p.join(baseDirectory, dirName);
var pathSpec = folderPath.replaceFirst(gitDir, "").substring(1);
await _gitRepo.rm(pathSpec);
await _gitRepo.commit(
message: "Removed Folder " + pathSpec,
);
await Directory(folderPath).delete(recursive: true);
return NoteRepoResult(noteFilePath: folderPath, error: false);
}
Future<NoteRepoResult> resetLastCommit() async {
await _gitRepo.resetLast();
return NoteRepoResult(error: false);