check() ? 0 : 1; $incidents = Incident::where('visible', '>=', $incidentVisiblity) ->paginate(Binput::get('per_page', 20)); return $this->paginator($incidents, $request); } /** * Get a single incident. * * @param \CachetHQ\Cachet\Models\Incident $incident * * @return \CachetHQ\Cachet\Models\Incident */ public function getIncident(Incident $incident) { return $this->item($incident); } /** * Create a new incident. * * @param \Illuminate\Contracts\Auth\Guard $auth * * @return \CachetHQ\Cachet\Models\Incident */ public function postIncidents(Guard $auth) { $incidentData = Binput::all(); if (!array_has($incidentData, 'visible')) { $incidentData['visible'] = 1; } try { $incident = Incident::create($incidentData); } catch (Exception $e) { throw new BadRequestHttpException(); } $isEnabled = (bool) Setting::get('enable_subscribers', false); $mailAddress = env('MAIL_ADDRESS', false); $mailFrom = env('MAIL_NAME', false); $subscribersEnabled = $isEnabled && $mailAddress && $mailFrom; if (array_get($incidentData, 'notify') && $subscribersEnabled) { event(new IncidentHasReportedEvent($incident)); } if ($incident->isValid()) { return $this->item($incident); } throw new BadRequestHttpException(); } /** * Update an existing incident. * * @param \CachetHQ\Cachet\Models\Inicdent $incident * * @return \CachetHQ\Cachet\Models\Incident */ public function putIncident(Incident $incident) { $incident->update(Binput::all()); if ($incident->isValid('updating')) { return $this->item($incident); } throw new BadRequestHttpException(); } /** * Delete an existing incident. * * @param \CachetHQ\Cachet\Models\Inicdent $incident * * @return \Illuminate\Http\JsonResponse */ public function deleteIncident(Incident $incident) { $incident->delete(); return $this->noContent(); } }