merodiro / friendships
This package gives users the ability to manage their friendships.
Installs: 9 675
Dependents: 0
Suggesters: 0
Security: 0
Stars: 45
Watchers: 0
Forks: 3
Open Issues: 1
Requires
- php: >=7.0.0
- illuminate/support: ^5.6
Requires (Dev)
- graham-campbell/testbench: ^5.0
- mockery/mockery: ^1.0
- squizlabs/php_codesniffer: ^3.2
This package is not auto-updated.
Last update: 2024-11-10 03:25:56 UTC
README
This package gives users the ability to manage their friendships.
Models can:
- Send Friend Requests
- Accept Friend Requests
- Deny Friend Requests
- Delete Friend
Installation
First, install the package through Composer.
composer require merodiro/friendships
Then include the service provider inside config/app.php
.
'providers' => [ ... Merodiro\Friendships\FriendshipsServiceProvider::class, ... ];
Finally, migrate the database
php artisan migrate
Setup a Model
use Merodiro\Friendships\Friendable; class User extends Model { use Friendable; ... }
How to use
Check the Test file to see the package in action
Send a Friend Request
$user->addFriend($recipient);
Accept a Friend Request
$user->acceptFriend($sender);
Deny a Friend Request
$user->deleteFriend($sender);
Remove Friend
$user->deleteFriend($friend);
Mutual Friends
$user->mutualFriends($anotherUser);
check the current relationship between two users
$user->checkFriendship($anotherUser);
it returns
same_user
=> if the$user
is checking his own accountfriends
=> if they are friendswaiting
=> if$user
sent a request waiting for approval from$anotherUser
pending
=> if$anotherUser
user sent a request waiting for approval from$user
not_friends
=> if they are not friends
Check if two users are friends
$user->isFriendsWith($anotherUser);
it returns true
if they are friends and false
if they aren't
Friends
To get a collection of users use the following methods:
Get Friends
$user->friends();
Get a list of users that $user
has received friend requests from
$user->friendRequestsReceived();
Get a list of users that $user
has sent friend requests to
$user->friendRequestsSent();
Events
This is the list of the events fired by default for each action
for more about how to use the events Check this example
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security-related issues, please email merodiro@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.