From d2e46c17edc1fb2cb6e12f6ff010e6f7145f1b7c Mon Sep 17 00:00:00 2001 From: Rostislav Wolny Date: Wed, 16 Sep 2020 13:06:25 +0200 Subject: [PATCH] Add dummy dynamic segments filters [MAILPOET-3077] --- lib/Entities/DynamicSegmentFilterEntity.php | 7 +++++ .../Exceptions/InvalidFilterException.php | 17 ++++++++++ .../DynamicSegments/Filters/EmailAction.php | 31 +++++++++++++++++++ .../DynamicSegments/Filters/Filter.php | 9 ++++++ .../DynamicSegments/Filters/UserRole.php | 18 +++++++++++ .../Filters/WooCommerceCategory.php | 20 ++++++++++++ .../Filters/WooCommerceProduct.php | 20 ++++++++++++ 7 files changed, 122 insertions(+) create mode 100644 lib/Segments/DynamicSegments/Exceptions/InvalidFilterException.php create mode 100644 lib/Segments/DynamicSegments/Filters/EmailAction.php create mode 100644 lib/Segments/DynamicSegments/Filters/Filter.php create mode 100644 lib/Segments/DynamicSegments/Filters/UserRole.php create mode 100644 lib/Segments/DynamicSegments/Filters/WooCommerceCategory.php create mode 100644 lib/Segments/DynamicSegments/Filters/WooCommerceProduct.php diff --git a/lib/Entities/DynamicSegmentFilterEntity.php b/lib/Entities/DynamicSegmentFilterEntity.php index c5d2ca66a8..3a09bbbcd2 100644 --- a/lib/Entities/DynamicSegmentFilterEntity.php +++ b/lib/Entities/DynamicSegmentFilterEntity.php @@ -50,6 +50,13 @@ class DynamicSegmentFilterEntity { return $this->filterData; } + /** + * @return mixed|null + */ + public function getFilterDataParam(string $name) { + return $this->filterData[$name] ?? null; + } + /** * @return string|null */ diff --git a/lib/Segments/DynamicSegments/Exceptions/InvalidFilterException.php b/lib/Segments/DynamicSegments/Exceptions/InvalidFilterException.php new file mode 100644 index 0000000000..40e2fdaabe --- /dev/null +++ b/lib/Segments/DynamicSegments/Exceptions/InvalidFilterException.php @@ -0,0 +1,17 @@ +action = $action; + $this->newsletterId = $newsletterId; + $this->linkId = $linkId; + } + + public function apply(QueryBuilder $queryBuilder): QueryBuilder { + return $queryBuilder; + } +} diff --git a/lib/Segments/DynamicSegments/Filters/Filter.php b/lib/Segments/DynamicSegments/Filters/Filter.php new file mode 100644 index 0000000000..53e4741175 --- /dev/null +++ b/lib/Segments/DynamicSegments/Filters/Filter.php @@ -0,0 +1,9 @@ +role = $role; + } + + public function apply(QueryBuilder $queryBuilder): QueryBuilder { + return $queryBuilder; + } +} diff --git a/lib/Segments/DynamicSegments/Filters/WooCommerceCategory.php b/lib/Segments/DynamicSegments/Filters/WooCommerceCategory.php new file mode 100644 index 0000000000..1b03972e7e --- /dev/null +++ b/lib/Segments/DynamicSegments/Filters/WooCommerceCategory.php @@ -0,0 +1,20 @@ +categoryId = $categoryId; + } + + public function apply(QueryBuilder $queryBuilder): QueryBuilder { + return $queryBuilder; + } +} diff --git a/lib/Segments/DynamicSegments/Filters/WooCommerceProduct.php b/lib/Segments/DynamicSegments/Filters/WooCommerceProduct.php new file mode 100644 index 0000000000..403dfcbfe4 --- /dev/null +++ b/lib/Segments/DynamicSegments/Filters/WooCommerceProduct.php @@ -0,0 +1,20 @@ +productId = $productId; + } + + public function apply(QueryBuilder $queryBuilder): QueryBuilder { + return $queryBuilder; + } +}