diff --git a/Content/Domain/Repository/ContentRichEntityRepositoryInterface.php b/Content/Domain/Repository/ContentRichEntityRepositoryInterface.php new file mode 100644 index 00000000..bb4363c5 --- /dev/null +++ b/Content/Domain/Repository/ContentRichEntityRepositoryInterface.php @@ -0,0 +1,76 @@ +, + * locale?: string|null, + * stage?: string|null, + * categoryIds?: int[], + * categoryKeys?: string[], + * categoryOperator?: 'AND'|'OR', + * tagIds?: int[], + * tagNames?: string[], + * tagOperator?: 'AND'|'OR', + * templateKeys?: string[], + * loadGhost?: bool, + * } + * + * @phpstan-type ContentRichEntityRepositorySortBys array{ + * title?: 'asc'|'desc', + * authored?: 'asc'|'desc', + * workflowPublished?: 'asc'|'desc', + * } + * + * @phpstan-type ContentRichEntityRepositorySelects array{ + * content_admin?: bool, + * content_website?: bool, + * with-excerpt-tags?: bool, + * with-excerpt-categories?: bool, + * with-excerpt-categories-translation?: bool, + * with-excerpt-image?: bool, + * with-excerpt-image-translation?: bool, + * with-excerpt-icon?: bool, + * with-excerpt-icon-translation?: bool, + * } + */ +interface ContentRichEntityRepositoryInterface +{ + /** + * @param ContentRichEntityRepositoryFilters $filters + * + * @param ContentRichEntityRepositorySortBys $sortBys + * + * @param ContentRichEntityRepositorySelects $selects + * + * @return iterable + */ + public function findBy( + array $filters = [], + array $sortBys = [], + array $selects = [], + ): iterable; + + /** + * @param ContentRichEntityRepositoryFilters $filters + */ + public function countBy( + array $filters = [], + ): int; +}