Completed
Push — master ( dbecc0...75f541 )
by Marcos
02:07 queued 02:01
created

SharingACLMapper::getCredentialPermissions()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 5
ccs 2
cts 2
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 2
crap 1
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: wolfi
5
 * Date: 24/09/16
6
 * Time: 14:20
7
 * This file is part of passman, licensed under AGPLv3
8
 */
9
10
namespace OCA\Passman\Db;
11
12
13
use OCP\AppFramework\Db\Mapper;
14
use OCP\IDBConnection;
15
use OCP\IUser;
16
use OCA\Passman\Utility\Utils;
17
18
class SharingACLMapper extends Mapper {
19
    const TABLE_NAME = '*PREFIX*passman_sharing_acl';
20
21 1
    public function __construct(IDBConnection $db) {
22 1
        parent::__construct($db, 'passman_sharing_acl');
23 1
    }
24
25
    public function createACLEntry(SharingACL $acl){
26
        return $this->insert($acl);
27
    }
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 1
    public function getVaultEntries($user_id, $vault_guid) {
36 1
        $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE user_id = ? AND vault_guid = ?";
37 1
        return $this->findEntities($q, [$user_id, $vault_guid]);
38
    }
39
40
    /**
41
     * Gets the acl for a given item guid
42
     * @param $user_id
43
     * @param $item_guid
44
     * @return SharingACL
45
     */
46 1
    public function getItemACL($user_id, $item_guid) {
47 1
        $q = "SELECT * FROM " . self::TABLE_NAME . " WHERE item_guid = ? AND ";
48 1
        $filter = [$item_guid];
49 1
        if ($user_id === null){
50
            $q .= 'user_id is null';
51
        }
52
        else {
53 1
            $q .= 'user_id = ? ';
54 1
            $filter[] = $user_id;
55
        }
56 1
        return $this->findEntity($q, $filter);
57
    }
58
59
    /**
60
     * Update the acl for a given item guid
61
     * @param $user_id
62
     * @param $item_guid
63
     * @return SharingACL
64
     */
65 1
    public function updateCredentialACL(SharingACL $sharingACL) {
66 1
        return $this->update($sharingACL);
67
    }
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 1
    public function getCredentialAclList($item_guid) {
76 1
        $q = "SELECT * FROM ". self::TABLE_NAME ." WHERE item_guid = ?";
77 1
        return $this->findEntities($q, [$item_guid]);
78
    }
79
80 1
    public function deleteShareACL(SharingACL $ACL){
81 1
    	return $this->delete($ACL);
82
	}
83
}