Goal-Calibration/bootstrap/container.php
2026-05-01 09:56:14 +03:00

38 lines
1.3 KiB
PHP

<?php
use DI;
use DI\Container;
use App\Auth\BcryptPasswordHasher;
use App\Auth\Clock;
use App\Auth\JsonSessionRepository;
use App\Auth\PasswordHasher;
use App\Auth\RandomTokenGenerator;
use App\Auth\SessionRepository;
use App\Auth\SystemClock;
use App\Auth\TokenGenerator;
use App\Text\TextRepository;
use App\Text\JsonTextRepository;
use App\Node\NodeRepository;
use App\Node\JsonNodeRepository;
use App\Plan\PlanRepository;
use App\Plan\JsonPlanRepository;
use App\User\UserRepository;
use App\User\JsonUserRepository;
use App\ScheduledNode\ScheduledNodeRepository;
use App\ScheduledNode\JsonScheduledNodeRepository;
$container = new Container([
TextRepository::class => DI\autowire(JsonTextRepository::class),
NodeRepository::class => DI\autowire(JsonNodeRepository::class),
PlanRepository::class => DI\autowire(JsonPlanRepository::class),
UserRepository::class => DI\autowire(JsonUserRepository::class),
ScheduledNodeRepository::class
=> DI\autowire(JsonScheduledNodeRepository::class),
SessionRepository::class
=> DI\autowire(JsonSessionRepository::class),
TokenGenerator::class => DI\autowire(RandomTokenGenerator::class),
Clock::class => DI\autowire(SystemClock::class),
PasswordHasher::class => DI\autowire(BcryptPasswordHasher::class),
]);
return $container;