diff --git a/src/Builder/Aggregation.php b/src/Builder/Aggregation.php new file mode 100644 index 000000000..4226e5a3d --- /dev/null +++ b/src/Builder/Aggregation.php @@ -0,0 +1,110 @@ + $expressions */ + public array $expressions; + + /** @param ResolvesToExpression|array|bool|float|int|object|string|null $expressions */ + public function __construct(array|bool|float|int|null|object|string ...$expressions) + { + $this->expressions = $expressions; + } +} diff --git a/src/Builder/Aggregation/EqAggregation.php b/src/Builder/Aggregation/EqAggregation.php new file mode 100644 index 000000000..515bc375f --- /dev/null +++ b/src/Builder/Aggregation/EqAggregation.php @@ -0,0 +1,28 @@ +expression1 = $expression1; + $this->expression2 = $expression2; + } +} diff --git a/src/Builder/Aggregation/FilterAggregation.php b/src/Builder/Aggregation/FilterAggregation.php new file mode 100644 index 000000000..63fd81e62 --- /dev/null +++ b/src/Builder/Aggregation/FilterAggregation.php @@ -0,0 +1,35 @@ +input = $input; + $this->cond = $cond; + $this->as = $as; + $this->limit = $limit; + } +} diff --git a/src/Builder/Aggregation/GtAggregation.php b/src/Builder/Aggregation/GtAggregation.php new file mode 100644 index 000000000..8e8971dda --- /dev/null +++ b/src/Builder/Aggregation/GtAggregation.php @@ -0,0 +1,28 @@ +expression1 = $expression1; + $this->expression2 = $expression2; + } +} diff --git a/src/Builder/Aggregation/LtAggregation.php b/src/Builder/Aggregation/LtAggregation.php new file mode 100644 index 000000000..9e1804911 --- /dev/null +++ b/src/Builder/Aggregation/LtAggregation.php @@ -0,0 +1,28 @@ +expression1 = $expression1; + $this->expression2 = $expression2; + } +} diff --git a/src/Builder/Aggregation/NeAggregation.php b/src/Builder/Aggregation/NeAggregation.php new file mode 100644 index 000000000..77ee0c8cb --- /dev/null +++ b/src/Builder/Aggregation/NeAggregation.php @@ -0,0 +1,28 @@ +expression1 = $expression1; + $this->expression2 = $expression2; + } +} diff --git a/src/Builder/Query.php b/src/Builder/Query.php new file mode 100644 index 000000000..3c3613193 --- /dev/null +++ b/src/Builder/Query.php @@ -0,0 +1,38 @@ + $query */ + public array $query; + + /** @param ResolvesToQueryOperator|array|object $query */ + public function __construct(array|object ...$query) + { + $this->query = $query; + } +} diff --git a/src/Builder/Query/ExprQuery.php b/src/Builder/Query/ExprQuery.php new file mode 100644 index 000000000..b9ff3f4f0 --- /dev/null +++ b/src/Builder/Query/ExprQuery.php @@ -0,0 +1,20 @@ +expression = $expression; + } +} diff --git a/src/Builder/Stage.php b/src/Builder/Stage.php new file mode 100644 index 000000000..6dc5064a9 --- /dev/null +++ b/src/Builder/Stage.php @@ -0,0 +1,46 @@ +limit = $limit; + } +} diff --git a/src/Builder/Stage/MatchStage.php b/src/Builder/Stage/MatchStage.php new file mode 100644 index 000000000..1ac91a812 --- /dev/null +++ b/src/Builder/Stage/MatchStage.php @@ -0,0 +1,21 @@ + $matchExpr */ + public array $matchExpr; + + /** @param ResolvesToMatchExpression|array|object $matchExpr */ + public function __construct(array|object ...$matchExpr) + { + $this->matchExpr = $matchExpr; + } +} diff --git a/src/Builder/Stage/SortStage.php b/src/Builder/Stage/SortStage.php new file mode 100644 index 000000000..2979b99bd --- /dev/null +++ b/src/Builder/Stage/SortStage.php @@ -0,0 +1,20 @@ +sortSpecification = $sortSpecification; + } +}