Skip to content

forked-repo/Laravel-Friendable

Repository files navigation

Laravel Friendable

Installation

Require this package, with Composer, in the root directory of your project.

$ composer require faustbrian/laravel-friendable

And then include the service provider within app/config/app.php.

BrianFaust\Friendable\FriendableServiceProvider::class

To get started, you'll need to publish the vendor assets and migrate:

php artisan vendor:publish --provider="BrianFaust\Friendable\FriendableServiceProvider" && php artisan migrate

Usage

Setup a Model

<?php

namespace App;

use BrianFaust\Friendable\HasFriendsTrait;
use BrianFaust\Friendable\Interfaces\HasFriends;
use Illuminate\Database\Eloquent\Model;

class User extends Model implements HasFriends
{
    use HasFriendsTrait;
}

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();

Security

If you discover a security vulnerability within this package, please send an e-mail to Brian Faust at hello@brianfaust.de. All security vulnerabilities will be promptly addressed.

License

MIT © Brian Faust

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages