// We call that Event from the Controller, passing the parameters of Project and Action.
class ProjectsController extends Controller
{
const CREATED = 'created';
public function store(StoreProjectRequest $request)
{
$project = Project::create(
[
'title' => $request->title,
'description' => clean($request->description),
'user_assigned_id' => $request->user_assigned_id,
'deadline' => Carbon::parse($request->deadline),
'status_id' => $request->status_id,
'user_created_id' => auth()->id(),
'external_id' => Uuid::uuid4()->toString(),
'client_id' => $client ? $client->id : null,
]
);
event(new \App\Events\ProjectAction($project, self::CREATED));
}
}