generated from boboko/starter
Initial commit
This commit is contained in:
@@ -0,0 +1,155 @@
|
||||
<?php
|
||||
|
||||
use Lunar\Actions\Carts\GenerateFingerprint;
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Fingerprint Generator
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specify which class should be used when generating a cart fingerprint.
|
||||
|
|
||||
*/
|
||||
'fingerprint_generator' => GenerateFingerprint::class,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication policy
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When a user logs in, by default, Lunar will merge the current (guest) cart
|
||||
| with the users current cart, if they have one.
|
||||
| Available options: 'merge', 'override'
|
||||
|
|
||||
*/
|
||||
'auth_policy' => 'merge',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cart Pipelines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Define which pipelines should be run when performing cart calculations.
|
||||
| The default ones provided should suit most needs, however you are
|
||||
| free to add your own as you see fit.
|
||||
|
|
||||
| Each pipeline class will be run from top to bottom.
|
||||
|
|
||||
*/
|
||||
'pipelines' => [
|
||||
/*
|
||||
* Run these pipelines when the cart is calculating.
|
||||
*/
|
||||
'cart' => [
|
||||
Lunar\Pipelines\Cart\CalculateLines::class,
|
||||
Lunar\Pipelines\Cart\ApplyShipping::class,
|
||||
Lunar\Pipelines\Cart\ApplyDiscounts::class,
|
||||
Lunar\Pipelines\Cart\CalculateTax::class,
|
||||
Lunar\Pipelines\Cart\Calculate::class,
|
||||
],
|
||||
|
||||
/*
|
||||
* Run these pipelines when the cart lines are being calculated.
|
||||
*/
|
||||
'cart_lines' => [
|
||||
Lunar\Pipelines\CartLine\GetUnitPrice::class,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cart Actions
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you can decide what action should be run during a Carts lifecycle.
|
||||
| The default actions should be fine for most cases.
|
||||
|
|
||||
*/
|
||||
'actions' => [
|
||||
'add_to_cart' => Lunar\Actions\Carts\AddOrUpdatePurchasable::class,
|
||||
'get_existing_cart_line' => Lunar\Actions\Carts\GetExistingCartLine::class,
|
||||
'update_cart_line' => Lunar\Actions\Carts\UpdateCartLine::class,
|
||||
'remove_from_cart' => Lunar\Actions\Carts\RemovePurchasable::class,
|
||||
'add_address' => Lunar\Actions\Carts\AddAddress::class,
|
||||
'set_shipping_option' => Lunar\Actions\Carts\SetShippingOption::class,
|
||||
'order_create' => Lunar\Actions\Carts\CreateOrder::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cart Action Validators
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You may wish to provide additional validation when actions executed on
|
||||
| the cart model. The defaults provided should be enough for most cases.
|
||||
|
|
||||
*/
|
||||
'validators' => [
|
||||
|
||||
'add_to_cart' => [
|
||||
Lunar\Validation\CartLine\CartLineQuantity::class,
|
||||
Lunar\Validation\CartLine\CartLineStock::class,
|
||||
],
|
||||
|
||||
'update_cart_line' => [
|
||||
Lunar\Validation\CartLine\CartLineQuantity::class,
|
||||
Lunar\Validation\CartLine\CartLineStock::class,
|
||||
],
|
||||
|
||||
'remove_from_cart' => [],
|
||||
|
||||
'set_shipping_option' => [
|
||||
Lunar\Validation\Cart\ShippingOptionValidator::class,
|
||||
],
|
||||
|
||||
'order_create' => [
|
||||
Lunar\Validation\Cart\ValidateCartForOrderCreation::class,
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default eager loading
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When loading up a cart and doing calculations, there's a few relationships
|
||||
| that are used when it's running. Here you can define which relationships
|
||||
| should be eager loaded when these calculations take place.
|
||||
|
|
||||
*/
|
||||
'eager_load' => [
|
||||
'currency',
|
||||
'lines.purchasable.taxClass',
|
||||
'lines.purchasable.values',
|
||||
'lines.purchasable.product.thumbnail',
|
||||
'lines.purchasable.prices.currency',
|
||||
'lines.purchasable.prices.priceable',
|
||||
'lines.purchasable.product',
|
||||
'lines.cart.currency',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Prune carts
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Should the cart models be pruned to prevent data build up and
|
||||
| some settings controlling how pruning should be determined
|
||||
|
|
||||
*/
|
||||
'prune_tables' => [
|
||||
|
||||
'enabled' => false,
|
||||
|
||||
'pipelines' => [
|
||||
Lunar\Pipelines\CartPrune\PruneAfter::class,
|
||||
Lunar\Pipelines\CartPrune\WithoutOrders::class,
|
||||
Lunar\Pipelines\CartPrune\WhereNotMerged::class,
|
||||
],
|
||||
|
||||
'prune_interval' => 90, // days
|
||||
|
||||
],
|
||||
];
|
||||
Reference in New Issue
Block a user