Passed
Push — find-similar ( e73d27...200d3c )
by Matias
04:37
created

RelationMapper::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 2
ccs 0
cts 2
cp 0
crap 2
rs 10
c 1
b 0
f 0
1
<?php
2
/**
3
 * @copyright Copyright (c) 2020, Matias De lellis <[email protected]>
4
 *
5
 * @author Matias De lellis <[email protected]>
6
 *
7
 * @license GNU AGPL version 3 or any later version
8
 *
9
 * This program is free software: you can redistribute it and/or modify
10
 * it under the terms of the GNU Affero General Public License as
11
 * published by the Free Software Foundation, either version 3 of the
12
 * License, or (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU Affero General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU Affero General Public License
20
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 *
22
 */
23
24
namespace OCA\FaceRecognition\Db;
25
26
use OC\DB\QueryBuilder\Literal;
0 ignored issues
show
Bug introduced by
The type OC\DB\QueryBuilder\Literal was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
27
28
use OCP\IDBConnection;
29
use OCP\AppFramework\Db\QBMapper;
30
use OCP\AppFramework\Db\DoesNotExistException;
31
use OCP\DB\QueryBuilder\IQueryBuilder;
32
33
class RelationMapper extends QBMapper {
34
35
	public function __construct(IDBConnection $db) {
36
		parent::__construct($db, 'facerecog_relations', '\OCA\FaceRecognition\Db\Relation');
37
	}
38
39
	public function exists(Relation $relation): bool {
40
		$qb = $this->db->getQueryBuilder();
41
		$query = $qb
42
			->select(['id'])
43
			->from($this->getTableName())
44
			->where($qb->expr()->eq('face1', $qb->createParameter('face1')))
45
			->andWhere($qb->expr()->eq('face2', $qb->createParameter('face2')))
46
			->setParameter('face1', $relation->getFace1())
47
			->setParameter('face2', $relation->getFace2());
48
49
		$resultStatement = $query->execute();
50
		$row = $resultStatement->fetch();
51
		$resultStatement->closeCursor();
52
53
		return ($row !== false);
54
	}
55
56
	/*public function findFromPerson(string $userId, int $personId, int $model, int $state = null): array {
57
		$qb = $this->db->getQueryBuilder();
58
		$qb->select('r.id', 'r.face1', 'r.face1', 'r.state')
59
			->from($this->getTableName(), 'r')
60
			->innerJoin('f', 'facerecog_images' ,'i', $qb->expr()->eq('f.image', 'i.id'))
61
			->innerJoin('f', 'facerecog_images' ,'i', $qb->expr()->eq('f.image', 'i.id'))
62
			->where($qb->expr()->eq('user', $qb->createNamedParameter($userId)))
63
			->andWhere($qb->expr()->eq('person', $qb->createNamedParameter($personId)))
64
			->andWhere($qb->expr()->eq('model', $qb->createNamedParameter($model)));
65
66
		if (!is_null($state)) {
67
			$qb->andWhere($qb->expr()->eq('state', $qb->createNamedParameter($state)));
68
		}
69
70
		$relations = $this->findEntities($qb);
71
72
		return $relations;
73
	}*/
74
75
}