/friendable

Trait to make users friends with each other

Primary LanguagePHPMIT LicenseMIT

Friendable

Latest Stable Version Total Downloads Build Status License

Add the possibility of friends quickly with the use of this trait.

Install

Via Composer

$ composer require gregoryduckworth/friendable

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

'providers' => [
    ...
    GregoryDuckworth\Friendable\FriendableServiceProvider::class,
    ...
];

At lastly you need to publish and run the migration.

php artisan vendor:publish && php artisan migrate

Usage

Add the Trait to the User Model

use GregoryDuckworth\Friendable\Traits\Friendable;

class User extends Model
{
    use Friendable;
    ...
}

Examples

List all the users confirmed friends

    $user->confirmedFriends();

List all the users pending friends

    $user->pendingFriends();

List all the friends waiting to approve the user

    $user->awaitingApproval();

Request the friendship of another user

    $user->requestFriendship(Model $friend);

Confirm the friendship

    $user->confirmFriendship(Model $friend);

Remove the friendship

    $user->removeFriendship(Model $friend);

Todo

  • Add tests (inc travis builds)
  • Ability to block friends

Change log

Please see CHANGELOG for more information what has changed recently.

License

The MIT License (MIT). Please see License File for more information.