/**
  * @param CampaignFactory    $campaignFactory
  * @param CampaignRepository $campaignRepository
  * @return \Response
  */
 public function store(CampaignFactory $campaignFactory, CampaignRepository $campaignRepository)
 {
     $campaign = $campaignFactory->create(['clientId' => $this->client_id, 'campaignName' => Request::input('campaign_name'), 'subjectLine' => Request::input('subject_line'), 'fromName' => Request::input('from_name'), 'trackOpens' => Request::input('track_opens'), 'trackClicks' => Request::input('track_clicks'), 'html' => Request::input('html'), 'plaintext' => Request::input('plaintext'), 'fromEmail' => Request::input('from_email'), 'replyToEmail' => Request::input('reply_to_email'), 'bounceEmail' => Request::input('bounce_email'), 'domain' => Request::input('domain')]);
     $campaign = $campaignRepository->save($campaign);
     if (!$campaign) {
         return $this->failure('Unable to create new campaign');
     }
     return $this->success(['id' => $campaign->id()]);
 }
 /**
  * @param $domain
  * @return Campaign
  */
 public function findByDomain($domain)
 {
     $campaign = $this->model->domain($domain)->orderBy('id', 'desc')->first();
     return $this->factory->create($campaign->toArray());
 }
 /**
  * @param CampaignFactory $campaignFactory
  * @return Response
  */
 public function campaigns(CampaignFactory $campaignFactory)
 {
     $campaign = $campaignFactory->create([]);
     return view('home', ['age' => 35]);
 }