29 lines
666 B
PHP
29 lines
666 B
PHP
<?php
|
|||
|
|
|
||
|
|
namespace App\Http\Controllers\Api;
|
||
|
|
|
||
|
|
use App\Http\Controllers\Controller;
|
||
|
|
use App\Jobs\ProcessEventJob;
|
||
|
|
use App\Models\Project;
|
||
|
|
use Illuminate\Http\JsonResponse;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
|
||
|
|
class EventIngestController extends Controller
|
||
|
|
{
|
||
|
|
public function store(Request $request, Project $project): JsonResponse
|
||
|
|
{
|
||
|
|
$payload = $request->json()->all();
|
||
|
|
|
||
|
|
if (empty($payload)) {
|
||
|
|
return response()->json(['error' => 'Empty payload'], 400);
|
||
|
|
}
|
||
|
|
|
||
|
|
ProcessEventJob::dispatch($project, $payload);
|
||
|
|
|
||
|
|
return response()->json(
|
||
|
|
['id' => $payload['event_id'] ?? null],
|
||
|
|
202,
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|