From 9abf6a7a1b2e5b1db0c924b501f5bfbf1fd100a7 Mon Sep 17 00:00:00 2001 From: Joel Male Date: Wed, 27 May 2026 21:08:10 +1000 Subject: [PATCH] feat: update CartServiceProvider to use CartManager --- src/CartServiceProvider.php | 41 ++++++++----------------------------- 1 file changed, 9 insertions(+), 32 deletions(-) diff --git a/src/CartServiceProvider.php b/src/CartServiceProvider.php index 08facff..b33c24c 100644 --- a/src/CartServiceProvider.php +++ b/src/CartServiceProvider.php @@ -1,22 +1,16 @@ app->runningInConsole()) { $this->publishes([ @@ -25,39 +19,22 @@ public function boot() } } - /** - * Register the service provider. - * - * @return void - */ - public function register() + public function register(): void { $this->mergeConfigFrom(__DIR__ . '/../config/config.php', 'cart'); + $this->app->singleton('cart.manager', fn($app) => new CartManager($app)); + $this->app->singleton('cart', function ($app) { $config = config('cart'); $events = $app['events']; + $driver = $app['cart.manager']->driver(); - $storage = $config['driver'] === 'database' - ? new $config['storage']['database']['model'] - : $app['session']; - - return new Cart( - $storage, - $events, - 'cart', - session()->getId(), - $config - ); + return new Cart($driver, $events, 'cart', $config); }); } - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() + public function provides(): array { return []; }