Giter Club home page Giter Club logo

laravel-friendable's Introduction

Laravel Friendable

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Install

Via Composer

$ composer require draperstudio/laravel-friendable

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

'providers' => [
    DraperStudio\Friendable\ServiceProvider::class
];

At last you need to publish and run the migration.

php artisan vendor:publish --provider="DraperStudio\Friendable\ServiceProvider" && php artisan migrate

Usage

Setup a Model

<?php

/*
 * This file is part of Laravel Friendable.
 *
 * (c) DraperStudio <[email protected]>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace App;

use DraperStudio\Friendable\Contracts\Friendable;
use DraperStudio\Friendable\Traits\Friendable as FriendableTrait;
use Illuminate\Database\Eloquent\Model;

class User extends Model implements Friendable
{
    use FriendableTrait;
}

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

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

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

laravel-friendable's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.