Download the PHP package syropian/laravel-notification-channel-throttling without Composer
On this page you can find all versions of the php package syropian/laravel-notification-channel-throttling. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download syropian/laravel-notification-channel-throttling
More information about syropian/laravel-notification-channel-throttling
Files in syropian/laravel-notification-channel-throttling
Package laravel-notification-channel-throttling
Short Description Throttle notifications on a per-channel basis
License MIT
Homepage https://github.com/syropian/laravel-notification-channel-throttling
Informations about the package laravel-notification-channel-throttling
🚦 Laravel Notification Channel Throttling
Throttle your Laravel notifications on a per-channel basis
Introduction
When sending notifications through multiple channels (say email and SMS), you may want to throttle the number of notifications sent through a specific channel. For example, you could limit the number of SMS notifications sent to a user to 1 per day, and limit emails to 5 per day. This package allows you to configure this easily directly in your notification classes.
Installation
You can install the package via composer:
Usage
- Ensure the notification you want to throttle implements
Syropian\LaravelNotificationChannelThrottling\Contracts\ThrottlesChannels
. - Implement the
throttleChannels
method. This method should return an array of channels to throttle, and the configuration for each channel. To omit a channel from throttling either omit the channel from the array, or set the value tofalse
.
Scoping the rate limiter
By default, the rate limiter instance used to throttle is automatically scoped to the notification and channel. If you would like to further scope the rate limiter, you may pass a key
to the channel configuration.
In this example we're rate limiting the mail channel, and we're scoping it to a specific combination of a user and a post.
Testing
Credits
- Collin Henderson
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-notification-channel-throttling with dependencies
spatie/laravel-package-tools Version ^1.14.0
illuminate/mail Version ^10.0|^11.0
illuminate/notifications Version ^10.0|^11.0
illuminate/support Version ^10.0|^11.0