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

Open source

Approvals for Laravel

Inštalácia
composer require roundly-consulting/approvals-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

Prehľad

Schvaľovania, zamietnutia a súhlas viacerých schvaľovateľov medzi ľubovoľnými dvoma Eloquent modelmi. Aktérom, ktorý rozhoduje, môže byť akýkoľvek model a schvaľovaným tiež; každé rozhodnutie nesie explicitný stav, voliteľný dôvod a voliteľnú expiráciu. Nad jednotlivými rozhodnutiami dostanete žiadosti, o ktorých rozhodujú len menovaní schvaľovatelia, s pravidlami jednomyseľne, kvórum, ktokoľvek alebo vážene, sekvenčné viacstupňové schvaľovanie, časovo ohraničené delegovanie a pomenované šablóny workflow — a každý prechod spustí udalosť. Všetko ovládate cez jednu fasádu Approvals, injektovaný manažér alebo samostatné akcie. Natívny Laravel, licencia MIT, bez runtime závislostí tretích strán okrem dvoch malých pomocných balíkov Roundly.

Čo získate

Skutočné stavy rozhodnutí

Čaká, schválené, zamietnuté, zrušené a expirované — s dôvodom, časovými údajmi a stráženým stavovým automatom.

Pravidlá pre viacerých schvaľovateľov

Jednomyseľné, kvórum, ktokoľvek alebo vážené žiadosti, o ktorých rozhodujú len menovaní schvaľovatelia — a ktoré sa vyhodnotia samy.

Fasáda, DI alebo akcie

Jedno API tromi spôsobmi — fasáda Approvals, injektovaný ApprovalsManager alebo samostatné akcie — plus zaznamenávajúci Approvals::fake().

Viacstupňové schvaľovanie

Najprv vývoj, potom produkt, potom financie — každý stupeň sa otvorí, až keď predchádzajúci prejde.

Delegovanie

Odovzdajte svoju právomoc zástupcovi na určité obdobie; jeho rozhodnutia sa počítajú ako vaše a záznam ukáže, kto konal.

Šablóny workflow

Schvaľovanie výplaty či releasu definujete raz v konfigurácii a otvárate ho menom kdekoľvek v aplikácii.

Udalosti a kontrola cez Gate

Dvanásť udalostí vrátane jednej zastrešujúcej plus voliteľná Gate ability na každom type rozhodnutia.

Dokumentácia

Inštalácia

Nainštalujte cez Composer, publikujte a spustite šesť migrácií určených na publikovanie a voliteľne publikujte konfiguráciu.

Konfigurácia

Všetky konfiguračné kľúče a ich predvolené hodnoty — vymeniteľné modely, typ morph kľúča, autorizácia, expirácia a šablóny workflow.

Traity modelov

GivesApprovals pre aktéra, HasApprovals pre schvaľovaný model a RequiresApproval pre subjekty s viacerými schvaľovateľmi.

Fasáda Approvals

Celá fasáda Approvals — rozhodnutia, žiadosti pre viacerých schvaľovateľov, čítanie, delegovanie a expirácia — so všetkými metódami.

DI a akcie

Bez fasády: injektujte ApprovalsManager alebo volajte triedy akcií priamo — s úplnou mapou metód fasády na akcie.

Fluentné buildery

PendingApproval a PendingApprovalRequest v praxi — pripnutie k žiadosti, pomocník approvals(), absolútna expirácia a neúplné buildery.

Akcie a DTO

Všetky triedy akcií so signatúrou execute() a DTO DecisionData a ApprovalRequestData, ktoré akcie prijímajú.

Rozhodnutia a stavy

Vyžiadať, schváliť, zamietnuť, stiahnuť či prepnúť — päť stavov, jedno živé rozhodnutie na slot a čo ktoré volanie zapíše.

Žiadosti pre viacerých schvaľovateľov

Otvorte žiadosť, o ktorej rozhodujú len menovaní schvaľovatelia podľa pravidla jednomyseľne, kvórum, ktokoľvek či vážene.

Vážené prahy

Vyhodnocujte podľa súčtu váh schválení namiesto počtu hláv — pre aktéra cez ProvidesApprovalWeight alebo pre jedno rozhodnutie.

Viacstupňové schvaľovanie

Schvaľujte v poradí stupňov — každý sa otvorí, až keď predchádzajúci prejde, s udalosťami stupňov a snímkou priebehu.

Delegovanie

Odovzdajte schvaľovaciu právomoc inému modelu na určité obdobie — rozhodnutia zástupcu sa počítajú ako vaše a zaznamenajú, kto konal.

Šablóny workflow

Pravidlo, kvórum, stupne a expiráciu definujete raz v konfigurácii a žiadosti z nich otvárate menom — jednostupňové aj viacstupňové.

Autorizácia

Každú cestu rozhodnutia preveďte cez Gate ability, ktorú definuje vaša aplikácia — odmietnutý aktér dostane výnimku.

Expirácia

Dajte vyžiadaniam, schváleniam aj žiadostiam termín — po jeho uplynutí sa nepočítajú a expire() či approvals:expire vypršanie zapíše.

Blade direktívy

Podmienky @approved, @rejected a @pendingApproval pre vaše šablóny — fungujú s akýmkoľvek modelom, s traitom aj bez neho.

Udalosti

Dvanásť udalostí pokrýva každý prechod — plus zastrešujúca ApprovalStatusChanged, cez ktorú všetky sledujete jedným listenerom.

Enumy

ApprovalStatus a ApprovalRule — doménové metódy, popisky, možnosti pre selecty a validačné pravidlá zosúladené s prípadmi.

Modely a schéma

Štyri Eloquent modely, ich tabuľky, relácie a scopes, typ morph kľúča a výmena za vlastné podtriedy.

Výnimky

Jedna základná trieda ApprovalsException a osem konkrétnych výnimiek — čo ktorú spôsobí a ako ich zachytiť.

Testovanie

Approvals::fake() zaznamená každú operáciu na overenie, k tomu Pest expectations, testovací trait schvaľovateľa a factories pre každý model.

Požiadavky

PHP 8.4+, Laravel 12 alebo 13 a dva malé balíky Roundly, ktoré Composer nainštaluje automaticky.

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.