From 0a0277be290a6041f47b6315080da6b83bb1ce80 Mon Sep 17 00:00:00 2001
From: Marcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de>
Date: Wed, 18 Jan 2023 11:13:44 +0000
Subject: [PATCH] Use the same DI container both system-wide and in the
 JSONAPI.

Closes #2047

Merge request studip/studip!1327
---
 lib/classes/DIContainer.php |  6 ++++++
 public/jsonapi.php          | 12 +-----------
 2 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/lib/classes/DIContainer.php b/lib/classes/DIContainer.php
index 22d0d857129..9f0721b67d5 100644
--- a/lib/classes/DIContainer.php
+++ b/lib/classes/DIContainer.php
@@ -52,6 +52,12 @@ class DIContainer
         $builder->ignorePhpDocErrors(true);
         $builder->addDefinitions('lib/bootstrap-definitions.php');
 
+        $jsonapiSettings = require 'lib/classes/JsonApi/settings.php';
+        $jsonapiSettings($builder);
+
+        $jsonapiDependencies = require 'lib/classes/JsonApi/dependencies.php';
+        $jsonapiDependencies($builder);
+
         return $builder;
     }
 }
diff --git a/public/jsonapi.php b/public/jsonapi.php
index 1dfd51bdb45..ba73885a3cc 100644
--- a/public/jsonapi.php
+++ b/public/jsonapi.php
@@ -18,18 +18,8 @@ page_open([
 // Set base url for URLHelper class
 URLHelper::setBaseUrl($GLOBALS['CANONICAL_RELATIVE_PATH_STUDIP']);
 
-$containerBuilder = new ContainerBuilder();
-
-$settings = require 'lib/classes/JsonApi/settings.php';
-$settings($containerBuilder);
-
-$dependencies = require 'lib/classes/JsonApi/dependencies.php';
-$dependencies($containerBuilder);
-
-// Build PHP_DI Container
-$container = $containerBuilder->build();
-
 // Instantiate the app
+$container = app();
 AppFactory::setContainer($container);
 $app = AppFactory::create();
 $container->set(\Slim\App::class, $app);
-- 
GitLab