codelets-mv / notification
This is a custom notification, for keeping users notifications received in an application internally.
Requires
- webpatser/laravel-uuid: ^3.0
This package is auto-updated.
Last update: 2025-03-14 11:20:36 UTC
README
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.
Installing
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=
Usage
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 Guidance
Version | Status | Packagist | Namespace | Repo |
---|---|---|---|---|
1.x | Latest | codelets-mv/notification |
MV\Notification |
v1.0.0 |
Security Vulnerabilities
For any security vulnerabilities, please email to MvTechZone.
License
This package is open-source software licensed under the MIT license.