%PDF- %PDF-
Direktori : /www/varak.net/nextcloud.varak.net/apps_old/apps/passwords/lib/Db/ |
Current File : //www/varak.net/nextcloud.varak.net/apps_old/apps/passwords/lib/Db/PasswordRevisionMapper.php |
<?php /** * This file is part of the Passwords App * created by Marius David Wieschollek * and licensed under the AGPL. */ namespace OCA\Passwords\Db; use Exception; use OCP\DB\QueryBuilder\IQueryBuilder; /** * Class PasswordRevisionMapper * * @package OCA\Passwords\Db */ class PasswordRevisionMapper extends AbstractRevisionMapper { const TABLE_NAME = 'passwords_password_rv'; const MODEL_TABLE_NAME = 'passwords_password'; /** * @param string $hash * @param string $model * @param string|null $user * * @return bool */ public function hasDuplicates(string $hash, string $model, string $user = null): bool { $sql = $this->getStatement(); $sql->andWhere( $sql->expr()->eq('hash', $sql->createNamedParameter($hash)), $sql->expr()->neq('model', $sql->createNamedParameter($model)) ); if($user !== null) { $sql->andWhere( $sql->expr()->eq('user_id', $sql->createNamedParameter($user)) ); } return count($this->findEntities($sql)) !== 0; } /** * @return PasswordRevision[] * @throws Exception */ public function findAllWithGoodStatus(): array { return $this->findAllByField('status', 2, IQueryBuilder::PARAM_INT, 'neq'); } }