File: /var/www/console.fixgini.com/app/Http/Controllers/SubscriberController.php
<?php
namespace App\Http\Controllers;
use App\Models\Subscriber;
use App\Models\Subscription;
use Illuminate\Http\Request;
use Carbon\Carbon;
class SubscriberController extends Controller
{
public function index()
{
try {
$subscribers = Subscriber::all();
return response()->json(['status' => 'success', 'data' => $subscribers]);
} catch (\Throwable $th) {
return response()->json(['status' => 'error', 'data' => $th->getMessage()]);
}
}
public function store(Request $request)
{
try {
$validatedData = $request->validate([
'user_id' => 'required|string|exists:users,id',
'subscription_id' => 'required|string|exists:subscriptions,id',
]);
// Calculate deadline as 30 days from now
$deadline = Carbon::now()->addDays(30);
// Add the deadline to the request data
$requestData = $request->all();
$requestData['deadline'] = $deadline;
// Create the subscriber record
$subscriber = Subscriber::create($requestData);
return response()->json(['status' => 'success', 'data' => $subscriber]);
} catch (\Throwable $th) {
return response()->json(['status' => 'error', 'data' => $th->getMessage()]);
}
}
}