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

Predvoľby workflowov

Opakovane používajte nastavenie pravidla, kvóra a stupňov z config('approvals.workflows'):

// config/approvals.php
'workflows' => [
    'payout' => ['rule' => 'quorum', 'quorum' => 2, 'required_approvers' => 3],
    'release' => ['stages' => [
        ['rule' => 'unanimous', 'required_approvers' => 2, 'name' => 'engineering'],
        ['rule' => 'any', 'required_approvers' => 1, 'name' => 'product'],
    ]],
],

Žiadosť potom otvoríte podľa názvu predvoľby:

// Flat preset — supply the approvers:
Requests::make()->workflow('payout')->requireApprovalsFrom([$a, $b, $c])->create();

// Staged preset — one approver group per stage:
Requests::make()->workflow('release')->stageApprovers([[$eng1, $eng2], [$product]])->create();
  • Jednoduché predvoľby použijú modely schvaľovateľov odovzdané cez requireApprovalsFrom(); samotné id sa odmietne výnimkou InvalidApprover.
  • Viacstupňové predvoľby dostanú jednu skupinu schvaľovateľov na stupeň cez stageApprovers().
  • Workflow má prednosť pred stages() aj pred jednoduchým zoznamom schvaľovateľov.
  • Pri viacstupňových predvoľbách platí reject_on_stage_rejection z predvoľby, nie rejectOnStageRejection() z buildera.
  • Neznáma alebo chybná predvoľba vyhodí výnimku enginu UnknownWorkflowException.

Kľúče predvoľby

KľúčPlatí preVýznam
rulejednoduchú predvoľbu, každý stupeňunanimous, quorum, any alebo weighted (predvolene unanimous).
quorumjednoduchú predvoľbu, každý stupeňCeločíselná hranica pre quorum / weighted.
required_approversjednoduchú predvoľbu, každý stupeňKoľko schvaľovateľov pravidlo počíta; pri každom stupni povinné a kladné.
namekaždý stupeňNázov stupňa, dostupný cez currentStage()->name.
stagesviacstupňovú predvoľbuNeprázdny zoznam polí stupňov — jeho prítomnosť robí predvoľbu viacstupňovou.
reject_on_stage_rejectionviacstupňovú predvoľbuČi zamietnutý stupeň zamietne celú žiadosť (predvolene true).
expiryakúkoľvek predvoľbuSekundy, po ktorých schvaľovacia požiadavka enginu vyprší — nezávisle od expires_at samotnej žiadosti.

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.