Inštalácia
Pridajte balík. Service provider sa zaregistruje automaticky a obe povinné závislosti — approvals-for-laravel (schvaľovací engine) a enums-for-laravel — sa nainštalujú samy:
composer require roundly-consulting/requests-for-laravelMigrácie
Publikujte a spustite migrácie. Balík ich automaticky nenačítava — publikovanie skopíruje migráciu requests do vášho database/migrations, kde ju spravujete vy, takže samotné php artisan migrate pred publikovaním nevytvorí nič:
php artisan vendor:publish --tag="requests-migrations"
php artisan vendor:publish --tag="approvals-migrations"
php artisan migrateBalíku patrí tabuľka requests; tabuľky approvals, approval_requests, approval_request_stages a approval_delegations patria schvaľovaciemu enginu, preto publikujte aj jeho migrácie. Opätovné publikovanie prepíše ten istý súbor namiesto vytvorenia druhej kópie.
Typy kľúčov — nastavte pred migráciou
Migrácie čítajú typy kľúčov iba raz, pri prvom spustení. Číselné id nepotrebujú nič; pri UUID alebo ULID kľúčoch nastavte:
| Env | Konfigurácia | Kedy ho nastaviť |
|---|---|---|
REQUESTS_KEY_TYPE | requests.key_type | Modely, ktoré podávajú žiadosti, majú UUID alebo ULID kľúče. |
APPROVALS_KEY_TYPE | approvals.key_type | Schvaľovatelia (a každý ďalší model, na ktorý odkazuje schvaľovací engine) majú UUID alebo ULID kľúče. |
REQUESTS_PRIMARY_KEY_TYPE | requests.primary_key_type | Vždy — na rovnakú hodnotu ako APPROVALS_KEY_TYPE, keďže stĺpce subject a approvable enginu odkazujú na id žiadosti. |
Aplikácia s UUID autormi aj schvaľovateľmi nastaví všetky tri na uuid. Ak pri APPROVALS_KEY_TYPE=uuid ponecháte REQUESTS_PRIMARY_KEY_TYPE na bigint, PostgreSQL zlyhá (invalid input syntax for type uuid) pri prvej žiadosti so schvaľovateľmi alebo pri prvom rozhodnutí, kým MySQL a SQLite celé číslo potichu uložia. Dvojicu nič neporovnáva pri štarte ani pri migrácii, preto obe hodnoty nastavte ešte pred migráciou (pozri Konfigurácia).
Voliteľné súbory
Konfiguračné súbory a preklady výnimiek publikujte, len keď ich potrebujete prepísať — správy výnimiek sú už v angličtine aj slovenčine:
php artisan vendor:publish --tag="requests-config"
php artisan vendor:publish --tag="approvals-config"
php artisan vendor:publish --tag="requests-translations"Ďalšie kroky
- Pridajte GivesApprovals modelom, ktoré schvaľujú, a HasRequests modelom, ktoré podávajú žiadosti (Nastavenie modelov).
- Vytvorte prvú žiadosť cez Requests::make() (Vytváranie žiadostí).
- Naplánujte requests:expire, ak majú žiadosti vypršať (Zrušenie a expirácia).
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.