diff options
Diffstat (limited to 'server/index.php')
-rw-r--r-- | server/index.php | 79 |
1 files changed, 64 insertions, 15 deletions
diff --git a/server/index.php b/server/index.php index 00470fd..816df3d 100644 --- a/server/index.php +++ b/server/index.php @@ -1,29 +1,78 @@ <?php +use DI\Container; +use LookupServer\Service\DependenciesService; +use LookupServer\UserManager; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\ServerRequestInterface; +use Slim\Factory\AppFactory; + require __DIR__ . '/vendor/autoload.php'; +$container = new Container(); +AppFactory::setContainer($container); +$app = AppFactory::create(); + $settings = require __DIR__ . '/src/config.php'; +$container->set('Settings', function ($c) use ($settings) { + return $settings; +}); + + +$container->set('DependenciesService', function ($c) { + return new DependenciesService($c->get('Settings')); +}); + + +$container->get('DependenciesService')->initContainer($container); +//require __DIR__ . '/src/dependencies.php'; + + +// +// + +//$container->set('BruteForceMiddleware', function (Container $c) { +// return new \LookupServer\BruteForceMiddleware($c->get('db')); +//}); + + +//$app->add(function ( +// \Psr\Http\Message\ServerRequestInterface $request, +// \Psr\Http\Server\RequestHandlerInterface $handler, +// $next +//) { +// return $next($request, $handler); +//}); -$container = new \Slim\Container($settings); +$app->setBasePath('/index.php'); -require __DIR__ . '/src/dependencies.php'; +$app->get( + '/users', + function (ServerRequestInterface $request, ResponseInterface $response, array $args) { + /** @var UserManager $userManager */ + $userManager = $this->get('UserManager'); -$container['BruteForceMiddleware'] = function ($c) { - return new \LookupServer\BruteForceMiddleware($c->db); -}; + return $userManager->search($request, $response, $args); + } +); -$app = new \Slim\App($container); -$app->add($container->get('BruteForceMiddleware')); +$app->post( + '/users', + function (ServerRequestInterface $request, ResponseInterface $response, array $args) { + /** @var UserManager $userManager */ + $userManager = $this->get('UserManager'); + return $userManager->register($request, $response, $args); + } +); -$app->get('/users', 'UserManager:search'); -$app->post('/users', 'UserManager:register'); -$app->post('/gs/users', 'UserManager:batchRegister'); -$app->delete('/gs/users', 'UserManager:batchDelete'); -$app->delete('/users', 'UserManager:delete'); -$app->get('/validate/email/{token}', 'EmailValidator:validate')->setName('validateEmail'); -$app->get('/status', 'Status:status'); -$app->get('/replication', 'Replication:export'); +//$app->post('/gs/users', 'UserManager:batchRegister'); +//$app->delete('/gs/users', 'UserManager:batchDelete'); +//$app->delete('/users', 'UserManager:delete'); +//$app->get('/validate/email/{token}', 'EmailValidator:validate')->setName('validateEmail'); +//$app->get('/status', 'Status:status'); +// +//$app->get('/replication', 'Replication:export'); $app->run(); |