File: /var/www/admin.fixgini.com/app/Http/Controllers/SellerPlanController.php
<?php
namespace App\Http\Controllers;
use App\Models\SellerPlan;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Http\Controllers\Controller;
class SellerPlanController extends Controller
{
public function index()
{
try {
$seller_plans = SellerPlan::all();
return response()->json(['status' => 'success', 'data' => $seller_plans]);
} catch (\Throwable $th) {
return response()->json(['status' => 'error', 'message' => 'Nothing found', 'data' => $th->getMessage()]);
}
}
public function store(Request $request)
{
try {
$validatedData = $request->validate([
'name' => 'required|unique:seller_plans,name',
'description' => 'required|string',
'payment_link' => 'required|url|unique:seller_plans,payment_link',
'fee' => 'required|numeric',
'expiry' => 'required|string',
]);
$seller_plan = SellerPlan::create([
'name' => $validatedData['name'],
'description' => $validatedData['description'],
'payment_link' => $validatedData['payment_link'],
'fee' => $validatedData['fee'],
'expiry' => $validatedData['expiry'],
]);
return response()->json(['status' => 'success', 'messgae' => 'Seller plan saved successfully', 'data' => $seller_plan]);
} catch (\Throwable $th) {
Log::error($th->getMessage());
return response()->json(['status' => 'error', 'messgae' => 'Seller plan not saved successfully', 'data' => $th->getMessage()]);
}
}
public function update(Request $request, $id)
{
try {
$validatedData = $request->validate([
'name' => 'required|string',
'description' => 'required|string',
'payment_link' => 'required|string',
'fee' => 'required|string',
'expiry' => 'required|string',
]);
$seller_plan = SellerPlan::findOrFail($id);
$seller_plan->update([
'name' => $validatedData['name'],
'description' => $validatedData['description'],
'payment_link' => $validatedData['payment_link'],
'fee' => $validatedData['fee'],
'expiry' => $validatedData['expiry'],
]);
return response()->json(['status' => 'success', 'message' => 'Seller plan updated successfully', 'data' => $seller_plan], 200);
} catch (\Throwable $th) {
Log::error($th->getMessage());
return response()->json(['status' => 'error', 'message' => 'Seller plan not updated successfully', 'data' => $th->getMessage()], 500);
}
}
public function destroy($id)
{
try {
$seller_plan = SellerPlan::findOrFail($id);
$seller_plan->delete();
return response()->json(['status' => 'success', 'data' => 'Deleted successfully']);
} catch (\Throwable $th) {
return response()->json(['status' => 'error', 'data' => $th->getMessage()]);
}
}
}