├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .php-cs-fixer.dist.php ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── composer.json ├── phpunit.xml ├── psalm.xml ├── src ├── Bridge │ ├── ApiPlatform │ │ ├── Extension │ │ │ ├── FilterExtension.php │ │ │ ├── QueryCollectionExtensionInterface.php │ │ │ └── SortExtension.php │ │ ├── Filter │ │ │ └── FilterDescriptor.php │ │ ├── Metadata │ │ │ └── FilterMetadataFactory.php │ │ └── State │ │ │ ├── CollectionProvider.php │ │ │ ├── DataPaginator.php │ │ │ ├── ItemProvider.php │ │ │ ├── Paginator.php │ │ │ ├── PartialPaginator.php │ │ │ ├── Processor.php │ │ │ └── Provider.php │ ├── Automapper │ │ └── ESQLMapper.php │ ├── Doctrine │ │ ├── ClassInfoTrait.php │ │ └── ESQL.php │ └── Symfony │ │ ├── Bundle │ │ ├── DependencyInjection │ │ │ ├── Compiler │ │ │ │ └── PropertyInfoCompilerPass.php │ │ │ ├── Configuration.php │ │ │ └── ESQLExtension.php │ │ ├── ESQLBundle.php │ │ └── Resources │ │ │ └── config │ │ │ ├── api-platform.php │ │ │ └── services.php │ │ └── Serializer │ │ └── ESQLMapper.php ├── ESQL.php ├── ESQLAlias.php ├── ESQLAliasInterface.php ├── ESQLInterface.php ├── ESQLMapper.php ├── ESQLMapperInterface.php ├── Exception │ ├── InvalidArgumentException.php │ └── RuntimeException.php └── Filter │ ├── FilterParser.php │ └── FilterParserInterface.php └── tests ├── Api ├── AbstractTest.php ├── CTETest.php ├── CollectionTest.php ├── FilterExtensionTest.php ├── ItemTest.php └── SortExtensionTest.php ├── Doctrine └── ESQLTest.php ├── Filter ├── FilterDescriptorTest.php └── FilterParserTest.php ├── Fixtures ├── TestBundle │ ├── AutoMapper │ │ ├── MonetaryAmountTransformer.php │ │ └── MonetaryAmountTransformerFactory.php │ ├── Entity │ │ ├── Car.php │ │ ├── Category.php │ │ ├── Model.php │ │ └── Product.php │ ├── Extension │ │ └── CategoryFilterExtension.php │ ├── Faker │ │ └── Provider │ │ │ └── CarProvider.php │ ├── Model │ │ ├── CarStatistics.php │ │ └── MonetaryAmount.php │ ├── Query │ │ └── CategoriesTrait.php │ ├── State │ │ ├── ProductProvider.php │ │ └── StatisticsProvider.php │ └── TestBundle.php └── app │ ├── AppKernel.php │ ├── bootstrap.php │ ├── config │ ├── config.yml │ ├── config_postgres.yml │ ├── config_sqlite.yml │ ├── config_sqlsrv.yml │ └── routing.yml │ ├── console │ ├── fixtures │ ├── cars.yaml │ └── products.yaml │ └── index.php ├── Mapper └── ESQLMapperTest.php └── allowed.json /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/.gitignore -------------------------------------------------------------------------------- /.php-cs-fixer.dist.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/.php-cs-fixer.dist.php -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/README.md -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/composer.json -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/phpunit.xml -------------------------------------------------------------------------------- /psalm.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/psalm.xml -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/Extension/FilterExtension.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/Extension/FilterExtension.php -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/Extension/QueryCollectionExtensionInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/Extension/QueryCollectionExtensionInterface.php -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/Extension/SortExtension.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/Extension/SortExtension.php -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/Filter/FilterDescriptor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/Filter/FilterDescriptor.php -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/Metadata/FilterMetadataFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/Metadata/FilterMetadataFactory.php -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/State/CollectionProvider.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/State/CollectionProvider.php -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/State/DataPaginator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/State/DataPaginator.php -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/State/ItemProvider.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/State/ItemProvider.php -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/State/Paginator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/State/Paginator.php -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/State/PartialPaginator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/State/PartialPaginator.php -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/State/Processor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/State/Processor.php -------------------------------------------------------------------------------- /src/Bridge/ApiPlatform/State/Provider.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/ApiPlatform/State/Provider.php -------------------------------------------------------------------------------- /src/Bridge/Automapper/ESQLMapper.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/Automapper/ESQLMapper.php -------------------------------------------------------------------------------- /src/Bridge/Doctrine/ClassInfoTrait.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/Doctrine/ClassInfoTrait.php -------------------------------------------------------------------------------- /src/Bridge/Doctrine/ESQL.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/Doctrine/ESQL.php -------------------------------------------------------------------------------- /src/Bridge/Symfony/Bundle/DependencyInjection/Compiler/PropertyInfoCompilerPass.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/Symfony/Bundle/DependencyInjection/Compiler/PropertyInfoCompilerPass.php -------------------------------------------------------------------------------- /src/Bridge/Symfony/Bundle/DependencyInjection/Configuration.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/Symfony/Bundle/DependencyInjection/Configuration.php -------------------------------------------------------------------------------- /src/Bridge/Symfony/Bundle/DependencyInjection/ESQLExtension.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/Symfony/Bundle/DependencyInjection/ESQLExtension.php -------------------------------------------------------------------------------- /src/Bridge/Symfony/Bundle/ESQLBundle.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/Symfony/Bundle/ESQLBundle.php -------------------------------------------------------------------------------- /src/Bridge/Symfony/Bundle/Resources/config/api-platform.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/Symfony/Bundle/Resources/config/api-platform.php -------------------------------------------------------------------------------- /src/Bridge/Symfony/Bundle/Resources/config/services.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/Symfony/Bundle/Resources/config/services.php -------------------------------------------------------------------------------- /src/Bridge/Symfony/Serializer/ESQLMapper.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Bridge/Symfony/Serializer/ESQLMapper.php -------------------------------------------------------------------------------- /src/ESQL.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/ESQL.php -------------------------------------------------------------------------------- /src/ESQLAlias.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/ESQLAlias.php -------------------------------------------------------------------------------- /src/ESQLAliasInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/ESQLAliasInterface.php -------------------------------------------------------------------------------- /src/ESQLInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/ESQLInterface.php -------------------------------------------------------------------------------- /src/ESQLMapper.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/ESQLMapper.php -------------------------------------------------------------------------------- /src/ESQLMapperInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/ESQLMapperInterface.php -------------------------------------------------------------------------------- /src/Exception/InvalidArgumentException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Exception/InvalidArgumentException.php -------------------------------------------------------------------------------- /src/Exception/RuntimeException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Exception/RuntimeException.php -------------------------------------------------------------------------------- /src/Filter/FilterParser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Filter/FilterParser.php -------------------------------------------------------------------------------- /src/Filter/FilterParserInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/src/Filter/FilterParserInterface.php -------------------------------------------------------------------------------- /tests/Api/AbstractTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Api/AbstractTest.php -------------------------------------------------------------------------------- /tests/Api/CTETest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Api/CTETest.php -------------------------------------------------------------------------------- /tests/Api/CollectionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Api/CollectionTest.php -------------------------------------------------------------------------------- /tests/Api/FilterExtensionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Api/FilterExtensionTest.php -------------------------------------------------------------------------------- /tests/Api/ItemTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Api/ItemTest.php -------------------------------------------------------------------------------- /tests/Api/SortExtensionTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Api/SortExtensionTest.php -------------------------------------------------------------------------------- /tests/Doctrine/ESQLTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Doctrine/ESQLTest.php -------------------------------------------------------------------------------- /tests/Filter/FilterDescriptorTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Filter/FilterDescriptorTest.php -------------------------------------------------------------------------------- /tests/Filter/FilterParserTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Filter/FilterParserTest.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/AutoMapper/MonetaryAmountTransformer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/AutoMapper/MonetaryAmountTransformer.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/AutoMapper/MonetaryAmountTransformerFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/AutoMapper/MonetaryAmountTransformerFactory.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/Entity/Car.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/Entity/Car.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/Entity/Category.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/Entity/Category.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/Entity/Model.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/Entity/Model.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/Entity/Product.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/Entity/Product.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/Extension/CategoryFilterExtension.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/Extension/CategoryFilterExtension.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/Faker/Provider/CarProvider.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/Faker/Provider/CarProvider.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/Model/CarStatistics.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/Model/CarStatistics.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/Model/MonetaryAmount.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/Model/MonetaryAmount.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/Query/CategoriesTrait.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/Query/CategoriesTrait.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/State/ProductProvider.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/State/ProductProvider.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/State/StatisticsProvider.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/State/StatisticsProvider.php -------------------------------------------------------------------------------- /tests/Fixtures/TestBundle/TestBundle.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/TestBundle/TestBundle.php -------------------------------------------------------------------------------- /tests/Fixtures/app/AppKernel.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/app/AppKernel.php -------------------------------------------------------------------------------- /tests/Fixtures/app/bootstrap.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/app/bootstrap.php -------------------------------------------------------------------------------- /tests/Fixtures/app/config/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/app/config/config.yml -------------------------------------------------------------------------------- /tests/Fixtures/app/config/config_postgres.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/app/config/config_postgres.yml -------------------------------------------------------------------------------- /tests/Fixtures/app/config/config_sqlite.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/app/config/config_sqlite.yml -------------------------------------------------------------------------------- /tests/Fixtures/app/config/config_sqlsrv.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/app/config/config_sqlsrv.yml -------------------------------------------------------------------------------- /tests/Fixtures/app/config/routing.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/app/config/routing.yml -------------------------------------------------------------------------------- /tests/Fixtures/app/console: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/app/console -------------------------------------------------------------------------------- /tests/Fixtures/app/fixtures/cars.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/app/fixtures/cars.yaml -------------------------------------------------------------------------------- /tests/Fixtures/app/fixtures/products.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/app/fixtures/products.yaml -------------------------------------------------------------------------------- /tests/Fixtures/app/index.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Fixtures/app/index.php -------------------------------------------------------------------------------- /tests/Mapper/ESQLMapperTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/Mapper/ESQLMapperTest.php -------------------------------------------------------------------------------- /tests/allowed.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soyuka/esql/HEAD/tests/allowed.json --------------------------------------------------------------------------------