'Created Segment', 'message' => 'You have successfully created a new Segment' ]; } /** @var CreateSegmentProcessor */ private $createSegmentProcessor; /** * CreateSegmentLogic constructor. * @param CreateSegmentProcessor $createSegmentProcessor */ public function __construct(CreateSegmentProcessor $createSegmentProcessor) { $this->createSegmentProcessor = $createSegmentProcessor; } /** * @param Request $request * @return JsonResponse * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\MalformedRequestException * @throws \App\Classes\Exceptions\RequestValidationException */ public function logic(Request $request) : JsonResponse { /** @var Segment $segment */ $segment = $this->createSegmentProcessor->execute($request->input('name')); return $this->resourceResponse(new SegmentResource($segment)); } }