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

Všetky výnimky balíka sú v RoundlyConsulting\Approvals\Exceptions a rozširujú ApprovalsException, ktorá je sama RuntimeException — jeden catch tak pokryje celú rodinu:

VýnimkaKedy vznikne
ClosedApprovalRequestExceptionRozhodnutie alebo stiahnutie smeruje do uzavretej žiadosti — schválenej, zamietnutej, zrušenej či expirovanej (for). Vlastnosť $request je táto žiadosť.
IncompletePendingApprovalExceptionBuilder rozhoduje bez aktéra (missingActor) alebo bez schvaľovaného modelu (missingApprovable).
InvalidApprovalModelExceptionNakonfigurovaná trieda modelu nerozširuje očakávaný základný model (forClass).
InvalidApprovalRequestExceptionRozhodnutie je pripojené k žiadosti iného subjektu (foreignSubject); builder žiadosti dostane from() aj stages() (mixedApprovers); schvaľovateľ nie je uložený (unsavedApprover); žiadosť potrebuje viac schválení, než vymenuje schvaľovateľov (moreRequiredThanNamed); kvórum je menšie ako 1 (thresholdBelowOne) alebo ho schvaľovatelia nemôžu dosiahnuť (unreachableThreshold).
InvalidDelegationExceptionDelegovanie na seba (selfDelegation) alebo obdobie, ktoré končí skôr, než začne (endsBeforeStart).
InvalidStatusTransitionExceptionNepovolený prechod stavu na modeli Approval (between).
UnauthorizedApprovalExceptionAutorizačná Gate aktéra odmietne (forActor), alebo aktér nie je menovaným schvaľovateľom žiadosti či jej otvoreného stupňa ani zástupcom niektorého z nich (notAnApprover).
UnknownWorkflowExceptionŠablóna workflow chýba (named) alebo je chybná (invalid).
use RoundlyConsulting\Approvals\Exceptions\ApprovalsException;
use RoundlyConsulting\Approvals\Exceptions\ClosedApprovalRequestException;
use RoundlyConsulting\Approvals\Exceptions\UnauthorizedApprovalException;
use RoundlyConsulting\Approvals\Facades\Approvals;

try {
    Approvals::for($post)->as($user)->approve();
} catch (UnauthorizedApprovalException $e) {
    // the gate denied this actor, or the request does not name it
} catch (ClosedApprovalRequestException $e) {
    // the round is over — $e->request is the closed request
} catch (ApprovalsException $e) {
    // any other approvals error
}

Každú výnimku vytvára pomenovaná statická factory uvedená v zátvorke vyššie, čo sa hodí pri overovaní správ v testoch.

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.