laravel-friendable
laravel-friendable copied to clipboard
Laravel Friendable
Installation
Require this package, with Composer, in the root directory of your project.
$ composer require artisanry/friendable
To get started, you'll need to publish the vendor assets and migrate:
php artisan vendor:publish --provider="Artisanry\Friendable\FriendableServiceProvider" && php artisan migrate
Usage
Setup a Model
<?php
namespace App;
use Artisanry\Friendable\HasFriends;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
use HasFriends;
}
Examples
Send a Friend-Request to a Model
$user->befriend($userToBeFriendsWith);
Unfriend a Model
$user->unfriend($userToBeFriendsWith);
Deny a Friend-Request from a Model
$user->denyFriendRequest($userToBeFriendsWith);
Accept a Friend-Request from a Model
$user->acceptFriendRequest($userToBeFriendsWith);
Block a Model
$user->blockFriendRequest($userToBeFriendsWith);
Unblock a Model
$user->unblockFriendRequest($userToBeFriendsWith);
Check if the Model has blocked another Model
$user->hasBlocked($userToBeFriendsWith);
Check if one Model is blocked by another Model
$user->isBlockedBy($userToBeFriendsWith);
Check if a Friendship exists between two models
$user->isFriendsWith($userToBeFriendsWith);
Get a single friendship
$user->getFriendship($userToBeFriendsWith);
Get a list of all Friendships
$user->getAllFriendships();
Get a list of pending Friendships
$user->getPendingFriendships();
Get a list of accepted Friendships
$user->getAcceptedFriendships();
Get a list of denied Friendships
$user->getDeniedFriendships();
Get a list of blocked Friendships
$user->getBlockedFriendships();
Get a list of pending Friend-Requests
$user->getFriendRequests();
Testing
$ phpunit
Security
If you discover a security vulnerability within this package, please send an e-mail to [email protected]. All security vulnerabilities will be promptly addressed.
Credits
This project exists thanks to all the people who contribute.
License
Mozilla Public License Version 2.0 (MPL-2.0).