diff options
| author | Daniel Weipert <git@mail.dweipert.de> | 2025-08-13 21:50:27 +0200 |
|---|---|---|
| committer | Daniel Weipert <git@mail.dweipert.de> | 2025-08-13 21:50:27 +0200 |
| commit | 3f4b51b99a4f4dc41dbdce7f34afe7e15d3d426e (patch) | |
| tree | eed0848f59e70aac075ba09bbb1b6e52a62a681f /src/Types | |
| parent | beb68ad3ddc48f9e913815e0e18f11965201f32e (diff) | |
get login types route and various
Diffstat (limited to 'src/Types')
| -rw-r--r-- | src/Types/IdentifierType.php | 10 | ||||
| -rw-r--r-- | src/Types/LoginFlow.php | 27 | ||||
| -rw-r--r-- | src/Types/LoginType.php | 9 |
3 files changed, 46 insertions, 0 deletions
diff --git a/src/Types/IdentifierType.php b/src/Types/IdentifierType.php new file mode 100644 index 0000000..93396fa --- /dev/null +++ b/src/Types/IdentifierType.php @@ -0,0 +1,10 @@ +<?php + +namespace App\Types; + +enum IdentifierType: string +{ + case USER = "m.id.user"; + case THIRDPARTY = "m.id.thirdparty"; + case PHONE = "m.id.phone"; +} diff --git a/src/Types/LoginFlow.php b/src/Types/LoginFlow.php new file mode 100644 index 0000000..bd948a8 --- /dev/null +++ b/src/Types/LoginFlow.php @@ -0,0 +1,27 @@ +<?php + +namespace App\Types; + +use App\Support\ArrayTransformable; + +class LoginFlow implements ArrayTransformable +{ + public function __construct( + private LoginType $type, + private bool $get_login_token = false, + ) + {} + + public function toArray(): array + { + $flow = [ + "type" => $this->type, + ]; + + if ($this->type == LoginType::TOKEN) { + $flow["get_login_token"] = $this->get_login_token; + } + + return $flow; + } +} diff --git a/src/Types/LoginType.php b/src/Types/LoginType.php new file mode 100644 index 0000000..a5e3d8b --- /dev/null +++ b/src/Types/LoginType.php @@ -0,0 +1,9 @@ +<?php + +namespace App\Types; + +enum LoginType: string +{ + case PASSWORD = "m.login.password"; + case TOKEN = "m.login.token"; +} |
