]> git.proxmox.com Git - proxmox-backup.git/commitdiff
api: add DatastoreWithNamespace helper struct
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Thu, 5 May 2022 08:58:26 +0000 (10:58 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 12 May 2022 07:33:50 +0000 (09:33 +0200)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
pbs-api-types/src/datastore.rs

index a6d6f62555be16ef68ac34e96e89469a8985a6c9..6d846ae86f38a71efef81f14f7960f2340a9f0be 100644 (file)
@@ -1054,6 +1054,22 @@ impl fmt::Display for BackupDir {
     }
 }
 
+/// Helper struct for places where sensible formatting of store+NS combo is required
+pub struct DatastoreWithNamespace {
+    pub store: String,
+    pub ns: BackupNamespace,
+}
+
+impl fmt::Display for DatastoreWithNamespace {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        if self.ns.is_root() {
+            write!(f, "{}", self.store)
+        } else {
+            write!(f, "{}/{}", self.store, self.ns)
+        }
+    }
+}
+
 /// Used when both a backup group or a directory can be valid.
 pub enum BackupPart {
     Group(BackupGroup),