|  | @ -336,7 +336,7 @@ impl Cipher { | 
			
		
	
		
		
			
				
					|  |  |     } |  |  |     } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     /// Returns whether this cipher is owned by an org in which the user has full access.
 |  |  |     /// Returns whether this cipher is owned by an org in which the user has full access.
 | 
			
		
	
		
		
			
				
					
					|  |  |     pub async fn is_in_full_access_org( |  |  |     async fn is_in_full_access_org( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |         &self, |  |  |         &self, | 
			
		
	
		
		
			
				
					|  |  |         user_uuid: &str, |  |  |         user_uuid: &str, | 
			
		
	
		
		
			
				
					|  |  |         cipher_sync_data: Option<&CipherSyncData>, |  |  |         cipher_sync_data: Option<&CipherSyncData>, | 
			
		
	
	
		
		
			
				
					|  | @ -354,6 +354,23 @@ impl Cipher { | 
			
		
	
		
		
			
				
					|  |  |         false |  |  |         false | 
			
		
	
		
		
			
				
					|  |  |     } |  |  |     } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     /// Returns whether this cipher is owned by an group in which the user has full access.
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     async fn is_in_full_access_group( | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         &self, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         user_uuid: &str, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         cipher_sync_data: Option<&CipherSyncData>, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         conn: &DbConn, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     ) -> bool { | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         match cipher_sync_data { | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             Some(cipher_sync_data) => { | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                 cipher_sync_data.user_groups.iter().any(|group| group.access_all) | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             }, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             None => { | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                 Group::is_in_full_access_group(user_uuid, conn).await | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     /// Returns the user's access restrictions to this cipher. A return value
 |  |  |     /// Returns the user's access restrictions to this cipher. A return value
 | 
			
		
	
		
		
			
				
					|  |  |     /// of None means that this cipher does not belong to the user, and is
 |  |  |     /// of None means that this cipher does not belong to the user, and is
 | 
			
		
	
		
		
			
				
					|  |  |     /// not in any collection the user has access to. Otherwise, the user has
 |  |  |     /// not in any collection the user has access to. Otherwise, the user has
 | 
			
		
	
	
		
		
			
				
					|  | @ -368,7 +385,7 @@ impl Cipher { | 
			
		
	
		
		
			
				
					|  |  |         // Check whether this cipher is directly owned by the user, or is in
 |  |  |         // Check whether this cipher is directly owned by the user, or is in
 | 
			
		
	
		
		
			
				
					|  |  |         // a collection that the user has full access to. If so, there are no
 |  |  |         // a collection that the user has full access to. If so, there are no
 | 
			
		
	
		
		
			
				
					|  |  |         // access restrictions.
 |  |  |         // access restrictions.
 | 
			
		
	
		
		
			
				
					
					|  |  |         if self.is_owned_by_user(user_uuid) || self.is_in_full_access_org(user_uuid, cipher_sync_data, conn).await || Group::is_in_full_access_group(user_uuid, conn).await { |  |  |         if self.is_owned_by_user(user_uuid) || self.is_in_full_access_org(user_uuid, cipher_sync_data, conn).await || self.is_in_full_access_group(user_uuid, cipher_sync_data, conn).await { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             return Some((false, false)); |  |  |             return Some((false, false)); | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | 
 |