Každá doménová výnimka rozširuje NotificationsException (RuntimeException) a nesie preloženú správu, stabilný strojový kód (errorCode()) a HTTP stav (status()), takže API aplikácie ich namapuje bez porovnávania textu správ. Správy uvádzajú kľúče druhov a názvy modelov, nikdy PHP triedu:
use RoundlyConsulting\Notifications\Exceptions\NotificationsException;
try {
Notifications::preferences($user)->mute('security.alert');
} catch (NotificationsException $e) {
$e->errorCode(); // 'mandatory_notification'
$e->status(); // 422
$e->getMessage(); // translated: The notification "security.alert" is required and cannot be switched off.
}| Výnimka | Kód | HTTP | Kedy |
|---|---|---|---|
UnknownNotificationTypeException | unknown_type | 422 | Kľúč druhu, ktorý nikto nezaregistroval. |
InvalidNotificationTypeException | invalid_type | 422 | Druh, ktorý nemôže fungovať, pri registrácii (pozrite Druhy notifikácií). |
DuplicateNotificationTypeException | duplicate_type | 422 | Jeden kľúč zaregistrovaný dvakrát, s oboma zdrojmi. |
InvalidNotificationSubjectException | invalid_subject | 422 | Subjekt inej triedy; subjekt pre druh bez subjektu; chýbajúci subjekt tam, kde je potrebný (eskalácia). |
InvalidNotificationDataException | invalid_data | 422 | Dáta, ktoré nie sú čistý JSON (s cestou) alebo presahujú max_data_bytes; zlý kontext; neznámy kanál. |
InvalidRecipientException | invalid_recipient | 422 | Príjemca, ktorý nie je Eloquent model. |
UnresolvableRecipientsException | unresolvable_recipients | 422 | Skupina bez ProvidesNotificationRecipients pri predvolenom resolveri. |
UnstorableRecipientsException | unstorable_recipients | 422 | Closure (alebo neskalárne argumenty resolvera) tam, kde sa príjemcovia musia uložiť. |
NoOwnerException | no_owner | 422 | Recipients::owner() bez subjektu alebo subjekt, ktorý neuvádza vlastníka. |
MissingAccessCheckException | missing_access_check | 500 | Predvolená kontrola prístupu na subjekte bez policy aj bez oprávnenia. |
MandatoryNotificationException | mandatory_notification | 422 | Zápis, ktorý by stlmil povinný druh. |
UnknownNotificationCategoryException | unknown_notification_category | 422 | Kategória, ktorú žiadny zaregistrovaný druh nepoužíva. |
InboxItemNotFoundException | inbox_item_not_found | 404 | Chýbajúce id alebo položka iného príjemcu — rovnaká odpoveď. |
InvalidQuietHoursException | invalid_quiet_hours | 422 | Rovnaký začiatok a koniec alebo čas, ktorý nie je HH:MM. |
InvalidTimezoneException | invalid_timezone | 422 | Nie je to časové pásmo IANA. |
InvalidReminderRuleException | invalid_reminder | 422 | Pravidlo, ktoré nemôže fungovať, alebo nečitateľné či nekladné oneskorenie eskalácie. |
InvalidInteropMappingException | invalid_interop_mapping | 500 | Mapovanie na neznámy druh alebo časovo kritická trieda mapovaná na druh, ktorý nie je urgentný, bez okna a nedigestovateľný. |
Chyby konfigurácie vyhadzujú InvalidNotificationsConfigurationException (po anglicky, s názvom kľúča; rozširuje základnú výnimku package-toolkit) alebo InvalidConfigurationException z toolkitu.
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.