diff --git a/src/Adapter/Ldap.php b/src/Adapter/Ldap.php index f9d72a5..114ccd7 100644 --- a/src/Adapter/Ldap.php +++ b/src/Adapter/Ldap.php @@ -49,7 +49,9 @@ class Ldap implements \Ulmus\Adapter\AdapterInterface { public function __construct( ? string/*|array*/ $host = null, ? string $baseDn = null, + #[\SensitiveParameter] ? string $username = null, + #[\SensitiveParameter] ? string $password = null, ? string $accountSuffix = null ) { diff --git a/src/Entity/Computer.php b/src/Entity/Computer.php index 86d1770..06042ad 100644 --- a/src/Entity/Computer.php +++ b/src/Entity/Computer.php @@ -6,10 +6,11 @@ use Ulmus\Ldap\Entity\Field\{ Datetime }; use Ulmus\Attribute\Property\Field; +use Ulmus\Entity\EntityInterface; use Ulmus\Ldap\Attribute\Obj\ObjectClass; #[ObjectClass("computer")] -class Computer +class Computer implements EntityInterface { use \Ulmus\Ldap\EntityTrait; diff --git a/src/Entity/Group.php b/src/Entity/Group.php index 6059d17..9a1e699 100644 --- a/src/Entity/Group.php +++ b/src/Entity/Group.php @@ -6,13 +6,14 @@ use Ulmus\Ldap\Entity\Field\{ Datetime }; use Ulmus\Attribute\Property\{Field, Filter, Relation, Virtual}; +use Ulmus\Entity\EntityInterface; use Ulmus\EntityCollection; use Ulmus\Ldap\Attribute\Obj\ObjectClass; use Ulmus\Ldap\Repository; use Ulmus\Repository\RepositoryInterface; #[ObjectClass("group")] -class Group +class Group implements EntityInterface { use \Ulmus\Ldap\EntityTrait; diff --git a/src/Entity/GroupMember.php b/src/Entity/GroupMember.php index 27c1aa1..e2e8b5f 100644 --- a/src/Entity/GroupMember.php +++ b/src/Entity/GroupMember.php @@ -6,13 +6,14 @@ use Ulmus\Ldap\Entity\Field\{ Datetime }; use Ulmus\Attribute\Property\{Field, Filter, Relation, Virtual}; +use Ulmus\Entity\EntityInterface; use Ulmus\EntityCollection; use Ulmus\Ldap\Attribute\Obj\ObjectClass; use Ulmus\Ldap\Repository; use Ulmus\Repository\RepositoryInterface; #[ObjectClass("group")] -class GroupMember +class GroupMember implements EntityInterface { use \Ulmus\Ldap\EntityTrait; diff --git a/src/Entity/OrganizationalUnit.php b/src/Entity/OrganizationalUnit.php index 51c498d..29ceffe 100644 --- a/src/Entity/OrganizationalUnit.php +++ b/src/Entity/OrganizationalUnit.php @@ -6,10 +6,11 @@ use Ulmus\Ldap\Entity\Field\{ Datetime }; use Ulmus\Attribute\Property\Field; +use Ulmus\Entity\EntityInterface; use Ulmus\Ldap\Attribute\Obj\ObjectClass; #[ObjectClass("organizationalUnit")] -class OrganizationalUnit +class OrganizationalUnit implements EntityInterface { use \Ulmus\Ldap\EntityTrait; diff --git a/src/Entity/User.php b/src/Entity/User.php index 4d99b1b..901e76f 100644 --- a/src/Entity/User.php +++ b/src/Entity/User.php @@ -6,10 +6,11 @@ use Ulmus\Ldap\Entity\Field\{ Datetime, LdapDatetime }; use Ulmus\Attribute\Property\{Field, Relation\Ignore, Virtual}; +use Ulmus\Entity\EntityInterface; use Ulmus\Ldap\Attribute\Obj\ObjectClass; #[ObjectClass("user")] -class User +class User implements EntityInterface { use \Ulmus\Ldap\EntityTrait; diff --git a/src/QueryBuilder.php b/src/QueryBuilder.php index e5fdc94..218c295 100644 --- a/src/QueryBuilder.php +++ b/src/QueryBuilder.php @@ -276,7 +276,8 @@ class QueryBuilder implements Ulmus\QueryBuilder\QueryBuilderInterface public function __toString() : string { - return $this->render(); + return ""; + # return $this->render(); } public function addParameter($value, string $key = null) : string @@ -298,4 +299,9 @@ class QueryBuilder implements Ulmus\QueryBuilder\QueryBuilderInterface { $this->values = $values; } + + public function hashSerializedQuery(): string + { + return serialize($this->render()); + } } diff --git a/src/Repository.php b/src/Repository.php index f7d641c..a921347 100644 --- a/src/Repository.php +++ b/src/Repository.php @@ -15,10 +15,12 @@ class Repository extends \Ulmus\Repository public array $events = []; + public readonly \Ulmus\QueryBuilder\QueryBuilderInterface $queryBuilder; + public function __construct(string $entity, string $alias = self::DEFAULT_ALIAS, ConnectionAdapter $adapter = null) { + # $this->queryBuilder = new QueryBuilder(); parent::__construct($entity, $alias, $adapter); - $this->queryBuilder = new QueryBuilder(); } public function saveAdd(object|array $entity, ? array $fieldsAndValue = null, bool $replace = false) : bool @@ -189,7 +191,7 @@ class Repository extends \Ulmus\Repository $this->searchRequest = $searchRequest; } - public function execute(EntityCollection $collection) : EntityCollection + public function execute(\Ulmus\Repository\RepositoryInterface $repository, EntityCollection $collection) : EntityCollection { $this->searchRequest->count = $collection->count();