Save extra query when checking write access

This commit is contained in:
Miroslav Prasil 2018-05-04 13:42:30 +01:00
parent a0796acbc7
commit c4360ee697

View File

@ -183,11 +183,8 @@ impl Cipher {
} }
pub fn is_write_accessible_to_user(&self, user_uuid: &str, conn: &DbConn) -> bool { pub fn is_write_accessible_to_user(&self, user_uuid: &str, conn: &DbConn) -> bool {
match ciphers::table match self.user_uuid {
.filter(ciphers::user_uuid.eq(user_uuid)) Some(ref self_user_uuid) => self_user_uuid == user_uuid, // cipher directly owned by user
.filter(ciphers::uuid.eq(&self.uuid))
.first::<Self>(&**conn).ok() {
Some(_) => true, // cipher directly owned by user
None =>{ None =>{
match self.organization_uuid { match self.organization_uuid {
Some(ref org_uuid) => { Some(ref org_uuid) => {