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

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-laravel

Migrá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 migrate

Balí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:

EnvKonfiguráciaKedy ho nastaviť
REQUESTS_KEY_TYPErequests.key_typeModely, ktoré podávajú žiadosti, majú UUID alebo ULID kľúče.
APPROVALS_KEY_TYPEapprovals.key_typeSchvaľovatelia (a každý ďalší model, na ktorý odkazuje schvaľovací engine) majú UUID alebo ULID kľúče.
REQUESTS_PRIMARY_KEY_TYPErequests.primary_key_typeVž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 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.