summaryrefslogtreecommitdiff
path: root/src/Controllers/Client/ServerInformationController.php
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2026-04-10 13:37:26 +0200
committerDaniel Weipert <git@mail.dweipert.de>2026-04-10 13:41:14 +0200
commit99006cd6370f0502693f3fa9e3c20c83c02b364f (patch)
tree911c34cd93444f37f4781208020853bae9c42b7a /src/Controllers/Client/ServerInformationController.php
parent6929089fea7cf79ae5ca9e05486ba33b0e5b216d (diff)
switch routing to attributes
Diffstat (limited to 'src/Controllers/Client/ServerInformationController.php')
-rw-r--r--src/Controllers/Client/ServerInformationController.php57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/Controllers/Client/ServerInformationController.php b/src/Controllers/Client/ServerInformationController.php
new file mode 100644
index 0000000..51e68e6
--- /dev/null
+++ b/src/Controllers/Client/ServerInformationController.php
@@ -0,0 +1,57 @@
+<?php
+
+namespace App\Controllers\Client;
+
+use Matrix\Responses\ClientVersionsGetResponse;
+use Symfony\Component\HttpFoundation\JsonResponse;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\Routing\Attribute\Route;
+
+class ServerInformationController
+{
+ #[Route(path: "/.well-known/matrix/client", methods: ["GET"])]
+ public function client(Request $request): Response
+ {
+ return new JsonResponse([
+ "m.homeserver" => [
+ "base_url" => "https://$_ENV[DOMAIN]",
+ ],
+ ]);
+ }
+
+ #[Route(path: "/.well-known/matrix/support", methods: ["GET"])]
+ public function support(Request $request): Response
+ {
+ return new JsonResponse([
+ "contacts" => [],
+ "support_page" => "",
+ ]);
+ }
+
+ #[Route(path: "/_matrix/client/versions", methods: ["GET"])]
+ public function versions(Request $request): Response
+ {
+ return new JsonResponse(new ClientVersionsGetResponse([
+ "r0.0.1",
+ "v1.1",
+ ]));
+ }
+
+ public function server(Request $request): Response
+ {
+ return new JsonResponse([
+ "m.server" => "$_ENV[DOMAIN]:443",
+ ]);
+ }
+
+ public function version(Request $request): Response
+ {
+ return new JsonResponse([
+ "server" => [
+ "name" => "Matrix PHP",
+ "version" => "0.1.0",
+ ],
+ ]);
+ }
+}