From 87f5cd97ab22b17a948eb9af1b49a0b1e777048d Mon Sep 17 00:00:00 2001 From: Keuin Date: Fri, 24 Apr 2020 08:48:13 +0800 Subject: Added /kb delete for deleting an backup (with auto-complete supported). --- .../keuin/kbackupfabric/data/PendingOperation.java | 41 ++++++++++++++++++++++ .../kbackupfabric/data/PendingOperationType.java | 6 ++++ 2 files changed, 47 insertions(+) create mode 100644 src/main/java/com/keuin/kbackupfabric/data/PendingOperation.java create mode 100644 src/main/java/com/keuin/kbackupfabric/data/PendingOperationType.java (limited to 'src/main/java/com/keuin/kbackupfabric/data') diff --git a/src/main/java/com/keuin/kbackupfabric/data/PendingOperation.java b/src/main/java/com/keuin/kbackupfabric/data/PendingOperation.java new file mode 100644 index 0000000..8f7490c --- /dev/null +++ b/src/main/java/com/keuin/kbackupfabric/data/PendingOperation.java @@ -0,0 +1,41 @@ +package com.keuin.kbackupfabric.data; + +public class PendingOperation { + private final PendingOperationType operationType; + private final String backupName; + + public PendingOperation(PendingOperationType operationType, String backupName) { + this.operationType = operationType; + this.backupName = backupName; + } + + public static PendingOperation deleteOperation(String backupName) { + return new PendingOperation(PendingOperationType.DELETE, backupName); + } + + public static PendingOperation restoreOperation(String backupName) { + return new PendingOperation(PendingOperationType.RESTORE_TO, backupName); + } + + public boolean isDelete() { + return operationType == PendingOperationType.DELETE; + } + + public boolean isRestore() { + return operationType == PendingOperationType.RESTORE_TO; + } + + public String getBackupName() { + return backupName; + } + + @Override + public String toString() { + String op = "operation"; + if (isDelete()) + op = "deletion"; + if (isRestore()) + op = "restoration"; + return String.format("%s on backup %s", op, getBackupName()); + } +} diff --git a/src/main/java/com/keuin/kbackupfabric/data/PendingOperationType.java b/src/main/java/com/keuin/kbackupfabric/data/PendingOperationType.java new file mode 100644 index 0000000..f86fc0d --- /dev/null +++ b/src/main/java/com/keuin/kbackupfabric/data/PendingOperationType.java @@ -0,0 +1,6 @@ +package com.keuin.kbackupfabric.data; + +enum PendingOperationType { + RESTORE_TO, + DELETE +} -- cgit v1.2.3