Makes Laravel Notification a Breeze...
This package is custom notify for both admins and users, so instead of using laravel notification. I built this custom notification package for my projects, so if you want to try it out read through the documentation.
The recommended way to install codelets-mv/notification is through Composer.
# Install package via composer
composer require codelets-mv/notification
Next, run the Composer command to install the latest stable version of codelets-mv/notification:
# Update package via composer
composer require codelets-mv/notification --lock
After installing, the package will be auto discovered, But if need you may run:
# run for auto discovery <-- If the package is not detected automatically -->
composer dump-autoload
Then run this, to get the config/mv-notification.php for configurations:
# run this to get the configuartion file at config/mv-notification.php <-- read through it -->
php artisan vendor:publish --provider="MV\Notification\MvNotificationService"
You will have to provide this in the .env for the api configurations:
# This is the pagination number you want to paginate with <-- default(10) -->
MV_NOTIFICATION_PAGINATE=
Follow the steps below on how to use the package:
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct() {
//The instance should be either this
$this->middleware('auth:admin');//for your admin controller
//or
$this->middleware('auth');//for your user Controller
}
/**
* ---------------------------------
* Fetch Latest Notification Here
* --------------------------------
* Passing bool - true - to the function will query admin notification only
* @return void
*/
public function latestNotifications() {
Mv::latestNotifications();//Fetching latest notification for user
Mv::latestNotifications(true);//Fetching latest notification for admin
}
/**
* --------------------------------
* Fetching all notifications
* -------------------------------
* Passing bool - true - to the function will query admin notification only
* @return void
*/
public function allNotifications() {
Mv::allNotifications();//Fetching all notifications for user
Mv::allNotifications(true);//Fetching all notifications for admin
}
/**
* =-------------------------------
* Deleting a single notification
* --------------------------------
* Passing bool - true - to the function will query admin notification only
* ------------------------------------------------------------------------------
* To achieve single notification create a route that receives a (string) notification_id
* Note that this package uses uuids so the notification_id has to be a string
* ----------------------------------------------------------------------------------------
* Passing bool - true - to the function will query admin notification only
* -----------------------------------------------------------------------------------------------
* @param string $notification_id
* @return void
*/
public function deleteSingleNotification(string $notification_id) {
Mv::deleteSingleNotification($notification_id);//For user
Mv::deleteSingleNotification($notification_id, true);//For admin
}
/**
* =-------------------------------
* Deleting a all notification
* --------------------------------
* Passing bool - true - to the function will query admin notification only
* ------------------------------------------------------------------------------
* Passing bool - true - to the function will query admin notification only
* ----------------------------------------------------------------------------------
* @return void
*/
public function deleteAllNotifications() {
Mv::deleteAllNotifications();//For user
Mv::deleteAllNotifications(true);//For admin
}
/**
* --------------------------------
* Creating new notification here
* --------------------------------
* In creating notification we need 4 parameters of which 2 are optional that is for user_id and admin_id
* -------------------------------------------------------------------------------------------------------
* Also you can have your function that receives the parameters and passes them to Mv::createSystemNotification
* --------------------------------------------------------------------------------------------------------------
* @return void
*/
public function createSystemNotification() {
//This is for creating user notifications
Mv::createSystemNotification(null, auth()->id(), 'My Notification Subject', 'My Notification Message');
//This is for creating admin notifications
Mv::createSystemNotification(auth('admin')->id(), null, 'My Notification Subject', 'My Notification Message');
}
/**
* ---------------------------
* TODO SIMPLE PACKAGE NOTES
* -----------------------------------------------------------------------------------------
* For the functions used above can be changed to your own names to call the package names
* -----------------------------------------------------------------------------------------
*/
Version | Status | Packagist | Namespace | Repo |
---|---|---|---|---|
1.x | Latest | codelets-mv/notification |
MV\Notification |
v1.0.0 |
For any security vulnerabilities, please email to MvTechZone.
This package is open-source software licensed under the MIT license.