From 26f24fcd07b53c4523edd19afccbef888d6702eb Mon Sep 17 00:00:00 2001 From: Leon Morival Date: Thu, 21 May 2026 16:20:25 +0200 Subject: [PATCH] feat: delete strava connection --- app/Http/Controllers/StravaController.php | 8 ++++++++ routes/api.php | 1 + 2 files changed, 9 insertions(+) diff --git a/app/Http/Controllers/StravaController.php b/app/Http/Controllers/StravaController.php index 18a406c..2e7741c 100644 --- a/app/Http/Controllers/StravaController.php +++ b/app/Http/Controllers/StravaController.php @@ -11,6 +11,7 @@ use App\Services\StravaClient; use Illuminate\Http\JsonResponse; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; +use Illuminate\Http\Response; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Str; @@ -96,6 +97,13 @@ class StravaController extends Controller ]); } + public function disconnect(Request $request): Response + { + $request->user()->stravaConnection()->delete(); + + return response()->noContent(); + } + public function sync(StravaSyncRequest $request, StravaClient $strava): JsonResponse { $connection = $request->user()->stravaConnection; diff --git a/routes/api.php b/routes/api.php index aa712a6..7a8f092 100644 --- a/routes/api.php +++ b/routes/api.php @@ -47,6 +47,7 @@ Route::middleware(['auth:sanctum', 'verified'])->group(function (): void { Route::get('strava/status', [StravaController::class, 'status'])->name('strava.status'); Route::get('strava/authorization-url', [StravaController::class, 'authorizationUrl'])->name('strava.authorization-url'); Route::post('strava/callback', [StravaController::class, 'callback'])->name('strava.callback'); + Route::delete('strava/connection', [StravaController::class, 'disconnect'])->name('strava.disconnect'); Route::post('strava/sync', [StravaController::class, 'sync'])->name('strava.sync'); });