* @author Graham Campbell */ class SubscriberController extends AbstractApiController { /** * Get all subscribers. * * @return \Illuminate\Http\JsonResponse */ public function index() { $subscribers = Subscriber::paginate(Binput::get('per_page', 20)); return $this->paginator($subscribers, Request::instance()); } /** * Create a new subscriber. * * @return \Illuminate\Http\JsonResponse */ public function store() { $verified = Binput::get('verify', app(Repository::class)->get('setting.skip_subscriber_verification')); try { $subscriber = execute(new SubscribeSubscriberCommand(Binput::get('email'), $verified, Binput::get('components', null))); } catch (QueryException $e) { throw new BadRequestHttpException(); } return $this->item($subscriber); } /** * Delete a subscriber. * * @param \CachetHQ\Cachet\Models\Subscriber $subscriber * * @return \Illuminate\Http\JsonResponse */ public function destroy(Subscriber $subscriber) { execute(new UnsubscribeSubscriberCommand($subscriber)); return $this->noContent(); } }