<?php namespace App\Services; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Log; class SynapseService { public function createRegistrationToken(): ?string { $token = config('synapse.admin_api_token'); $endpoint = config('synapse.admin_api_url'); $response = Http::withHeaders([ 'Authorization' => "Bearer $token", 'Content-Type' => 'application/json' ])->post($endpoint . '/_synapse/admin/v1/registration_tokens/new', [ 'uses_allowed' => 1, 'length' => 12, 'expiry_time' => now()->addWeek()->valueOf(), ]); if ($response->successful()) { return $response->json()['token'] ?? null; } Log::error('Failed to create Synapse registration token', [ 'status' => $response->status(), 'body' => $response->body() ]); return null; } }