@@ -16,81 +16,81 @@ |
||
| 16 | 16 | use OCA\Passman\Utility\Utils; |
| 17 | 17 | |
| 18 | 18 | class SharingACLMapper extends Mapper { |
| 19 | - const TABLE_NAME = '*PREFIX*passman_sharing_acl'; |
|
| 19 | + const TABLE_NAME = '*PREFIX*passman_sharing_acl'; |
|
| 20 | 20 | |
| 21 | - public function __construct(IDBConnection $db, Utils $utils) { |
|
| 22 | - parent::__construct($db, 'passman_sharing_acl'); |
|
| 23 | - $this->utils = $utils; |
|
| 24 | - } |
|
| 21 | + public function __construct(IDBConnection $db, Utils $utils) { |
|
| 22 | + parent::__construct($db, 'passman_sharing_acl'); |
|
| 23 | + $this->utils = $utils; |
|
| 24 | + } |
|
| 25 | 25 | |
| 26 | - /** |
|
| 27 | - * Gets all the credential data for the given user |
|
| 28 | - * @param $userId |
|
| 29 | - * @param $item_guid |
|
| 30 | - * @return SharingACL[] |
|
| 31 | - */ |
|
| 32 | - public function getCredentialPermissions(IUser $userId, $item_guid){ |
|
| 33 | - $sql = "SELECT * FROM ". self::TABLE_NAME ." WHERE user_id = ? AND item_guid = ?"; |
|
| 26 | + /** |
|
| 27 | + * Gets all the credential data for the given user |
|
| 28 | + * @param $userId |
|
| 29 | + * @param $item_guid |
|
| 30 | + * @return SharingACL[] |
|
| 31 | + */ |
|
| 32 | + public function getCredentialPermissions(IUser $userId, $item_guid){ |
|
| 33 | + $sql = "SELECT * FROM ". self::TABLE_NAME ." WHERE user_id = ? AND item_guid = ?"; |
|
| 34 | 34 | |
| 35 | - return $this->findEntities($sql, [$userId, $item_guid]); |
|
| 36 | - } |
|
| 35 | + return $this->findEntities($sql, [$userId, $item_guid]); |
|
| 36 | + } |
|
| 37 | 37 | |
| 38 | - public function createACLEntry(SharingACL $acl){ |
|
| 39 | - return $this->insert($acl); |
|
| 40 | - } |
|
| 38 | + public function createACLEntry(SharingACL $acl){ |
|
| 39 | + return $this->insert($acl); |
|
| 40 | + } |
|
| 41 | 41 | |
| 42 | - /** |
|
| 43 | - * Gets the currently accepted share requests from the given user for the given vault guid |
|
| 44 | - * @param $user_id |
|
| 45 | - * @param $vault_id |
|
| 46 | - * @return SharingACL[] |
|
| 47 | - */ |
|
| 48 | - public function getVaultEntries($user_id, $vault_id) { |
|
| 49 | - $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE user_id = ? AND vault_guid = ?"; |
|
| 50 | - return $this->findEntities($q, [$user_id, $vault_id]); |
|
| 51 | - } |
|
| 42 | + /** |
|
| 43 | + * Gets the currently accepted share requests from the given user for the given vault guid |
|
| 44 | + * @param $user_id |
|
| 45 | + * @param $vault_id |
|
| 46 | + * @return SharingACL[] |
|
| 47 | + */ |
|
| 48 | + public function getVaultEntries($user_id, $vault_id) { |
|
| 49 | + $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE user_id = ? AND vault_guid = ?"; |
|
| 50 | + return $this->findEntities($q, [$user_id, $vault_id]); |
|
| 51 | + } |
|
| 52 | 52 | |
| 53 | - /** |
|
| 54 | - * Gets the acl for a given item guid |
|
| 55 | - * @param $user_id |
|
| 56 | - * @param $item_guid |
|
| 57 | - * @return SharingACL |
|
| 58 | - */ |
|
| 59 | - public function getItemACL($user_id, $item_guid) { |
|
| 60 | - $q = "SELECT * FROM " . self::TABLE_NAME . " WHERE item_guid = ? AND "; |
|
| 61 | - $filter = [$item_guid]; |
|
| 62 | - if ($user_id === null){ |
|
| 63 | - $q .= 'user_id is null'; |
|
| 64 | - } |
|
| 65 | - else { |
|
| 66 | - $q .= 'user_id = ? '; |
|
| 67 | - $filter[] = $user_id; |
|
| 68 | - } |
|
| 69 | - return $this->findEntity($q, $filter); |
|
| 70 | - } |
|
| 53 | + /** |
|
| 54 | + * Gets the acl for a given item guid |
|
| 55 | + * @param $user_id |
|
| 56 | + * @param $item_guid |
|
| 57 | + * @return SharingACL |
|
| 58 | + */ |
|
| 59 | + public function getItemACL($user_id, $item_guid) { |
|
| 60 | + $q = "SELECT * FROM " . self::TABLE_NAME . " WHERE item_guid = ? AND "; |
|
| 61 | + $filter = [$item_guid]; |
|
| 62 | + if ($user_id === null){ |
|
| 63 | + $q .= 'user_id is null'; |
|
| 64 | + } |
|
| 65 | + else { |
|
| 66 | + $q .= 'user_id = ? '; |
|
| 67 | + $filter[] = $user_id; |
|
| 68 | + } |
|
| 69 | + return $this->findEntity($q, $filter); |
|
| 70 | + } |
|
| 71 | 71 | |
| 72 | - /** |
|
| 73 | - * Update the acl for a given item guid |
|
| 74 | - * @param $user_id |
|
| 75 | - * @param $item_guid |
|
| 76 | - * @return SharingACL |
|
| 77 | - */ |
|
| 78 | - public function updateCredentialACL(SharingACL $sharingACL) { |
|
| 79 | - return $this->update($sharingACL); |
|
| 80 | - } |
|
| 72 | + /** |
|
| 73 | + * Update the acl for a given item guid |
|
| 74 | + * @param $user_id |
|
| 75 | + * @param $item_guid |
|
| 76 | + * @return SharingACL |
|
| 77 | + */ |
|
| 78 | + public function updateCredentialACL(SharingACL $sharingACL) { |
|
| 79 | + return $this->update($sharingACL); |
|
| 80 | + } |
|
| 81 | 81 | |
| 82 | - /** |
|
| 83 | - * Gets the currently accepted share requests from the given user for the given vault guid |
|
| 84 | - * @param $user_id |
|
| 85 | - * @param $vault_id |
|
| 86 | - * @return SharingACL[] |
|
| 87 | - */ |
|
| 88 | - public function getCredentialAclList($item_guid) { |
|
| 89 | - $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE item_guid = ?"; |
|
| 90 | - return $this->findEntities($q, [$item_guid]); |
|
| 91 | - } |
|
| 82 | + /** |
|
| 83 | + * Gets the currently accepted share requests from the given user for the given vault guid |
|
| 84 | + * @param $user_id |
|
| 85 | + * @param $vault_id |
|
| 86 | + * @return SharingACL[] |
|
| 87 | + */ |
|
| 88 | + public function getCredentialAclList($item_guid) { |
|
| 89 | + $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE item_guid = ?"; |
|
| 90 | + return $this->findEntities($q, [$item_guid]); |
|
| 91 | + } |
|
| 92 | 92 | |
| 93 | - public function deleteShareACL(SharingACL $ACL){ |
|
| 94 | - return $this->delete($ACL); |
|
| 93 | + public function deleteShareACL(SharingACL $ACL){ |
|
| 94 | + return $this->delete($ACL); |
|
| 95 | 95 | } |
| 96 | 96 | } |
| 97 | 97 | \ No newline at end of file |
@@ -23,11 +23,11 @@ discard block |
||
| 23 | 23 | class CredentialService { |
| 24 | 24 | |
| 25 | 25 | private $credentialMapper; |
| 26 | - private $sharingACL; |
|
| 26 | + private $sharingACL; |
|
| 27 | 27 | |
| 28 | 28 | public function __construct(CredentialMapper $credentialMapper, SharingACLMapper $sharingACL) { |
| 29 | 29 | $this->credentialMapper = $credentialMapper; |
| 30 | - $this->sharingACL = $sharingACL; |
|
| 30 | + $this->sharingACL = $sharingACL; |
|
| 31 | 31 | } |
| 32 | 32 | |
| 33 | 33 | /** |
@@ -65,23 +65,23 @@ discard block |
||
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | public function getCredentialById($credential_id, $user_id){ |
| 68 | - $credential = $this->credentialMapper->getCredentialById($credential_id); |
|
| 69 | - if ($credential->getUserId() === $user_id){ |
|
| 70 | - return $credential; |
|
| 71 | - } |
|
| 72 | - else { |
|
| 73 | - $acl = $this->sharingACL->getItemACL($user_id, $credential->getGuid()); |
|
| 74 | - if ($acl->hasPermission(SharingACL::READ)); |
|
| 75 | - return $credential; |
|
| 76 | - } |
|
| 77 | - |
|
| 78 | - throw new DoesNotExistException("Did expect one result but found none when executing"); |
|
| 68 | + $credential = $this->credentialMapper->getCredentialById($credential_id); |
|
| 69 | + if ($credential->getUserId() === $user_id){ |
|
| 70 | + return $credential; |
|
| 71 | + } |
|
| 72 | + else { |
|
| 73 | + $acl = $this->sharingACL->getItemACL($user_id, $credential->getGuid()); |
|
| 74 | + if ($acl->hasPermission(SharingACL::READ)); |
|
| 75 | + return $credential; |
|
| 76 | + } |
|
| 77 | + |
|
| 78 | + throw new DoesNotExistException("Did expect one result but found none when executing"); |
|
| 79 | 79 | } |
| 80 | 80 | public function getCredentialLabelById($credential_id){ |
| 81 | 81 | return $this->credentialMapper->getCredentialLabelById($credential_id); |
| 82 | 82 | } |
| 83 | 83 | |
| 84 | 84 | public function getCredentialByGUID($credential_guid, $user_id = null){ |
| 85 | - return $this->credentialMapper->getCredentialByGUID($credential_guid, $user_id); |
|
| 86 | - } |
|
| 85 | + return $this->credentialMapper->getCredentialByGUID($credential_guid, $user_id); |
|
| 86 | + } |
|
| 87 | 87 | } |
| 88 | 88 | \ No newline at end of file |
@@ -13,40 +13,40 @@ |
||
| 13 | 13 | use OCP\AppFramework\Db\Entity; |
| 14 | 14 | |
| 15 | 15 | class PermissionEntity extends Entity { |
| 16 | - CONST READ = 0b00000001; |
|
| 17 | - CONST WRITE = 0b00000010; |
|
| 18 | - CONST FILES = 0b00000100; |
|
| 19 | - CONST HISTORY = 0b00001000; |
|
| 20 | - CONST OWNER = 0b10000000; |
|
| 16 | + CONST READ = 0b00000001; |
|
| 17 | + CONST WRITE = 0b00000010; |
|
| 18 | + CONST FILES = 0b00000100; |
|
| 19 | + CONST HISTORY = 0b00001000; |
|
| 20 | + CONST OWNER = 0b10000000; |
|
| 21 | 21 | |
| 22 | - /** |
|
| 23 | - * Checks wether a user matches one or more permissions at once |
|
| 24 | - * @param $permission |
|
| 25 | - * @return bool |
|
| 26 | - */ |
|
| 27 | - public function hasPermission($permission) { |
|
| 28 | - $tmp = $this->getPermissions(); |
|
| 29 | - $tmp = $tmp & $permission; |
|
| 30 | - return $tmp === $permission; |
|
| 31 | - } |
|
| 22 | + /** |
|
| 23 | + * Checks wether a user matches one or more permissions at once |
|
| 24 | + * @param $permission |
|
| 25 | + * @return bool |
|
| 26 | + */ |
|
| 27 | + public function hasPermission($permission) { |
|
| 28 | + $tmp = $this->getPermissions(); |
|
| 29 | + $tmp = $tmp & $permission; |
|
| 30 | + return $tmp === $permission; |
|
| 31 | + } |
|
| 32 | 32 | |
| 33 | - /** |
|
| 34 | - * Adds the given permission or permissions set to the user current permissions |
|
| 35 | - * @param $permission |
|
| 36 | - */ |
|
| 37 | - public function addPermission($permission) { |
|
| 38 | - $tmp = $this->getPermissions(); |
|
| 39 | - $tmp = $tmp | $permission; |
|
| 40 | - $this->setPermissions($tmp); |
|
| 41 | - } |
|
| 33 | + /** |
|
| 34 | + * Adds the given permission or permissions set to the user current permissions |
|
| 35 | + * @param $permission |
|
| 36 | + */ |
|
| 37 | + public function addPermission($permission) { |
|
| 38 | + $tmp = $this->getPermissions(); |
|
| 39 | + $tmp = $tmp | $permission; |
|
| 40 | + $this->setPermissions($tmp); |
|
| 41 | + } |
|
| 42 | 42 | |
| 43 | - /** |
|
| 44 | - * Takes the given permission or permissions out from the user |
|
| 45 | - * @param $permission |
|
| 46 | - */ |
|
| 47 | - public function removePermission($permission) { |
|
| 48 | - $tmp = $this->getPermissions(); |
|
| 49 | - $tmp = $tmp & ~$permission; |
|
| 50 | - $this->setPermissions($tmp); |
|
| 51 | - } |
|
| 43 | + /** |
|
| 44 | + * Takes the given permission or permissions out from the user |
|
| 45 | + * @param $permission |
|
| 46 | + */ |
|
| 47 | + public function removePermission($permission) { |
|
| 48 | + $tmp = $this->getPermissions(); |
|
| 49 | + $tmp = $tmp & ~$permission; |
|
| 50 | + $this->setPermissions($tmp); |
|
| 51 | + } |
|
| 52 | 52 | } |
| 53 | 53 | \ No newline at end of file |