Skip to content

Commit 42694f2

Browse files
authored
Merge pull request #37 from dystcz/feat/remove-lunar-pipeline-overrides
Feat: Remove lunar pipeline overrides
2 parents 6ed04af + 538a0ec commit 42694f2

File tree

8 files changed

+42
-60
lines changed

8 files changed

+42
-60
lines changed

.github/workflows/static-analysis.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
php: [8.2, 8.3, 8.4]
15+
php: [8.3, 8.4]
1616
laravel: [11, 12]
1717

1818
name: "PHP ${{ matrix.php }} - L${{ matrix.laravel }}"

.github/workflows/tests.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
strategy:
1111
fail-fast: false
1212
matrix:
13-
php: [8.2, 8.3, 8.4]
13+
php: [8.3, 8.4]
1414
laravel: [11, 12]
1515
testsuite:
1616
- api

packages/api/src/ApiServiceProvider.php

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -189,41 +189,6 @@ protected function setPaymentOptionsConfig(): void
189189
);
190190
}
191191

192-
// // NOTE: Workaround
193-
// // Swap calculate lines pipeline
194-
// $calculateLinesIndex = array_search(\Lunar\Pipelines\Cart\CalculateLines::class, $cartPipelines);
195-
// if (array_key_exists($calculateLinesIndex, $cartPipelines)) {
196-
// $cartPipelines[$calculateLinesIndex] = \Dystore\Api\Domain\Carts\Pipelines\CalculateLines::class;
197-
// }
198-
//
199-
// // NOTE: Workaround
200-
// // Swap apply shipping pipeline
201-
// $applyShippingIndex = array_search(\Lunar\Pipelines\Cart\ApplyShipping::class, $cartPipelines);
202-
// if (array_key_exists($applyShippingIndex, $cartPipelines)) {
203-
// $cartPipelines[$applyShippingIndex] = \Dystore\Api\Domain\Carts\Pipelines\ApplyShipping::class;
204-
// }
205-
//
206-
// // NOTE: Workaround
207-
// // Swap apply discounts pipeline
208-
// $applyDiscountsIndex = array_search(\Lunar\Pipelines\Cart\ApplyDiscounts::class, $cartPipelines);
209-
// if (array_key_exists($applyDiscountsIndex, $cartPipelines)) {
210-
// $cartPipelines[$applyDiscountsIndex] = \Dystore\Api\Domain\Carts\Pipelines\ApplyDiscounts::class;
211-
// }
212-
//
213-
// // NOTE: Workaround
214-
// // Swap calculate tax pipeline
215-
// $calculateTaxIndex = array_search(\Lunar\Pipelines\Cart\CalculateTax::class, $cartPipelines);
216-
// if (array_key_exists($calculateTaxIndex, $cartPipelines)) {
217-
// $cartPipelines[$calculateTaxIndex] = \Dystore\Api\Domain\Carts\Pipelines\CalculateTax::class;
218-
// }
219-
//
220-
// // NOTE: Workaround
221-
// // Swap calculate pipeline
222-
// $calculateIndex = array_search(\Lunar\Pipelines\Cart\Calculate::class, $cartPipelines);
223-
// if (array_key_exists($calculateIndex, $cartPipelines)) {
224-
// $cartPipelines[$calculateIndex] = \Dystore\Api\Domain\Carts\Pipelines\Calculate::class;
225-
// }
226-
227192
Config::set('lunar.cart.pipelines.cart', $cartPipelines);
228193

229194
Config::set(
@@ -263,27 +228,6 @@ protected function setPaymentOptionsConfig(): void
263228
array_slice($orderPipelines, $createShippingLineIndex + 1),
264229
);
265230
}
266-
//
267-
// // NOTE: Workaround
268-
// // Swap create order lines pipeline
269-
// $createOrderLinesIndex = array_search(\Lunar\Pipelines\Order\Creation\CreateOrderLines::class, $orderPipelines);
270-
// if (array_key_exists($createOrderLinesIndex, $orderPipelines)) {
271-
// $orderPipelines[$createOrderLinesIndex] = \Dystore\Api\Domain\Orders\Pipelines\CreateOrderLines::class;
272-
// }
273-
//
274-
// // NOTE: Workaround
275-
// // Swap create order addresses pipeline
276-
// $createOrderAddressesIndex = array_search(\Lunar\Pipelines\Order\Creation\CreateOrderAddresses::class, $orderPipelines);
277-
// if (array_key_exists($createOrderAddressesIndex, $orderPipelines)) {
278-
// $orderPipelines[$createOrderAddressesIndex] = \Dystore\Api\Domain\Orders\Pipelines\CreateOrderAddresses::class;
279-
// }
280-
//
281-
// // NOTE: Workaround
282-
// // Swap create shipping line pipeline
283-
// $createShippingLineIndex = array_search(\Lunar\Pipelines\Order\Creation\CreateShippingLine::class, $orderPipelines);
284-
// if (array_key_exists($createShippingLineIndex, $orderPipelines)) {
285-
// $orderPipelines[$createShippingLineIndex] = \Dystore\Api\Domain\Orders\Pipelines\CreateShippingLine::class;
286-
// }
287231

