From e9574a4ce036f5b421a73d772b5f661d7ce6c573 Mon Sep 17 00:00:00 2001 From: Amirmahdi Nourkazemi Date: Fri, 10 Jul 2026 09:44:56 +0330 Subject: [PATCH] fix: promotion --- app/Http/Controllers/PromotionController.php | 13 +++++++++++++ routes/api.php | 2 ++ 2 files changed, 15 insertions(+) diff --git a/app/Http/Controllers/PromotionController.php b/app/Http/Controllers/PromotionController.php index a19800e..042d6b2 100755 --- a/app/Http/Controllers/PromotionController.php +++ b/app/Http/Controllers/PromotionController.php @@ -27,6 +27,19 @@ public function index() return response()->json($promotions); } + /** + * Admin listing: returns ALL promotions regardless of is_active or the + * start/end window, so admins can see and edit inactive/expired ones. + */ + public function adminIndex() + { + $promotions = Promotion::orderBy('priority', 'desc') + ->orderByDesc('id') + ->get(); + + return response()->json($promotions); + } + public function store(Request $request) { $data = $request->validate([ diff --git a/routes/api.php b/routes/api.php index 7a77d76..153eb8a 100755 --- a/routes/api.php +++ b/routes/api.php @@ -90,6 +90,8 @@ Route::get('/users', 'users'); // All subscription purchases (transactions) with filters Route::get('/purchases', 'purchases'); + // All promotions (including inactive/expired) for admin management + Route::get('/promotions', [PromotionController::class, 'adminIndex']); Route::post('/users/{mobile}/profile', 'updateUserProfile'); Route::delete('/users/{mobile}', 'deleteUser'); Route::get('/users/{mobile}/transactions', 'getUserTransactions');