From 2e3265e5680bd645f5ba222f83244b2aec0af823 Mon Sep 17 00:00:00 2001 From: yisroel Date: Wed, 6 May 2026 15:18:06 +0300 Subject: [PATCH] wire repository and utility bindings AppServiceProvider binds Clock -> SystemClock, TokenGenerator -> RandomTokenGenerator, PasswordHasher -> BcryptPasswordHasher. new RepositoryServiceProvider binds UserRepository -> EloquentUserRepository, SessionRepository -> EloquentSessionRepository. bootstrap/providers.php registers both. verified container resolves: app(Clock::class) returns SystemClock. migrations create users + sessions tables with proper unique/foreign-key/index constraints (sqlite roundtrip confirmed). --- backend/app/Providers/AppServiceProvider.php | 16 +++++++------ .../Providers/RepositoryServiceProvider.php | 24 +++++++++++++++++++ backend/bootstrap/providers.php | 2 ++ 3 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 backend/app/Providers/RepositoryServiceProvider.php diff --git a/backend/app/Providers/AppServiceProvider.php b/backend/app/Providers/AppServiceProvider.php index 452e6b6..5b73916 100644 --- a/backend/app/Providers/AppServiceProvider.php +++ b/backend/app/Providers/AppServiceProvider.php @@ -2,21 +2,23 @@ namespace App\Providers; +use App\Auth\BcryptPasswordHasher; +use App\Auth\Clock; +use App\Auth\PasswordHasher; +use App\Auth\RandomTokenGenerator; +use App\Auth\SystemClock; +use App\Auth\TokenGenerator; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { - /** - * Register any application services. - */ public function register(): void { - // + $this->app->bind(Clock::class, SystemClock::class); + $this->app->bind(TokenGenerator::class, RandomTokenGenerator::class); + $this->app->bind(PasswordHasher::class, BcryptPasswordHasher::class); } - /** - * Bootstrap any application services. - */ public function boot(): void { // diff --git a/backend/app/Providers/RepositoryServiceProvider.php b/backend/app/Providers/RepositoryServiceProvider.php new file mode 100644 index 0000000..0671b59 --- /dev/null +++ b/backend/app/Providers/RepositoryServiceProvider.php @@ -0,0 +1,24 @@ +app->bind( + UserRepository::class, + EloquentUserRepository::class, + ); + $this->app->bind( + SessionRepository::class, + EloquentSessionRepository::class, + ); + } +} diff --git a/backend/bootstrap/providers.php b/backend/bootstrap/providers.php index fc94ae6..37b94e7 100644 --- a/backend/bootstrap/providers.php +++ b/backend/bootstrap/providers.php @@ -1,7 +1,9 @@