Konfigurácia
Publikovaný config/approvals.php bez komentárov:
use RoundlyConsulting\Approvals\Models\Approval;
use RoundlyConsulting\Approvals\Models\ApprovalDelegation;
use RoundlyConsulting\Approvals\Models\ApprovalRequest;
use RoundlyConsulting\Approvals\Models\ApprovalRequestStage;
return [
'model' => Approval::class,
'request_model' => ApprovalRequest::class,
'stage_model' => ApprovalRequestStage::class,
'delegation_model' => ApprovalDelegation::class,
'key_type' => env('APPROVALS_KEY_TYPE', 'bigint'),
'authorization' => [
'enabled' => env('APPROVALS_AUTHORIZATION', false),
'ability' => 'decide-approval',
],
'expiry' => [
'default' => null,
],
'workflows' => [
// named presets — see Workflow presets
],
];Všetky kľúče
| Kľúč | Predvolené | Env | Účel |
|---|---|---|---|
model | Approval::class | — | Model rozhodnutí. Musí rozširovať Approval z balíka. |
request_model | ApprovalRequest::class | — | Model žiadostí pre viacerých schvaľovateľov. Musí rozširovať ApprovalRequest. |
stage_model | ApprovalRequestStage::class | — | Model stupňov viacstupňovej žiadosti. Musí rozširovať ApprovalRequestStage. |
delegation_model | ApprovalDelegation::class | — | Model delegovaní. Musí rozširovať ApprovalDelegation. |
key_type | bigint | APPROVALS_KEY_TYPE | Typ všetkých polymorfných id stĺpcov — bigint, uuid alebo ulid. Číta ho migrácia, preto ho nastavte pred migráciou; iná hodnota vyhodí InvalidConfigurationException. |
authorization.enabled | false | APPROVALS_AUTHORIZATION | Každú cestu rozhodnutia — schválenie, zamietnutie, prepnutie, vyžiadanie aj stiahnutie — preverí cez Gate ability. Zapnú ju env reťazce true, 1, yes a on, vypnú false, 0, no a off, prázdna hodnota sa považuje za nenastavenú (teda false) a čokoľvek iné vyhodí InvalidConfigurationException. |
authorization.ability | 'decide-approval' | — | Gate ability, ktorá sa overí voči schvaľovanému modelu. Nenastavená hodnota (null alebo prázdna) znamená decide-approval; hodnota, ktorá nie je reťazcom, vyhodí InvalidConfigurationException namiesto overenia inej ability. |
expiry.default | null | — | Platnosť v sekundách (≥ 1) pre schválenie bez vlastnej expirácie; po jej uplynutí sa prestane počítať. Nenastavená hodnota (null alebo prázdna) znamená, že schválenia nevypršia, kým si rozhodnutie nenastaví vlastnú; čokoľvek, čo nie je kladné celé číslo, vyhodí InvalidConfigurationException. |
workflows | [] | — | Pomenované šablóny workflow. Nenastavená hodnota (null alebo prázdna) znamená žiadne; akákoľvek iná hodnota, ktorá nie je pole, vyhodí InvalidConfigurationException. |
Prostredie
Dva kľúče sa dajú nastaviť cez env:
APPROVALS_AUTHORIZATION=true
APPROVALS_KEY_TYPE=uuidAPPROVALS_KEY_TYPE sa číta pri behu migrácií, nie za behu aplikácie — nastavte ho ešte pred migráciou.
php artisan about
Balík pridá do php artisan about sekciu Approvals. Gate ability uvádza len podľa toho, či je nastavená, a šablóny workflow len počtom, takže vaše autorizačné pojmy ani názvy firemných procesov sa vo výstupe nikdy neobjavia:
php artisan about --only=approvals| Riadok | Zobrazuje |
|---|---|
| Model / Request model / Stage model / Delegation model | Názov triedy každého nakonfigurovaného modelu. |
| Authorization | ENFORCED alebo OFF. |
| Ability | DEFAULT (nenastavená — null alebo prázdna — alebo decide-approval), SET (vlastný názov, nikdy sa nevypíše) alebo INVALID. |
| Default expiry | Hodnota expiry.default v sekundách, napr. 86400s — NEVER, alebo INVALID, keď by hodnota vyhodila výnimku. |
| Workflow presets | Počet šablón, napr. 2 defined — NONE, alebo INVALID, keď workflows nie je pole. |
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 kryptomienOdoslaní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.