diff --git a/config/services.yaml b/config/services.yaml index e5da3063..c74aa033 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -47,16 +47,16 @@ services: Doctrine\ORM\Query\Expr: ~ # Needed for SetContent from bolt/core - Bolt\Storage\Query\Query: + Bolt\Storage\Query: calls: - method: addScope - arguments: [ 'frontend', '@Bolt\Storage\Query\FrontendQueryScope' ] - Bolt\Storage\Query\ContentQueryParser: + arguments: [ 'frontend', '@Bolt\Storage\FrontendQueryScope' ] + Bolt\Storage\ContentQueryParser: calls: - method: addService - arguments: [ 'select', '@Bolt\Storage\Query\SelectQuery' ] + arguments: [ 'select', '@Bolt\Storage\SelectQuery' ] Bolt\Doctrine\TablePrefix: arguments: [ "%bolt.table_prefix%" ] diff --git a/src/Storage/Query/ContentQueryInterface.php b/src/Storage/ContentQueryInterface.php similarity index 93% rename from src/Storage/Query/ContentQueryInterface.php rename to src/Storage/ContentQueryInterface.php index b10f951f..b7c70e7b 100644 --- a/src/Storage/Query/ContentQueryInterface.php +++ b/src/Storage/ContentQueryInterface.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Bolt\Storage\Query; +namespace Bolt\Storage; interface ContentQueryInterface extends QueryInterface { diff --git a/src/Storage/Query/ContentQueryParser.php b/src/Storage/ContentQueryParser.php similarity index 94% rename from src/Storage/Query/ContentQueryParser.php rename to src/Storage/ContentQueryParser.php index 54f96203..eea6743b 100644 --- a/src/Storage/Query/ContentQueryParser.php +++ b/src/Storage/ContentQueryParser.php @@ -2,24 +2,24 @@ declare(strict_types=1); -namespace Bolt\Storage\Query; +namespace Bolt\Storage; use Bolt\Entity\Content; use Bolt\Events\QueryEvent; use Bolt\Events\QueryEvents; use Bolt\Repository\ContentRepository; -use Bolt\Storage\Query\Directive\GetQueryDirective; -use Bolt\Storage\Query\Directive\HydrateDirective; -use Bolt\Storage\Query\Directive\LimitDirective; -use Bolt\Storage\Query\Directive\OffsetDirective; -use Bolt\Storage\Query\Directive\OrderDirective; -use Bolt\Storage\Query\Directive\PagingDirective; -use Bolt\Storage\Query\Directive\PrintQueryDirective; -use Bolt\Storage\Query\Directive\ReturnSingleDirective; -use Bolt\Storage\Query\Handler\FirstQueryHandler; -use Bolt\Storage\Query\Handler\IdentifiedSelectHandler; -use Bolt\Storage\Query\Handler\LatestQueryHandler; -use Bolt\Storage\Query\Handler\SelectQueryHandler; +use Bolt\Storage\Directive\GetQueryDirective; +use Bolt\Storage\Directive\HydrateDirective; +use Bolt\Storage\Directive\LimitDirective; +use Bolt\Storage\Directive\OffsetDirective; +use Bolt\Storage\Directive\OrderDirective; +use Bolt\Storage\Directive\PagingDirective; +use Bolt\Storage\Directive\PrintQueryDirective; +use Bolt\Storage\Directive\ReturnSingleDirective; +use Bolt\Storage\Handler\FirstQueryHandler; +use Bolt\Storage\Handler\IdentifiedSelectHandler; +use Bolt\Storage\Handler\LatestQueryHandler; +use Bolt\Storage\Handler\SelectQueryHandler; /** * Handler class to convert the DSL for content queries into an diff --git a/src/Storage/Query/Directive/GetQueryDirective.php b/src/Storage/Directive/GetQueryDirective.php similarity index 75% rename from src/Storage/Query/Directive/GetQueryDirective.php rename to src/Storage/Directive/GetQueryDirective.php index 21e54f82..c1d83f5b 100644 --- a/src/Storage/Query/Directive/GetQueryDirective.php +++ b/src/Storage/Directive/GetQueryDirective.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Directive; +namespace Bolt\Storage\Directive; -use Bolt\Storage\Query\QueryInterface; +use Bolt\Storage\QueryInterface; /** * Directive that allows running of a callback on query. diff --git a/src/Storage/Query/Directive/HydrateDirective.php b/src/Storage/Directive/HydrateDirective.php similarity index 77% rename from src/Storage/Query/Directive/HydrateDirective.php rename to src/Storage/Directive/HydrateDirective.php index 65a2185a..4a967da2 100644 --- a/src/Storage/Query/Directive/HydrateDirective.php +++ b/src/Storage/Directive/HydrateDirective.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Directive; +namespace Bolt\Storage\Directive; -use Bolt\Storage\Query\QueryInterface; +use Bolt\Storage\QueryInterface; /** * Directive to add a limit modifier to the query. diff --git a/src/Storage/Query/Directive/LimitDirective.php b/src/Storage/Directive/LimitDirective.php similarity index 76% rename from src/Storage/Query/Directive/LimitDirective.php rename to src/Storage/Directive/LimitDirective.php index db44c62c..6c990ae4 100644 --- a/src/Storage/Query/Directive/LimitDirective.php +++ b/src/Storage/Directive/LimitDirective.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Directive; +namespace Bolt\Storage\Directive; -use Bolt\Storage\Query\QueryInterface; +use Bolt\Storage\QueryInterface; /** * Directive to add a limit modifier to the query. diff --git a/src/Storage/Query/Directive/OffsetDirective.php b/src/Storage/Directive/OffsetDirective.php similarity index 81% rename from src/Storage/Query/Directive/OffsetDirective.php rename to src/Storage/Directive/OffsetDirective.php index 68af7c24..6bb1379c 100644 --- a/src/Storage/Query/Directive/OffsetDirective.php +++ b/src/Storage/Directive/OffsetDirective.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Directive; +namespace Bolt\Storage\Directive; -use Bolt\Storage\Query\SelectQuery; +use Bolt\Storage\SelectQuery; /** * Directive to add a limit modifier to the query. diff --git a/src/Storage/Query/Directive/OrderDirective.php b/src/Storage/Directive/OrderDirective.php similarity index 96% rename from src/Storage/Query/Directive/OrderDirective.php rename to src/Storage/Directive/OrderDirective.php index d24afec7..bcf3f582 100644 --- a/src/Storage/Query/Directive/OrderDirective.php +++ b/src/Storage/Directive/OrderDirective.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Directive; +namespace Bolt\Storage\Directive; -use Bolt\Storage\Query\QueryInterface; +use Bolt\Storage\QueryInterface; /** * Directive to alter query based on 'order' parameter. diff --git a/src/Storage/Query/Directive/PagingDirective.php b/src/Storage/Directive/PagingDirective.php similarity index 77% rename from src/Storage/Query/Directive/PagingDirective.php rename to src/Storage/Directive/PagingDirective.php index 3262dea1..d1fc2ad8 100644 --- a/src/Storage/Query/Directive/PagingDirective.php +++ b/src/Storage/Directive/PagingDirective.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Directive; +namespace Bolt\Storage\Directive; -use Bolt\Storage\Query\QueryInterface; +use Bolt\Storage\QueryInterface; /** * Directive to add a limit modifier to the query. diff --git a/src/Storage/Query/Directive/PrintQueryDirective.php b/src/Storage/Directive/PrintQueryDirective.php similarity index 73% rename from src/Storage/Query/Directive/PrintQueryDirective.php rename to src/Storage/Directive/PrintQueryDirective.php index e599bcdb..18bc3274 100644 --- a/src/Storage/Query/Directive/PrintQueryDirective.php +++ b/src/Storage/Directive/PrintQueryDirective.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Directive; +namespace Bolt\Storage\Directive; -use Bolt\Storage\Query\QueryInterface; +use Bolt\Storage\QueryInterface; /** * Directive a raw output of the generated query. diff --git a/src/Storage/Query/Directive/ReturnSingleDirective.php b/src/Storage/Directive/ReturnSingleDirective.php similarity index 77% rename from src/Storage/Query/Directive/ReturnSingleDirective.php rename to src/Storage/Directive/ReturnSingleDirective.php index db41069c..ecc3fb2f 100644 --- a/src/Storage/Query/Directive/ReturnSingleDirective.php +++ b/src/Storage/Directive/ReturnSingleDirective.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Directive; +namespace Bolt\Storage\Directive; -use Bolt\Storage\Query\QueryInterface; -use Bolt\Storage\Query\SelectQuery; +use Bolt\Storage\QueryInterface; +use Bolt\Storage\SelectQuery; /** * Directive to specify that a single object, rather than an array should be returned. diff --git a/src/Storage/Query/Filter.php b/src/Storage/Filter.php similarity index 98% rename from src/Storage/Query/Filter.php rename to src/Storage/Filter.php index 4501305f..d67b2a62 100644 --- a/src/Storage/Query/Filter.php +++ b/src/Storage/Filter.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Bolt\Storage\Query; +namespace Bolt\Storage; use Doctrine\ORM\Query\Expr\Composite; diff --git a/src/Storage/Query/FrontendQueryScope.php b/src/Storage/FrontendQueryScope.php similarity index 96% rename from src/Storage/Query/FrontendQueryScope.php rename to src/Storage/FrontendQueryScope.php index 416c37b9..5713200e 100644 --- a/src/Storage/Query/FrontendQueryScope.php +++ b/src/Storage/FrontendQueryScope.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Bolt\Storage\Query; +namespace Bolt\Storage; use Bolt\Configuration\Config; use Bolt\Enum\Statuses; -use Bolt\Storage\Query\Directive\OrderDirective; +use Bolt\Storage\Directive\OrderDirective; /** * This class takes an overall config array as input and parses into values diff --git a/src/Storage/Query/Handler/FirstQueryHandler.php b/src/Storage/Handler/FirstQueryHandler.php similarity index 76% rename from src/Storage/Query/Handler/FirstQueryHandler.php rename to src/Storage/Handler/FirstQueryHandler.php index 4441dc07..91d2d526 100644 --- a/src/Storage/Query/Handler/FirstQueryHandler.php +++ b/src/Storage/Handler/FirstQueryHandler.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Handler; +namespace Bolt\Storage\Handler; -use Bolt\Storage\Query\ContentQueryParser; -use Bolt\Storage\Query\QueryResultset; +use Bolt\Storage\ContentQueryParser; +use Bolt\Storage\QueryResultset; /** * Handler to modify query based on activation of 'first' modifier. diff --git a/src/Storage/Query/Handler/IdentifiedSelectHandler.php b/src/Storage/Handler/IdentifiedSelectHandler.php similarity index 90% rename from src/Storage/Query/Handler/IdentifiedSelectHandler.php rename to src/Storage/Handler/IdentifiedSelectHandler.php index 08865df2..68bd9c17 100644 --- a/src/Storage/Query/Handler/IdentifiedSelectHandler.php +++ b/src/Storage/Handler/IdentifiedSelectHandler.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Handler; +namespace Bolt\Storage\Handler; use Bolt\Entity\Content; -use Bolt\Storage\Query\ContentQueryParser; +use Bolt\Storage\ContentQueryParser; /** * Handler to fetch a single record if an identifier is set in the query. diff --git a/src/Storage/Query/Handler/LatestQueryHandler.php b/src/Storage/Handler/LatestQueryHandler.php similarity index 76% rename from src/Storage/Query/Handler/LatestQueryHandler.php rename to src/Storage/Handler/LatestQueryHandler.php index d4492e64..18de9e04 100644 --- a/src/Storage/Query/Handler/LatestQueryHandler.php +++ b/src/Storage/Handler/LatestQueryHandler.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Handler; +namespace Bolt\Storage\Handler; -use Bolt\Storage\Query\ContentQueryParser; -use Bolt\Storage\Query\QueryResultset; +use Bolt\Storage\ContentQueryParser; +use Bolt\Storage\QueryResultset; /** * Handler to modify query based on activation of 'latest' modifier. diff --git a/src/Storage/Query/Handler/SelectQueryHandler.php b/src/Storage/Handler/SelectQueryHandler.php similarity index 92% rename from src/Storage/Query/Handler/SelectQueryHandler.php rename to src/Storage/Handler/SelectQueryHandler.php index b4a4a95d..1379a837 100644 --- a/src/Storage/Query/Handler/SelectQueryHandler.php +++ b/src/Storage/Handler/SelectQueryHandler.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Bolt\Storage\Query\Handler; +namespace Bolt\Storage\Handler; use Bolt\Entity\Content; -use Bolt\Storage\Query\ContentQueryParser; -use Bolt\Storage\Query\QueryResultset; -use Bolt\Storage\Query\SelectQuery; +use Bolt\Storage\ContentQueryParser; +use Bolt\Storage\QueryResultset; +use Bolt\Storage\SelectQuery; /** * Handler class to perform select query and return a resultset. diff --git a/src/Storage/Query/Query.php b/src/Storage/Query.php similarity index 98% rename from src/Storage/Query/Query.php rename to src/Storage/Query.php index d943b0f3..e12bf6ea 100644 --- a/src/Storage/Query/Query.php +++ b/src/Storage/Query.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Bolt\Storage\Query; +namespace Bolt\Storage; use Bolt\Entity\Content; diff --git a/src/Storage/Query/QueryInterface.php b/src/Storage/QueryInterface.php similarity index 95% rename from src/Storage/Query/QueryInterface.php rename to src/Storage/QueryInterface.php index 449afaac..46f62af9 100644 --- a/src/Storage/Query/QueryInterface.php +++ b/src/Storage/QueryInterface.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Bolt\Storage\Query; +namespace Bolt\Storage; use Doctrine\ORM\QueryBuilder; diff --git a/src/Storage/Query/QueryParameterParser.php b/src/Storage/QueryParameterParser.php similarity index 99% rename from src/Storage/Query/QueryParameterParser.php rename to src/Storage/QueryParameterParser.php index b7994570..9dc6dc87 100644 --- a/src/Storage/Query/QueryParameterParser.php +++ b/src/Storage/QueryParameterParser.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Bolt\Storage\Query; +namespace Bolt\Storage; use Doctrine\ORM\Query\Expr; @@ -313,7 +313,7 @@ class QueryParameterParser * of the Queue along with the built in defaults. * * Note: the callback should either return nothing or an instance of - * \Bolt\Storage\Query\Filter + * \Bolt\Storage\Filter */ public function addFilterHandler(callable $handler): void { diff --git a/src/Storage/Query/QueryResultset.php b/src/Storage/QueryResultset.php similarity index 98% rename from src/Storage/Query/QueryResultset.php rename to src/Storage/QueryResultset.php index 99cd3f81..2ee1728b 100644 --- a/src/Storage/Query/QueryResultset.php +++ b/src/Storage/QueryResultset.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Bolt\Storage\Query; +namespace Bolt\Storage; use AppendIterator; use ArrayIterator; diff --git a/src/Storage/Query/QueryScopeInterface.php b/src/Storage/QueryScopeInterface.php similarity index 91% rename from src/Storage/Query/QueryScopeInterface.php rename to src/Storage/QueryScopeInterface.php index 3ab64c2e..9fdc4755 100644 --- a/src/Storage/Query/QueryScopeInterface.php +++ b/src/Storage/QueryScopeInterface.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Bolt\Storage\Query; +namespace Bolt\Storage; /** * Interface QueryScopeInterface diff --git a/src/Storage/Query/SelectQuery.php b/src/Storage/SelectQuery.php similarity index 99% rename from src/Storage/Query/SelectQuery.php rename to src/Storage/SelectQuery.php index a1b78fd0..1a18ef36 100644 --- a/src/Storage/Query/SelectQuery.php +++ b/src/Storage/SelectQuery.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Bolt\Storage\Query; +namespace Bolt\Storage; use Bolt\Common\Json; use Doctrine\DBAL\Platforms\MariaDb1027Platform; @@ -28,18 +28,25 @@ class SelectQuery implements ContentQueryInterface { /** @var QueryBuilder */ protected $qb; + /** @var QueryParameterParser */ protected $parser; + /** @var string */ protected $contentType; + /** @var array */ protected $params = []; + /** @var Filter[] */ protected $filters = []; + /** @var array */ protected $replacements = []; + /** @var bool */ protected $singleFetchMode = false; + /** @var array */ protected $coreFields = [ 'id', @@ -49,12 +56,15 @@ class SelectQuery implements ContentQueryInterface 'depublishedAt', 'status', ]; + /** @var array */ protected $referenceFields = [ 'author', ]; + /** @var array */ private $referenceJoins = []; + /** @var array */ private $fieldJoins = []; diff --git a/src/Twig/SetcontentExtension.php b/src/Twig/SetcontentExtension.php index 29e7a2a5..a403cda3 100644 --- a/src/Twig/SetcontentExtension.php +++ b/src/Twig/SetcontentExtension.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Bolt\Twig; -use Bolt\Storage\Query\Query; +use Bolt\Storage\Query; use Bolt\Twig\TokenParser\SetcontentTokenParser; use Twig\Extension\AbstractExtension;