@@ -37,58 +37,58 @@  | 
                                                    ||
| 37 | 37 | |
| 38 | 38 |  class ShareRequest extends PermissionEntity implements \JsonSerializable { | 
                                                        
| 39 | 39 | |
| 40 | - protected  | 
                                                        |
| 41 | - $itemId,  | 
                                                        |
| 42 | - $itemGuid,  | 
                                                        |
| 43 | - $targetUserId,  | 
                                                        |
| 44 | - $targetVaultId,  | 
                                                        |
| 45 | - $targetVaultGuid,  | 
                                                        |
| 46 | - $sharedKey,  | 
                                                        |
| 47 | - $permissions,  | 
                                                        |
| 48 | - $created,  | 
                                                        |
| 40 | + protected  | 
                                                        |
| 41 | + $itemId,  | 
                                                        |
| 42 | + $itemGuid,  | 
                                                        |
| 43 | + $targetUserId,  | 
                                                        |
| 44 | + $targetVaultId,  | 
                                                        |
| 45 | + $targetVaultGuid,  | 
                                                        |
| 46 | + $sharedKey,  | 
                                                        |
| 47 | + $permissions,  | 
                                                        |
| 48 | + $created,  | 
                                                        |
| 49 | 49 | $fromUserId;  | 
                                                        
| 50 | 50 | |
| 51 | -    public function __construct() { | 
                                                        |
| 52 | - // add types in constructor  | 
                                                        |
| 53 | -        $this->addType('itemId', 'integer'); | 
                                                        |
| 54 | -        $this->addType('vaultId', 'integer'); | 
                                                        |
| 55 | -        $this->addType('permissions', 'integer'); | 
                                                        |
| 56 | - }  | 
                                                        |
| 51 | +	public function __construct() { | 
                                                        |
| 52 | + // add types in constructor  | 
                                                        |
| 53 | +		$this->addType('itemId', 'integer'); | 
                                                        |
| 54 | +		$this->addType('vaultId', 'integer'); | 
                                                        |
| 55 | +		$this->addType('permissions', 'integer'); | 
                                                        |
| 56 | + }  | 
                                                        |
| 57 | 57 | |
| 58 | - /**  | 
                                                        |
| 59 | - * Specify data which should be serialized to JSON  | 
                                                        |
| 60 | - * @link http://php.net/manual/en/jsonserializable.jsonserialize.php  | 
                                                        |
| 61 | - * @return mixed data which can be serialized by <b>json_encode</b>,  | 
                                                        |
| 62 | - * which is a value of any type other than a resource.  | 
                                                        |
| 63 | - * @since 5.4.0  | 
                                                        |
| 64 | - */  | 
                                                        |
| 65 | - function jsonSerialize()  | 
                                                        |
| 66 | -    { | 
                                                        |
| 67 | - return [  | 
                                                        |
| 68 | - 'req_id' => $this->getId(),  | 
                                                        |
| 69 | - 'item_id' => $this->getItemId(),  | 
                                                        |
| 70 | - 'item_guid' => $this->getItemGuid(),  | 
                                                        |
| 71 | - 'target_user_id' => $this->getTargetUserId(),  | 
                                                        |
| 72 | - 'target_vault_id' => $this->getTargetVaultId(),  | 
                                                        |
| 73 | - 'target_vault_guid' => $this->getTargetVaultGuid(),  | 
                                                        |
| 74 | - 'from_user_id' => $this->getFromUserId(),  | 
                                                        |
| 75 | - 'shared_key' => $this->getSharedKey(),  | 
                                                        |
| 76 | - 'permissions' => $this->getPermissions(),  | 
                                                        |
| 77 | - 'created' => $this->getCreated(),  | 
                                                        |
| 78 | - ];  | 
                                                        |
| 79 | - }  | 
                                                        |
| 58 | + /**  | 
                                                        |
| 59 | + * Specify data which should be serialized to JSON  | 
                                                        |
| 60 | + * @link http://php.net/manual/en/jsonserializable.jsonserialize.php  | 
                                                        |
| 61 | + * @return mixed data which can be serialized by <b>json_encode</b>,  | 
                                                        |
| 62 | + * which is a value of any type other than a resource.  | 
                                                        |
| 63 | + * @since 5.4.0  | 
                                                        |
| 64 | + */  | 
                                                        |
| 65 | + function jsonSerialize()  | 
                                                        |
| 66 | +	{ | 
                                                        |
| 67 | + return [  | 
                                                        |
| 68 | + 'req_id' => $this->getId(),  | 
                                                        |
| 69 | + 'item_id' => $this->getItemId(),  | 
                                                        |
| 70 | + 'item_guid' => $this->getItemGuid(),  | 
                                                        |
| 71 | + 'target_user_id' => $this->getTargetUserId(),  | 
                                                        |
| 72 | + 'target_vault_id' => $this->getTargetVaultId(),  | 
                                                        |
| 73 | + 'target_vault_guid' => $this->getTargetVaultGuid(),  | 
                                                        |
| 74 | + 'from_user_id' => $this->getFromUserId(),  | 
                                                        |
| 75 | + 'shared_key' => $this->getSharedKey(),  | 
                                                        |
| 76 | + 'permissions' => $this->getPermissions(),  | 
                                                        |
| 77 | + 'created' => $this->getCreated(),  | 
                                                        |
| 78 | + ];  | 
                                                        |
| 79 | + }  | 
                                                        |
| 80 | 80 | |
| 81 | -    function asACLJson(){ | 
                                                        |
| 82 | - return [  | 
                                                        |
| 83 | - 'item_id' => $this->getItemId(),  | 
                                                        |
| 84 | - 'item_guid' => $this->getItemGuid(),  | 
                                                        |
| 85 | - 'user_id' => $this->getTargetUserId(),  | 
                                                        |
| 86 | - 'created' => $this->getCreated(),  | 
                                                        |
| 87 | - 'permissions' => $this->getPermissions(),  | 
                                                        |
| 88 | - 'vault_id' => $this->getTargetVaultId(),  | 
                                                        |
| 89 | - 'vault_guid' => $this->getTargetVaultGuid(),  | 
                                                        |
| 90 | - 'shared_key' => $this->getSharedKey(),  | 
                                                        |
| 91 | - 'pending' => true,  | 
                                                        |
| 92 | - ];  | 
                                                        |
| 93 | - }  | 
                                                        |
| 81 | +	function asACLJson(){ | 
                                                        |
| 82 | + return [  | 
                                                        |
| 83 | + 'item_id' => $this->getItemId(),  | 
                                                        |
| 84 | + 'item_guid' => $this->getItemGuid(),  | 
                                                        |
| 85 | + 'user_id' => $this->getTargetUserId(),  | 
                                                        |
| 86 | + 'created' => $this->getCreated(),  | 
                                                        |
| 87 | + 'permissions' => $this->getPermissions(),  | 
                                                        |
| 88 | + 'vault_id' => $this->getTargetVaultId(),  | 
                                                        |
| 89 | + 'vault_guid' => $this->getTargetVaultGuid(),  | 
                                                        |
| 90 | + 'shared_key' => $this->getSharedKey(),  | 
                                                        |
| 91 | + 'pending' => true,  | 
                                                        |
| 92 | + ];  | 
                                                        |
| 93 | + }  | 
                                                        |
| 94 | 94 | }  | 
                                                        
| 95 | 95 | \ No newline at end of file  | 
                                                        
@@ -22,7 +22,7 @@ discard block  | 
                                                    ||
| 22 | 22 | parent::__construct($db, 'passman_sharing_acl');  | 
                                                        
| 23 | 23 | }  | 
                                                        
| 24 | 24 | |
| 25 | -    public function createACLEntry(SharingACL $acl){ | 
                                                        |
| 25 | +    public function createACLEntry(SharingACL $acl) { | 
                                                        |
| 26 | 26 | return $this->insert($acl);  | 
                                                        
| 27 | 27 | }  | 
                                                        
| 28 | 28 | |
@@ -33,7 +33,7 @@ discard block  | 
                                                    ||
| 33 | 33 | * @return SharingACL[]  | 
                                                        
| 34 | 34 | */  | 
                                                        
| 35 | 35 |      public function getVaultEntries($user_id, $vault_id) { | 
                                                        
| 36 | - $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE user_id = ? AND vault_guid = ?";  | 
                                                        |
| 36 | + $q = "SELECT * FROM " . self::TABLE_NAME . " WHERE user_id = ? AND vault_guid = ?";  | 
                                                        |
| 37 | 37 | return $this->findEntities($q, [$user_id, $vault_id]);  | 
                                                        
| 38 | 38 | }  | 
                                                        
| 39 | 39 | |
@@ -46,7 +46,7 @@ discard block  | 
                                                    ||
| 46 | 46 |      public function getItemACL($user_id, $item_guid) { | 
                                                        
| 47 | 47 | $q = "SELECT * FROM " . self::TABLE_NAME . " WHERE item_guid = ? AND ";  | 
                                                        
| 48 | 48 | $filter = [$item_guid];  | 
                                                        
| 49 | -        if ($user_id === null){ | 
                                                        |
| 49 | +        if ($user_id === null) { | 
                                                        |
| 50 | 50 | $q .= 'user_id is null';  | 
                                                        
| 51 | 51 | }  | 
                                                        
| 52 | 52 |          else { | 
                                                        
@@ -73,11 +73,11 @@ discard block  | 
                                                    ||
| 73 | 73 | * @return SharingACL[]  | 
                                                        
| 74 | 74 | */  | 
                                                        
| 75 | 75 |      public function getCredentialAclList($item_guid) { | 
                                                        
| 76 | - $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE item_guid = ?";  | 
                                                        |
| 76 | + $q = "SELECT * FROM " . self::TABLE_NAME . " WHERE item_guid = ?";  | 
                                                        |
| 77 | 77 | return $this->findEntities($q, [$item_guid]);  | 
                                                        
| 78 | 78 | }  | 
                                                        
| 79 | 79 | |
| 80 | -    public function deleteShareACL(SharingACL $ACL){ | 
                                                        |
| 80 | +    public function deleteShareACL(SharingACL $ACL) { | 
                                                        |
| 81 | 81 | return $this->delete($ACL);  | 
                                                        
| 82 | 82 | }  | 
                                                        
| 83 | 83 | }  | 
                                                        
| 84 | 84 | \ No newline at end of file  | 
                                                        
@@ -22,7 +22,7 @@ discard block  | 
                                                    ||
| 22 | 22 | parent::__construct($db, 'passman_sharing_acl');  | 
                                                        
| 23 | 23 | }  | 
                                                        
| 24 | 24 | |
| 25 | -    public function createACLEntry(SharingACL $acl){ | 
                                                        |
| 25 | +    public function createACLEntry(SharingACL $acl) { | 
                                                        |
| 26 | 26 | return $this->insert($acl);  | 
                                                        
| 27 | 27 | }  | 
                                                        
| 28 | 28 | |
@@ -46,10 +46,9 @@ discard block  | 
                                                    ||
| 46 | 46 |      public function getItemACL($user_id, $item_guid) { | 
                                                        
| 47 | 47 | $q = "SELECT * FROM " . self::TABLE_NAME . " WHERE item_guid = ? AND ";  | 
                                                        
| 48 | 48 | $filter = [$item_guid];  | 
                                                        
| 49 | -        if ($user_id === null){ | 
                                                        |
| 49 | +        if ($user_id === null) { | 
                                                        |
| 50 | 50 | $q .= 'user_id is null';  | 
                                                        
| 51 | - }  | 
                                                        |
| 52 | -        else { | 
                                                        |
| 51 | +        } else { | 
                                                        |
| 53 | 52 | $q .= 'user_id = ? ';  | 
                                                        
| 54 | 53 | $filter[] = $user_id;  | 
                                                        
| 55 | 54 | }  | 
                                                        
@@ -77,7 +76,7 @@ discard block  | 
                                                    ||
| 77 | 76 | return $this->findEntities($q, [$item_guid]);  | 
                                                        
| 78 | 77 | }  | 
                                                        
| 79 | 78 | |
| 80 | -    public function deleteShareACL(SharingACL $ACL){ | 
                                                        |
| 79 | +    public function deleteShareACL(SharingACL $ACL) { | 
                                                        |
| 81 | 80 | return $this->delete($ACL);  | 
                                                        
| 82 | 81 | }  | 
                                                        
| 83 | 82 | }  | 
                                                        
| 84 | 83 | \ No newline at end of file  | 
                                                        
@@ -16,68 +16,68 @@  | 
                                                    ||
| 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) { | 
                                                        |
| 22 | - parent::__construct($db, 'passman_sharing_acl');  | 
                                                        |
| 23 | - }  | 
                                                        |
| 21 | +	public function __construct(IDBConnection $db) { | 
                                                        |
| 22 | + parent::__construct($db, 'passman_sharing_acl');  | 
                                                        |
| 23 | + }  | 
                                                        |
| 24 | 24 | |
| 25 | -    public function createACLEntry(SharingACL $acl){ | 
                                                        |
| 26 | - return $this->insert($acl);  | 
                                                        |
| 27 | - }  | 
                                                        |
| 25 | +	public function createACLEntry(SharingACL $acl){ | 
                                                        |
| 26 | + return $this->insert($acl);  | 
                                                        |
| 27 | + }  | 
                                                        |
| 28 | 28 | |
| 29 | - /**  | 
                                                        |
| 30 | - * Gets the currently accepted share requests from the given user for the given vault guid  | 
                                                        |
| 31 | - * @param $user_id  | 
                                                        |
| 32 | - * @param $vault_guid  | 
                                                        |
| 33 | - * @return SharingACL[]  | 
                                                        |
| 34 | - */  | 
                                                        |
| 35 | -    public function getVaultEntries($user_id, $vault_guid) { | 
                                                        |
| 36 | - $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE user_id = ? AND vault_guid = ?";  | 
                                                        |
| 37 | - return $this->findEntities($q, [$user_id, $vault_guid]);  | 
                                                        |
| 38 | - }  | 
                                                        |
| 29 | + /**  | 
                                                        |
| 30 | + * Gets the currently accepted share requests from the given user for the given vault guid  | 
                                                        |
| 31 | + * @param $user_id  | 
                                                        |
| 32 | + * @param $vault_guid  | 
                                                        |
| 33 | + * @return SharingACL[]  | 
                                                        |
| 34 | + */  | 
                                                        |
| 35 | +	public function getVaultEntries($user_id, $vault_guid) { | 
                                                        |
| 36 | + $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE user_id = ? AND vault_guid = ?";  | 
                                                        |
| 37 | + return $this->findEntities($q, [$user_id, $vault_guid]);  | 
                                                        |
| 38 | + }  | 
                                                        |
| 39 | 39 | |
| 40 | - /**  | 
                                                        |
| 41 | - * Gets the acl for a given item guid  | 
                                                        |
| 42 | - * @param $user_id  | 
                                                        |
| 43 | - * @param $item_guid  | 
                                                        |
| 44 | - * @return SharingACL  | 
                                                        |
| 45 | - */  | 
                                                        |
| 46 | -    public function getItemACL($user_id, $item_guid) { | 
                                                        |
| 47 | - $q = "SELECT * FROM " . self::TABLE_NAME . " WHERE item_guid = ? AND ";  | 
                                                        |
| 48 | - $filter = [$item_guid];  | 
                                                        |
| 49 | -        if ($user_id === null){ | 
                                                        |
| 50 | - $q .= 'user_id is null';  | 
                                                        |
| 51 | - }  | 
                                                        |
| 52 | -        else { | 
                                                        |
| 53 | - $q .= 'user_id = ? ';  | 
                                                        |
| 54 | - $filter[] = $user_id;  | 
                                                        |
| 55 | - }  | 
                                                        |
| 56 | - return $this->findEntity($q, $filter);  | 
                                                        |
| 57 | - }  | 
                                                        |
| 40 | + /**  | 
                                                        |
| 41 | + * Gets the acl for a given item guid  | 
                                                        |
| 42 | + * @param $user_id  | 
                                                        |
| 43 | + * @param $item_guid  | 
                                                        |
| 44 | + * @return SharingACL  | 
                                                        |
| 45 | + */  | 
                                                        |
| 46 | +	public function getItemACL($user_id, $item_guid) { | 
                                                        |
| 47 | + $q = "SELECT * FROM " . self::TABLE_NAME . " WHERE item_guid = ? AND ";  | 
                                                        |
| 48 | + $filter = [$item_guid];  | 
                                                        |
| 49 | +		if ($user_id === null){ | 
                                                        |
| 50 | + $q .= 'user_id is null';  | 
                                                        |
| 51 | + }  | 
                                                        |
| 52 | +		else { | 
                                                        |
| 53 | + $q .= 'user_id = ? ';  | 
                                                        |
| 54 | + $filter[] = $user_id;  | 
                                                        |
| 55 | + }  | 
                                                        |
| 56 | + return $this->findEntity($q, $filter);  | 
                                                        |
| 57 | + }  | 
                                                        |
| 58 | 58 | |
| 59 | - /**  | 
                                                        |
| 60 | - * Update the acl for a given item guid  | 
                                                        |
| 61 | - * @param $user_id  | 
                                                        |
| 62 | - * @param $item_guid  | 
                                                        |
| 63 | - * @return SharingACL  | 
                                                        |
| 64 | - */  | 
                                                        |
| 65 | -    public function updateCredentialACL(SharingACL $sharingACL) { | 
                                                        |
| 66 | - return $this->update($sharingACL);  | 
                                                        |
| 67 | - }  | 
                                                        |
| 59 | + /**  | 
                                                        |
| 60 | + * Update the acl for a given item guid  | 
                                                        |
| 61 | + * @param $user_id  | 
                                                        |
| 62 | + * @param $item_guid  | 
                                                        |
| 63 | + * @return SharingACL  | 
                                                        |
| 64 | + */  | 
                                                        |
| 65 | +	public function updateCredentialACL(SharingACL $sharingACL) { | 
                                                        |
| 66 | + return $this->update($sharingACL);  | 
                                                        |
| 67 | + }  | 
                                                        |
| 68 | 68 | |
| 69 | - /**  | 
                                                        |
| 70 | - * Gets the currently accepted share requests from the given user for the given vault guid  | 
                                                        |
| 71 | - * @param $user_id  | 
                                                        |
| 72 | - * @param $vault_id  | 
                                                        |
| 73 | - * @return SharingACL[]  | 
                                                        |
| 74 | - */  | 
                                                        |
| 75 | -    public function getCredentialAclList($item_guid) { | 
                                                        |
| 76 | - $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE item_guid = ?";  | 
                                                        |
| 77 | - return $this->findEntities($q, [$item_guid]);  | 
                                                        |
| 78 | - }  | 
                                                        |
| 69 | + /**  | 
                                                        |
| 70 | + * Gets the currently accepted share requests from the given user for the given vault guid  | 
                                                        |
| 71 | + * @param $user_id  | 
                                                        |
| 72 | + * @param $vault_id  | 
                                                        |
| 73 | + * @return SharingACL[]  | 
                                                        |
| 74 | + */  | 
                                                        |
| 75 | +	public function getCredentialAclList($item_guid) { | 
                                                        |
| 76 | + $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE item_guid = ?";  | 
                                                        |
| 77 | + return $this->findEntities($q, [$item_guid]);  | 
                                                        |
| 78 | + }  | 
                                                        |
| 79 | 79 | |
| 80 | -    public function deleteShareACL(SharingACL $ACL){ | 
                                                        |
| 81 | - return $this->delete($ACL);  | 
                                                        |
| 80 | +	public function deleteShareACL(SharingACL $ACL){ | 
                                                        |
| 81 | + return $this->delete($ACL);  | 
                                                        |
| 82 | 82 | }  | 
                                                        
| 83 | 83 | }  | 
                                                        
| 84 | 84 | \ No newline at end of file  | 
                                                        
@@ -15,119 +15,119 @@  | 
                                                    ||
| 15 | 15 | use OCP\IDBConnection;  | 
                                                        
| 16 | 16 | |
| 17 | 17 |  class ShareRequestMapper extends Mapper { | 
                                                        
| 18 | - const TABLE_NAME = 'passman_share_request';  | 
                                                        |
| 19 | -  | 
                                                        |
| 20 | -    public function __construct(IDBConnection $db) { | 
                                                        |
| 21 | - parent::__construct($db, self::TABLE_NAME);  | 
                                                        |
| 22 | - }  | 
                                                        |
| 23 | -  | 
                                                        |
| 24 | -    public function createRequest(ShareRequest $request){ | 
                                                        |
| 25 | - return $this->insert($request);  | 
                                                        |
| 26 | - }  | 
                                                        |
| 27 | -  | 
                                                        |
| 28 | - /**  | 
                                                        |
| 29 | - * Obtains a request by the given item and vault GUID pair  | 
                                                        |
| 30 | - * @param $item_guid  | 
                                                        |
| 31 | - * @param $target_vault_guid  | 
                                                        |
| 32 | - * @return ShareRequest  | 
                                                        |
| 33 | - */  | 
                                                        |
| 34 | -    public function getRequestByItemAndVaultGuid($item_guid, $target_vault_guid){ | 
                                                        |
| 35 | - $q = "SELECT * FROM *PREFIX*" . self::TABLE_NAME . " WHERE item_guid = ? AND target_vault_guid = ?";  | 
                                                        |
| 36 | - return $this->findEntity($q, [$item_guid, $target_vault_guid]);  | 
                                                        |
| 37 | - }  | 
                                                        |
| 38 | -  | 
                                                        |
| 39 | - /**  | 
                                                        |
| 40 | - * Get shared items for the given item_guid  | 
                                                        |
| 41 | - * @param $item_guid  | 
                                                        |
| 42 | - * @return ShareRequest[]  | 
                                                        |
| 43 | - */  | 
                                                        |
| 44 | -    public function getRequestsByItemGuid($item_guid){ | 
                                                        |
| 45 | -        $this->db->executeQuery("SET sql_mode = '';"); | 
                                                        |
| 46 | - $q = "SELECT *, target_user_id FROM *PREFIX*" . self::TABLE_NAME . " WHERE item_guid = ? GROUP BY target_user_id;";  | 
                                                        |
| 47 | - return $this->findEntities($q, [$item_guid]);  | 
                                                        |
| 48 | - }  | 
                                                        |
| 49 | -  | 
                                                        |
| 50 | - /**  | 
                                                        |
| 51 | - * Deletes all pending requests for the given user to the given item  | 
                                                        |
| 52 | - * @param $item_id The item ID  | 
                                                        |
| 53 | - * @param $target_user_id The target user  | 
                                                        |
| 54 | - * @return \PDOStatement The result of running the db query  | 
                                                        |
| 55 | - */  | 
                                                        |
| 56 | -    public function cleanItemRequestsForUser($item_id, $target_user_id){ | 
                                                        |
| 18 | + const TABLE_NAME = 'passman_share_request';  | 
                                                        |
| 19 | +  | 
                                                        |
| 20 | +	public function __construct(IDBConnection $db) { | 
                                                        |
| 21 | + parent::__construct($db, self::TABLE_NAME);  | 
                                                        |
| 22 | + }  | 
                                                        |
| 23 | +  | 
                                                        |
| 24 | +	public function createRequest(ShareRequest $request){ | 
                                                        |
| 25 | + return $this->insert($request);  | 
                                                        |
| 26 | + }  | 
                                                        |
| 27 | +  | 
                                                        |
| 28 | + /**  | 
                                                        |
| 29 | + * Obtains a request by the given item and vault GUID pair  | 
                                                        |
| 30 | + * @param $item_guid  | 
                                                        |
| 31 | + * @param $target_vault_guid  | 
                                                        |
| 32 | + * @return ShareRequest  | 
                                                        |
| 33 | + */  | 
                                                        |
| 34 | +	public function getRequestByItemAndVaultGuid($item_guid, $target_vault_guid){ | 
                                                        |
| 35 | + $q = "SELECT * FROM *PREFIX*" . self::TABLE_NAME . " WHERE item_guid = ? AND target_vault_guid = ?";  | 
                                                        |
| 36 | + return $this->findEntity($q, [$item_guid, $target_vault_guid]);  | 
                                                        |
| 37 | + }  | 
                                                        |
| 38 | +  | 
                                                        |
| 39 | + /**  | 
                                                        |
| 40 | + * Get shared items for the given item_guid  | 
                                                        |
| 41 | + * @param $item_guid  | 
                                                        |
| 42 | + * @return ShareRequest[]  | 
                                                        |
| 43 | + */  | 
                                                        |
| 44 | +	public function getRequestsByItemGuid($item_guid){ | 
                                                        |
| 45 | +		$this->db->executeQuery("SET sql_mode = '';"); | 
                                                        |
| 46 | + $q = "SELECT *, target_user_id FROM *PREFIX*" . self::TABLE_NAME . " WHERE item_guid = ? GROUP BY target_user_id;";  | 
                                                        |
| 47 | + return $this->findEntities($q, [$item_guid]);  | 
                                                        |
| 48 | + }  | 
                                                        |
| 49 | +  | 
                                                        |
| 50 | + /**  | 
                                                        |
| 51 | + * Deletes all pending requests for the given user to the given item  | 
                                                        |
| 52 | + * @param $item_id The item ID  | 
                                                        |
| 53 | + * @param $target_user_id The target user  | 
                                                        |
| 54 | + * @return \PDOStatement The result of running the db query  | 
                                                        |
| 55 | + */  | 
                                                        |
| 56 | +	public function cleanItemRequestsForUser($item_id, $target_user_id){ | 
                                                        |
| 57 | 57 | $q = "DELETE FROM *PREFIX*" . self::TABLE_NAME . " WHERE item_id = ? AND target_user_id = ?";  | 
                                                        
| 58 | 58 | $this->execute($q, [$item_id, $target_user_id]);  | 
                                                        
| 59 | - return $this->execute($q, [$item_id, $target_user_id]);  | 
                                                        |
| 60 | - }  | 
                                                        |
| 61 | -  | 
                                                        |
| 62 | - /**  | 
                                                        |
| 63 | - * Obtains all pending share requests for the given user ID  | 
                                                        |
| 64 | - * @param $user_id  | 
                                                        |
| 65 | - * @return ShareRequest[]  | 
                                                        |
| 66 | - */  | 
                                                        |
| 67 | -    public function getUserPendingRequests($user_id){ | 
                                                        |
| 68 | - $q = "SELECT * FROM *PREFIX*". self::TABLE_NAME ." WHERE target_user_id = ?";  | 
                                                        |
| 69 | - return $this->findEntities($q, [$user_id]);  | 
                                                        |
| 70 | - }  | 
                                                        |
| 71 | -  | 
                                                        |
| 72 | - /**  | 
                                                        |
| 73 | - * Deletes the given share request  | 
                                                        |
| 74 | - * @param ShareRequest $shareRequest Request to delete  | 
                                                        |
| 75 | - * @return ShareRequest The deleted request  | 
                                                        |
| 76 | - */  | 
                                                        |
| 77 | -    public function deleteShareRequest(ShareRequest $shareRequest){ | 
                                                        |
| 78 | - return $this->delete($shareRequest);  | 
                                                        |
| 59 | + return $this->execute($q, [$item_id, $target_user_id]);  | 
                                                        |
| 60 | + }  | 
                                                        |
| 61 | +  | 
                                                        |
| 62 | + /**  | 
                                                        |
| 63 | + * Obtains all pending share requests for the given user ID  | 
                                                        |
| 64 | + * @param $user_id  | 
                                                        |
| 65 | + * @return ShareRequest[]  | 
                                                        |
| 66 | + */  | 
                                                        |
| 67 | +	public function getUserPendingRequests($user_id){ | 
                                                        |
| 68 | + $q = "SELECT * FROM *PREFIX*". self::TABLE_NAME ." WHERE target_user_id = ?";  | 
                                                        |
| 69 | + return $this->findEntities($q, [$user_id]);  | 
                                                        |
| 79 | 70 | }  | 
                                                        
| 80 | 71 | |
| 81 | - /**  | 
                                                        |
| 82 | - * Gets a share request by it's unique incremental id  | 
                                                        |
| 83 | - * @param $id  | 
                                                        |
| 84 | - * @return ShareRequest  | 
                                                        |
| 85 | - */  | 
                                                        |
| 72 | + /**  | 
                                                        |
| 73 | + * Deletes the given share request  | 
                                                        |
| 74 | + * @param ShareRequest $shareRequest Request to delete  | 
                                                        |
| 75 | + * @return ShareRequest The deleted request  | 
                                                        |
| 76 | + */  | 
                                                        |
| 77 | +	public function deleteShareRequest(ShareRequest $shareRequest){ | 
                                                        |
| 78 | + return $this->delete($shareRequest);  | 
                                                        |
| 79 | + }  | 
                                                        |
| 80 | +  | 
                                                        |
| 81 | + /**  | 
                                                        |
| 82 | + * Gets a share request by it's unique incremental id  | 
                                                        |
| 83 | + * @param $id  | 
                                                        |
| 84 | + * @return ShareRequest  | 
                                                        |
| 85 | + */  | 
                                                        |
| 86 | 86 |  	public function getShareRequestById($id){ | 
                                                        
| 87 | 87 | $q = "SELECT * FROM *PREFIX*" . self::TABLE_NAME . " WHERE id = ?";  | 
                                                        
| 88 | 88 | return $this->findEntity($q, [$id]);  | 
                                                        
| 89 | 89 | }  | 
                                                        
| 90 | 90 | |
| 91 | - /**  | 
                                                        |
| 92 | - * Gets all share requests by a given item GUID  | 
                                                        |
| 93 | - * @param $item_guid  | 
                                                        |
| 94 | - * @return ShareRequest[]  | 
                                                        |
| 95 | - */  | 
                                                        |
| 91 | + /**  | 
                                                        |
| 92 | + * Gets all share requests by a given item GUID  | 
                                                        |
| 93 | + * @param $item_guid  | 
                                                        |
| 94 | + * @return ShareRequest[]  | 
                                                        |
| 95 | + */  | 
                                                        |
| 96 | 96 |  	public function getShareRequestsByItemGuid($item_guid){ | 
                                                        
| 97 | 97 | $q = "SELECT * FROM *PREFIX*" . self::TABLE_NAME . " WHERE item_guid = ?";  | 
                                                        
| 98 | 98 | return $this->findEntities($q, [$item_guid]);  | 
                                                        
| 99 | 99 | }  | 
                                                        
| 100 | 100 | |
| 101 | - /**  | 
                                                        |
| 102 | - * Updates the given share request,  | 
                                                        |
| 103 | - * @param ShareRequest $shareRequest  | 
                                                        |
| 104 | - * @return ShareRequest  | 
                                                        |
| 105 | - */  | 
                                                        |
| 101 | + /**  | 
                                                        |
| 102 | + * Updates the given share request,  | 
                                                        |
| 103 | + * @param ShareRequest $shareRequest  | 
                                                        |
| 104 | + * @return ShareRequest  | 
                                                        |
| 105 | + */  | 
                                                        |
| 106 | 106 |  	public function updateShareRequest(ShareRequest $shareRequest){ | 
                                                        
| 107 | 107 | return $this->update($shareRequest);  | 
                                                        
| 108 | 108 | }  | 
                                                        
| 109 | 109 | |
| 110 | - /**  | 
                                                        |
| 111 | - * Finds pending requests sent to the given user to the given item.  | 
                                                        |
| 112 | - * @param $item_guid  | 
                                                        |
| 113 | - * @param $user_id  | 
                                                        |
| 114 | - * @return ShareRequest[]  | 
                                                        |
| 115 | - */  | 
                                                        |
| 110 | + /**  | 
                                                        |
| 111 | + * Finds pending requests sent to the given user to the given item.  | 
                                                        |
| 112 | + * @param $item_guid  | 
                                                        |
| 113 | + * @param $user_id  | 
                                                        |
| 114 | + * @return ShareRequest[]  | 
                                                        |
| 115 | + */  | 
                                                        |
| 116 | 116 |  	public function getPendingShareRequests($item_guid, $user_id){ | 
                                                        
| 117 | 117 | $q = "SELECT * FROM *PREFIX*" . self::TABLE_NAME . " WHERE item_guid = ? and target_user_id= ?";  | 
                                                        
| 118 | 118 | return $this->findEntities($q, [$item_guid, $user_id]);  | 
                                                        
| 119 | 119 | }  | 
                                                        
| 120 | 120 | |
| 121 | - /**  | 
                                                        |
| 122 | - * Updates all pending requests with the given permissions  | 
                                                        |
| 123 | - * @param $item_guid The item for which to update the requests  | 
                                                        |
| 124 | - * @param $user_id The user for which to update the requests  | 
                                                        |
| 125 | - * @param $permissions The new permissions to apply  | 
                                                        |
| 126 | - * @return \PDOStatement The result of the operation  | 
                                                        |
| 127 | - */  | 
                                                        |
| 121 | + /**  | 
                                                        |
| 122 | + * Updates all pending requests with the given permissions  | 
                                                        |
| 123 | + * @param $item_guid The item for which to update the requests  | 
                                                        |
| 124 | + * @param $user_id The user for which to update the requests  | 
                                                        |
| 125 | + * @param $permissions The new permissions to apply  | 
                                                        |
| 126 | + * @return \PDOStatement The result of the operation  | 
                                                        |
| 127 | + */  | 
                                                        |
| 128 | 128 |  	public function updatePendinRequestPermissions($item_guid, $user_id, $permissions){ | 
                                                        
| 129 | - $q = "UPDATE *PREFIX*" . self::TABLE_NAME . " SET permissions = ? WHERE item_guid = ? AND target_user_id = ?";  | 
                                                        |
| 130 | - return $this->execute($q, [$permissions, $item_guid, $user_id]);  | 
                                                        |
| 131 | - }  | 
                                                        |
| 129 | + $q = "UPDATE *PREFIX*" . self::TABLE_NAME . " SET permissions = ? WHERE item_guid = ? AND target_user_id = ?";  | 
                                                        |
| 130 | + return $this->execute($q, [$permissions, $item_guid, $user_id]);  | 
                                                        |
| 131 | + }  | 
                                                        |
| 132 | 132 | |
| 133 | 133 | }  | 
                                                        
| 134 | 134 | \ No newline at end of file  |