Fixes for cleanItemRequestsForUser

This commit is contained in:
brantje 2016-10-02 18:01:41 +02:00
parent 2978800c43
commit 14c2ec26fb
No known key found for this signature in database
GPG key ID: 5FF1D117F918687F
3 changed files with 22 additions and 13 deletions

View file

@ -194,8 +194,6 @@ class ShareController extends ApiController {
}
public function deleteShareRequest($share_request_id){
echo $share_request_id;
$manager = \OC::$server->getNotificationManager();
$notification = $manager->createNotification();
$notification->setApp('passman')
@ -203,7 +201,9 @@ class ShareController extends ApiController {
->setUser($this->userId->getUID());
$manager->markProcessed($notification);
//@TODO load other requests and delete them by item id.
$this->shareService->deleteShareRequestById($share_request_id);
$sr = $this->shareService->getShareRequestById($share_request_id);
$this->shareService->cleanItemRequestsForUser($sr);
return new JSONResponse(array('result'=> true));
}
}

View file

@ -38,10 +38,9 @@ class ShareRequestMapper extends Mapper {
}
public function cleanItemRequestsForUser($item_id, $target_user_id){
$req = new ShareRequest();
$req->setItemId($item_id);
$req->setTargetUserId($target_user_id);
return $this->delete($req);
$q = "DELETE FROM *PREFIX*" . self::TABLE_NAME . " WHERE item_id = ? AND target_user_id = ?";
$this->execute($q, [$item_id, $target_user_id]);
return $this->execute($q, [$item_id, $target_user_id]);
}
/**
@ -57,4 +56,9 @@ class ShareRequestMapper extends Mapper {
public function deleteShareRequest(ShareRequest $shareRequest){
$this->delete($shareRequest);
}
public function getShareRequestById($id){
$q = "SELECT * FROM *PREFIX*" . self::TABLE_NAME . " WHERE id = ?";
return $this->findEntity($q, [$id]);
}
}

View file

@ -9,6 +9,7 @@
namespace OCA\Passman\Service;
use Icewind\SMB\Share;
use OCA\Passman\Db\CredentialMapper;
use OCA\Passman\Db\ShareRequest;
use OCA\Passman\Db\ShareRequestMapper;
@ -106,13 +107,17 @@ class ShareService {
/**
* Deletes an share reuqest by id
* @param $share_request_id
*
* @param ShareRequest $request
* @return \OCA\Passman\Db\ShareRequest[]
*/
public function deleteShareRequestById($id){
$t = new ShareRequest();
$t->setId($id);
$this->shareRequest->deleteShareRequest($t);
public function cleanItemRequestsForUser(ShareRequest $request){
return $this->shareRequest->cleanItemRequestsForUser($request->getItemId(), $request->getTargetUserId());
}
/**
* Get an share request by id
*/
public function getShareRequestById($id){
return $this->shareRequest->getShareRequestById($id);
}
}