summaryrefslogtreecommitdiff
path: root/rola-cli/src/res
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-19 01:40:38 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-19 01:40:38 +0800
commit1e9c97c21f8a4e55420712b054895ff8b4f9a849 (patch)
treec6bd37889deb54c024f974f368a9a7d654cad822 /rola-cli/src/res
parente078163c7cdbbf226c18d3e3afa7268a2878e18b (diff)
feat(rola-bucket): add bucket bind managementHEADmaster
Implement bucket bind CRUD operations and config loading, along with CLI integration for listing, setting, and removing bucket bindings.
Diffstat (limited to 'rola-cli/src/res')
-rw-r--r--rola-cli/src/res/bucket.rs25
-rw-r--r--rola-cli/src/res/overwrite.rs9
2 files changed, 34 insertions, 0 deletions
diff --git a/rola-cli/src/res/bucket.rs b/rola-cli/src/res/bucket.rs
new file mode 100644
index 0000000..16b8fc9
--- /dev/null
+++ b/rola-cli/src/res/bucket.rs
@@ -0,0 +1,25 @@
+use std::env::current_dir;
+
+use rorolala::bucket::{Bucket, NoProtocol};
+use space_system::Space;
+
+/// A resource holding a local filesystem bucket without a protocol.
+///
+/// This struct wraps a [`Space<Bucket<NoProtocol>>`] that provides access to a
+/// local filesystem bucket. It automatically initializes the bucket's current
+/// directory from the [`ResCurrentDir`] resource injected into [`ThisProgram`].
+#[derive(Clone)]
+pub struct ResBucketWithoutProtocol {
+ /// The space containing the protocol-less local bucket.
+ pub space: Space<Bucket<NoProtocol>>,
+}
+
+impl Default for ResBucketWithoutProtocol {
+ fn default() -> Self {
+ let current_dir = current_dir().unwrap();
+ let mut space = Space::new(Bucket::<NoProtocol>::new_local());
+ space.set_current_dir(current_dir).unwrap();
+
+ Self { space }
+ }
+}
diff --git a/rola-cli/src/res/overwrite.rs b/rola-cli/src/res/overwrite.rs
new file mode 100644
index 0000000..cef0932
--- /dev/null
+++ b/rola-cli/src/res/overwrite.rs
@@ -0,0 +1,9 @@
+/// A flag indicating whether to overwrite existing resources.
+///
+/// This struct encapsulates a boolean value that indicates whether to overwrite
+/// existing files or data during resource processing.
+#[derive(Debug, Default, Clone)]
+pub struct ResOverwrite {
+ /// Boolean flag, `true` means overwrite is allowed, `false` means it is not.
+ pub overwrite: bool,
+}