Browse Source
			
			
			Merge pull request #210 from janost/cipher-save-refactor
			
				Cipher::save() should return QueryResult instead of bool
			
			
				pull/213/head
			
			
		 
		
			
				
					
						
						Daniel García
					
					7 years ago
					
						
							committed by
							
								
								GitHub
							
						 
					
				 
				
			 
		 
		
			
				
					
					No known key found for this signature in database
					
						
							GPG Key ID: 4AEE18F83AFDEB23
						
					
				
			
		
		
		
	
		
			
				 2 changed files with 
12 additions and 
8 deletions
			 
			
		 
		
			
				- 
					
					
					 
					src/api/core/ciphers.rs
				
 
			
				- 
					
					
					 
					src/db/models/cipher.rs
				
 
			
		
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -191,7 +191,10 @@ pub fn update_cipher_from_data(cipher: &mut Cipher, data: CipherData, headers: & | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    cipher.data = type_data.to_string(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    cipher.password_history = data.PasswordHistory.map(|f| f.to_string()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    cipher.save(&conn); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    match cipher.save(&conn) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Ok(()) => (), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Err(_) => println!("Error: Failed to save cipher") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    }; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ws.send_cipher_update(ut, &cipher, &cipher.update_users_revision(&conn)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if cipher.move_to_folder(data.FolderId, &headers.user.uuid, &conn).is_err() { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -626,7 +629,10 @@ fn move_cipher_selected(data: JsonUpcase<Value>, headers: Headers, conn: DbConn, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if cipher.move_to_folder(folder_id.clone(), &headers.user.uuid, &conn).is_err() { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            err!("Error saving the folder information") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        cipher.save(&conn); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        match cipher.save(&conn) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Ok(()) => (), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Err(_) => println!("Error: Failed to save cipher") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ws.send_cipher_update(UpdateType::SyncCipherUpdate, &cipher, &cipher.update_users_revision(&conn)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -151,16 +151,14 @@ impl Cipher { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        user_uuids | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    pub fn save(&mut self, conn: &DbConn) -> bool { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    pub fn save(&mut self, conn: &DbConn) -> QueryResult<()> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        self.update_users_revision(conn); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        self.updated_at = Utc::now().naive_utc(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        match diesel::replace_into(ciphers::table) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        diesel::replace_into(ciphers::table) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .values(&*self) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .execute(&**conn) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Ok(1) => true, // One row inserted
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            _ => false, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .execute(&**conn) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .and(Ok(())) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    pub fn delete(&self, conn: &DbConn) -> QueryResult<()> { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |