update storage shcema
This commit is contained in:
		@@ -41,11 +41,11 @@ async fn main() {
 | 
			
		||||
        surreal_username: "root",
 | 
			
		||||
        surreal_password: "root",
 | 
			
		||||
        surreal_ns: "test",
 | 
			
		||||
        surreal_db: "b64v1",
 | 
			
		||||
        s3_bucket: "b64v1",
 | 
			
		||||
        surreal_db: "b64v2",
 | 
			
		||||
        s3_bucket: "b64v2",
 | 
			
		||||
        s3_url: "http://localhost:9000",
 | 
			
		||||
        s3_access_key: "8UO76z8wCs9DnpxSbQUY",
 | 
			
		||||
        s3_secret_key: "xwKVMpf2jzgprsdo85Dvo74UmO84y0aRrAUorYY5",
 | 
			
		||||
        s3_access_key: "Eyp21VVclXP8xx49bJ6D",
 | 
			
		||||
        s3_secret_key: "VxqU9hQ2gl7TvHIFzCM74Og6rQUZcpgYpHNUBnVm",
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    // Would probably take these in as parameters from a cli
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										25
									
								
								src/s3.rs
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								src/s3.rs
									
									
									
									
									
								
							@@ -45,10 +45,13 @@ impl S3 {
 | 
			
		||||
 | 
			
		||||
    #[instrument(skip_all)]
 | 
			
		||||
    pub async fn store(&self, data: &str, name: &Url) {
 | 
			
		||||
        if let Some(domain) = name.to_string().split('#').collect::<Vec<&str>>().get(0) {
 | 
			
		||||
        if let Some(domain) = name.domain() {
 | 
			
		||||
 | 
			
		||||
            use base64::prelude::*;
 | 
			
		||||
            // FIXME can still get unsupported characters, _ I think
 | 
			
		||||
            let filename = BASE64_URL_SAFE.encode(domain);
 | 
			
		||||
            let b64_name = BASE64_URL_SAFE.encode(name.path());
 | 
			
		||||
 | 
			
		||||
            let filename = domain.to_owned() + "/" + &b64_name;
 | 
			
		||||
 | 
			
		||||
            trace!("Filename: {filename} from {domain}");
 | 
			
		||||
 | 
			
		||||
@@ -60,22 +63,4 @@ impl S3 {
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    pub async fn _get(&self, name: &Url) -> Option<String> {
 | 
			
		||||
         if let Some(domain) = name.domain() {
 | 
			
		||||
            let filename = domain.to_string() + name.path();
 | 
			
		||||
 | 
			
		||||
            let data = self
 | 
			
		||||
                .client
 | 
			
		||||
                .get_object(&self.bucket_name, &filename)
 | 
			
		||||
                .send()
 | 
			
		||||
                .await
 | 
			
		||||
                .unwrap();
 | 
			
		||||
             
 | 
			
		||||
            if let Ok(segments )= data.content.to_segmented_bytes().await {
 | 
			
		||||
                return Some(segments.to_bytes().iter().map(|c| *c as char).collect::<String>())
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        None
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user