Implementation of Notifications API.
Install the saritasa/laravel-notifications-api
package:
$ composer require saritasa/laravel-notifications-api
If you use Laravel 5.4 or less,
or 5.5+ with package discovery disabled,
add the NotificationsApiServiceProvider in config/app.php
:
'providers' => array(
// ...
Saritasa\PushNotifications\NotificationsApiServiceProvider::class,
)
For customization some library entities use artisan publish command:
-
php artisan vendor:publish --tag=saritasa-notifications-swagger
for add yaml files for api description (note: don't forget add them to paths.yaml)
-
php artisan vendor:publish --tag=saritasa-notifications-migrations
for customization migrations
-
php artisan vendor:publish --tag=saritasa-notifications-config
for customization config file
Or just use to publish all customizable resources
php artisan vendor:publish --tag=saritasa-notifications
Description of possible notification type, and if it should be on or off by default.
Mandatory fields
- id (int)
- name (string)
- defaultOn (boolean)
User's personal setting value - if certain notification type is on or off.
Mandatory fields:
- id (int)
- userId (int)
- notificationTypeId (int)
- isOn (boolean)
- Create fork, checkout it
- Develop locally as usual. Code must follow PSR-1, PSR-2 - run PHP_CodeSniffer to ensure, that code follows style guides
- Cover added functionality with unit tests and run PHPUnit to make sure, that all tests pass
- Update README.md to describe new or changed functionality
- Add changes description to CHANGES.md file. Use Semantic Versioning convention to determine next version number.
- When ready, create pull request
If you have GNU Make installed, you can use following shortcuts:
make cs
(instead ofphp vendor/bin/phpcs
) - run static code analysis with PHP_CodeSniffer to check code stylemake csfix
(instead ofphp vendor/bin/phpcbf
) - fix code style violations with PHP_CodeSniffer automatically, where possible (ex. PSR-2 code formatting violations)make test
(instead ofphp vendor/bin/phpunit
) - run tests with PHPUnitmake install
- instead ofcomposer install
make all
or justmake
without parameters - invokes described above install, cs, test tasks sequentially - project will be assembled, checked with linter and tested with one single command