summaryrefslogtreecommitdiff
path: root/rola-bucket/src/bucket/space.rs
blob: 353075d4eff9a172a607de9f623fc3f2e71b24c8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// use log::trace;
use shared_constants::common::FILE_BUCKET_ROOT_CONFIG;
use shared_functions::trace;
use space_system::{SpaceRoot, SpaceRootFindPattern};

use crate::{AsyncBucketTransferProtocol, Bucket, bucket::init::init_bucket_at};

impl<Protocol: AsyncBucketTransferProtocol + Send + Sync> SpaceRoot for Bucket<Protocol> {
    fn get_pattern() -> SpaceRootFindPattern {
        SpaceRootFindPattern::IncludeFile(FILE_BUCKET_ROOT_CONFIG.into())
    }

    fn create_space(path: &std::path::Path) -> Result<(), space_system::SpaceError> {
        let path_str = path.display().to_string();
        trace!("Creating bucket at: {}", &path_str);
        init_bucket_at(path.into())?;
        trace!("Bucket created at: {}", &path_str);
        Ok(())
    }
}