feat: strava deeplink to mobile

This commit is contained in:
2026-05-20 16:56:42 +02:00
parent eca160d686
commit 3d240eca81
8 changed files with 40 additions and 12 deletions
+13
View File
@@ -8,6 +8,7 @@ use App\Http\Requests\StravaSyncRequest;
use App\Models\WorkoutSessions;
use App\Services\StravaClient;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Cache;
@@ -29,6 +30,18 @@ class StravaController extends Controller
]);
}
public function redirectToMobileApp(Request $request): RedirectResponse
{
$params = collect($request->only(['code', 'error', 'scope', 'state']))
->filter(fn ($value): bool => $value !== null && $value !== '')
->all();
$query = http_build_query($params, '', '&', PHP_QUERY_RFC3986);
$url = 'dailymeal://strava/callback'.($query ? "?{$query}" : '');
return redirect()->away($url);
}
public function callback(StravaCallbackRequest $request, StravaClient $strava): JsonResponse
{
$data = $request->validated();