Skip to content

Instantly share code, notes, and snippets.

@Mulkave
Created June 8, 2016 20:06
Show Gist options
  • Save Mulkave/3ef204046695e792dc32ce55db7f3071 to your computer and use it in GitHub Desktop.
Save Mulkave/3ef204046695e792dc32ce55db7f3071 to your computer and use it in GitHub Desktop.
<?php
namespace Directory\Services\Site\Features;
use Illuminate\Http\Request;
use Directory\Foundation\AbstractFeature;
use Directory\Domains\Http\RespondWithJsonJob;
use Directory\Domains\Notification\NotifyOfficersJob;
use Directory\Domains\Citizen\Jobs\RegisterCitizenJob;
use Directory\Domains\Citizen\Notifications\CitizenCreated;
use Directory\Domains\Citizen\Jobs\ValidateCitizenCreationInputJob;
class RegisterCitizenFeature extends AbstractFeature
{
public function handle(Request $request)
{
$input = $request->input();
$this->run(ValidateCitizenCreationInputJob::class, $input);
$citizen = $this->run(RegisterCitizenJob::class, $input);
$this->run(NotifyOfficersJob::class, ['notification' => new CitizenCreated($citizen));
return $this->run(RespondWithJsonJob::class, $citizen);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment