NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Reports for Laravel

Fasáda Reports

Reports — RoundlyConsulting\Reports\Facades\Reports — je odporúčaný spôsob práce s balíkom. Ide cez ňu každá zmena aj každé čítanie dôvodov:

use RoundlyConsulting\Approvals\Enums\ApprovalRule;
use RoundlyConsulting\Reports\Enums\Reason;
use RoundlyConsulting\Reports\Enums\Status;
use RoundlyConsulting\Reports\Facades\Reports;

// File — two fluent starts, or a DTO
Reports::report($post)->by($user)->for(Reason::Spam)->because('Spammy.')->create();
Reports::from($user)->about($post)->for('copyright')->create();
Reports::create($createReportData);

// Move and settle
Reports::review($report);                       // → InReview
Reports::resolve($report, by: $admin, note: 'Removed.');
Reports::reject($report, by: $admin, note: 'Not a violation.');
Reports::close($report);                        // → Closed (from Resolved)
Reports::changeStatus($report, Status::Pending);

// Multi-moderator sign-off
Reports::moderate($report)->requiring([$alice, $bob])->rule(ApprovalRule::Quorum)->quorum(2)->open();

// Housekeeping and reasons
Reports::prune(90);                             // → int
Reports::reasons();                             // ['spam' => 'Spam', …]
Reports::…VraciaČo robí
report($subject) / from($reporter)PendingReportFluentné podanie — o subjekte alebo od nahlasovateľa.
create(CreateReportData $data)ReportPodanie jedným volaním z DTO.
moderate($report)PendingModerationSchvaľovanie viacerými moderátormi.
resolve($report, ?$by, ?$note)ReportVybaví ako vyriešené — alebo pri moderácii zaznamená rozhodnutie určeného moderátora.
reject($report, ?$by, ?$note)ReportVybaví ako zamietnuté — alebo pri moderácii zaznamená rozhodnutie určeného moderátora.
changeStatus($report, Status $status)ReportAkýkoľvek deklarovaný presun; $report->changeStatusTo() deleguje sem.
review($report) / close($report)Report→ InReview / → Closed.
prune(?int $days = null, bool $force = false)intZmaže koncové hlásenia staršie ako $days; to spúšťa reports:prune.
reasons() / reasonLabel($slug) / defaultReason() / allowsReason($slug)array / string / string / boolČítanie dôvodov — slug => popisok, popisok, predvolený dôvod, kontrola povolenia.
fake()ReportsFakeNasadí zaznamenávajúci fake — pozrite Testovanie.

Buildery

  • report($subject) a from($reporter) vrátia PendingReport — about(), by(), asGuest(), for() / reason(), because() a nakoniec create(). Pozrite Podávanie hlásení.
  • moderate($report) vráti PendingModeration — requiring(), rule(), quorum() a nakoniec open(). Pozrite Moderovanie viacerými moderátormi.

Skratky na modeloch

$user->giveReportTo(), $user->report() aj $report->changeStatusTo() idú cez ten istý manažér, takže správanie, udalosti aj Reports::fake() sú rovnaké, nech použijete ktorýkoľvek zápis.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.