summaryrefslogtreecommitdiff
path: root/src/Router/routes_client_server.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Router/routes_client_server.php')
-rw-r--r--src/Router/routes_client_server.php41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/Router/routes_client_server.php b/src/Router/routes_client_server.php
new file mode 100644
index 0000000..eff0be5
--- /dev/null
+++ b/src/Router/routes_client_server.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace App\Router;
+
+use App\Controllers\LoginController;
+use App\Controllers\ServerDiscoveryController;
+use App\Controllers\ServerImplementationController;
+use Symfony\Component\Routing\Loader\Configurator\RouteConfigurator;
+
+return function (RouteConfigurator $routes): void
+{
+ $routes
+ ->add("well_known_matrix_client", "/.well-known/matrix/client")
+ ->controller([ServerDiscoveryController::class, "client"])
+ ->methods(["GET"]);
+
+ $routes
+ ->add("well_known_matrix_support", "/.well-known/matrix/support")
+ ->controller([ServerDiscoveryController::class, "support"])
+ ->methods(["GET"]);
+
+ $routes
+ ->add("matrix_client_versions", "/_matrix/client/versions")
+ ->controller([ServerImplementationController::class, "versions"])
+ ->methods(["GET"]);
+
+ $supportedLoginTypes = [LoginController::class, "supportedLoginTypes"];
+ $routes
+ ->add("matrix_client_r0_login_types", "/_matrix/client/r0/login")
+ ->controller($supportedLoginTypes)
+ ->methods(["GET"]);
+ $routes
+ ->add("matrix_client_v3_login_types", "/_matrix/client/v3/login")
+ ->controller($supportedLoginTypes)
+ ->methods(["GET"]);
+
+ $routes
+ ->add("matrix_client_v3_login", "/_matrix/client/v3/login")
+ ->controller([LoginController::class, "login"])
+ ->methods(["POST"]);
+};