288232
// Swap clean up order lines pipeline
289233
$cleanupOrderLinesIndex = array_search(\Lunar\Pipelines\Order\Creation\CleanUpOrderLines::class, $orderPipelines);
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Dystore\Api\Domain\ProductVariants\Builders;
4+
5+
use Illuminate\Database\Eloquent\Builder;
6+
use Illuminate\Database\Eloquent\Model;
7+
8+
/**
9+
* @extends Builder<Model>
10+
*/
11+
class ProductVariantBuilder extends Builder
12+
{
13+
//
14+
}

packages/api/src/Domain/ProductVariants/Concerns/InteractsWithDystoreApi.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use Dystore\Api\Base\Traits\InteractsWithAvailability;
77
use Dystore\Api\Domain\Attributes\Traits\InteractsWithAttributes;
88
use Dystore\Api\Domain\Products\Models\Product;
9+
use Dystore\Api\Domain\ProductVariants\Builders\ProductVariantBuilder;
910
use Dystore\Api\Domain\ProductVariants\Factories\ProductVariantFactory;
1011
use Dystore\Api\Domain\ProductVariants\Models\ProductVariantMedia;
1112
use Dystore\Api\Hashids\Traits\HashesRouteKey;
@@ -38,6 +39,16 @@ protected static function newFactory(): ProductVariantFactory
3839
return ProductVariantFactory::new();
3940
}
4041

42+
/**
43+
* Create a new Eloquent query builder for the model.
44+
*
45+
* @param \Illuminate\Database\Query\Builder $query
46+
*/
47+
public function newEloquentBuilder($query): ProductVariantBuilder
48+
{
49+
return new ProductVariantBuilder($query);
50+
}
51+
4152
/**
4253
* Determine when model is considered to be preorderable.
4354
*/

packages/api/src/Domain/ProductVariants/Models/ProductVariant.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,31 @@
44

55
use Dystore\Api\Base\Contracts\HasAvailability;
66
use Dystore\Api\Base\Contracts\Translatable;
7+
use Dystore\Api\Domain\ProductVariants\Builders\ProductVariantBuilder;
78
use Dystore\Api\Domain\ProductVariants\Concerns\InteractsWithDystoreApi;
89
use Dystore\Api\Domain\ProductVariants\Contracts\ProductVariant as ProductVariantContract;
10+
use Illuminate\Database\Eloquent\Relations\HasMany;
11+
use Illuminate\Database\Eloquent\Relations\HasOneThrough;
912
use Illuminate\Database\Eloquent\Relations\MorphMany;
13+
use Illuminate\Database\Eloquent\Relations\MorphOne;
1014
use Illuminate\Support\Collection;
1115
use Lunar\Models\ProductVariant as LunarPoductVariant;
1216
use Spatie\MediaLibrary\HasMedia;
1317
use Spatie\MediaLibrary\MediaCollections\Models\Media;
1418

1519
/**
20+
* @method static ProductVariantBuilder query()
21+
* @method bool isPreorderable() Determine when model is considered to be preorderable.
1622
* @method MorphMany notifications() Get the notifications relation if `dystore-product-notifications` package is installed.
1723
* @method Media|null getThumbnail() Get either variant thumbnail or fallback to product thumbnail.
1824
* @method Collection getImages() Get either variant images or fallback to product images.
25+
* @method HasOneThrough thumbnail() Get the thumbnail relation.
26+
* @method MorphOne lowestPrice() Get the lowest price relation.
27+
* @method MorphOne highestPrice() Get the highest price relation.
28+
* @method HasMany otherVariants() Get the other variants relation.
29+
*
30+
* @param string|null $approximateInStockQuantity
31+
* @param int $inStockQuantity
1932
*/
2033
class ProductVariant extends LunarPoductVariant implements HasAvailability, HasMedia, ProductVariantContract, Translatable
2134
{

packages/api/src/Domain/Products/Concerns/InteractsWithDystoreApi.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@ protected static function newFactory(): ProductFactory
2727
* Create a new Eloquent query builder for the model.
2828
*
2929
* @param \Illuminate\Database\Query\Builder $query
30-
* @return ProductBuilder|static
3130
*/
32-
public function newEloquentBuilder($query): Builder
31+
public function newEloquentBuilder($query): ProductBuilder
3332
{
3433
return new ProductBuilder($query);
3534
}

packages/api/src/Domain/Products/Models/Product.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
/**
1717
* @method static ProductBuilder query()
18+
* @method static ProductBuilder published()
1819
* @method MorphToMany attributes() Get the mapped attributes relation.
1920
* @method HasManyThrough prices() Get prices relation through variants.
2021
* @method HasManyThrough basePrices() Get base prices relation through variants.

0 commit comments

Comments
 (0)