@@ -101,7 +101,7 @@ fn calculate_checksum(filename: &str, data: &[u8]) {
101101}
102102
103103/// Write file to local storage
104- fn write_file_to_local ( filename : String , data : Vec < u8 > , cont_type : String ) -> Result < String , String > {
104+ fn write_file_to_local ( filename : String , data : Vec < u8 > , cont_type : String , owner_email : Option < String > ) -> Result < String , String > {
105105 let file_path = get_storage_file_path ( & filename) ;
106106
107107 // Ensure directory structure exists
@@ -122,11 +122,14 @@ fn write_file_to_local(filename: String, data: Vec<u8>, cont_type: String) -> Re
122122 }
123123 }
124124
125- // Create and write metadata (headers)
125+ // Create and write metadata (headers and owner tag )
126126 let metadata_path = get_metadata_file_path ( & filename) ;
127127 if let Ok ( mut metadata_file) = File :: create ( & metadata_path) {
128- let headers_content = format ! ( "content-type:{}\n " , cont_type) ;
129- let _ = metadata_file. write_all ( headers_content. as_bytes ( ) ) ;
128+ let mut metadata_content = format ! ( "content-type:{}\n " , cont_type) ;
129+ if let Some ( email) = owner_email {
130+ metadata_content. push_str ( & format ! ( "tag-owner:{}\n " , email) ) ;
131+ }
132+ let _ = metadata_file. write_all ( metadata_content. as_bytes ( ) ) ;
130133 }
131134
132135 debug_log ! ( "File written to local storage: {}" , file_path. display( ) ) ;
@@ -266,8 +269,8 @@ fn set_tags_for_local_file(filename: String, user_tags: Vec<(String, String)>) -
266269
267270/// Implement Driver trait for LocalDriver
268271impl super :: Driver for LocalDriver {
269- fn write_file ( & self , filename : String , data : Vec < u8 > , cont_type : String ) -> String {
270- match write_file_to_local ( filename. clone ( ) , data, cont_type) {
272+ fn write_file ( & self , filename : String , data : Vec < u8 > , cont_type : String , owner_email : Option < String > ) -> String {
273+ match write_file_to_local ( filename. clone ( ) , data, cont_type, owner_email ) {
271274 Ok ( _) => filename,
272275 Err ( e) => {
273276 eprintln ! ( "Local storage write error: {}" , e) ;
0 commit comments