added user companies to api

This commit is contained in:
denisdulici 2017-09-19 23:35:05 +03:00
parent 9281e2b55f
commit 1dd984bfa4
2 changed files with 14 additions and 4 deletions

View File

@ -19,7 +19,7 @@ class Users extends ApiController
*/ */
public function index() public function index()
{ {
$users = User::with(['roles', 'permissions'])->collect(); $users = User::with(['companies', 'roles', 'permissions'])->collect();
return $this->response->paginator($users, new Transformer()); return $this->response->paginator($users, new Transformer());
} }
@ -34,9 +34,9 @@ class Users extends ApiController
{ {
// Check if we're querying by id or email // Check if we're querying by id or email
if (is_numeric($id)) { if (is_numeric($id)) {
$user = User::with(['roles', 'permissions'])->findOrFail($id); $user = User::with(['companies', 'roles', 'permissions'])->findOrFail($id);
} else { } else {
$user = User::with(['roles', 'permissions'])->where('email', $id)->first(); $user = User::with(['companies', 'roles', 'permissions'])->where('email', $id)->first();
} }
return $this->response->item($user, new Transformer()); return $this->response->item($user, new Transformer());

View File

@ -2,6 +2,7 @@
namespace App\Http\Transformers\Auth; namespace App\Http\Transformers\Auth;
use App\Http\Transformers\Company\Company;
use App\Models\Auth\User as Model; use App\Models\Auth\User as Model;
use League\Fractal\TransformerAbstract; use League\Fractal\TransformerAbstract;
@ -10,7 +11,7 @@ class User extends TransformerAbstract
/** /**
* @var array * @var array
*/ */
protected $defaultIncludes = ['roles']; protected $defaultIncludes = ['companies', 'roles'];
/** /**
* @param Model $model * @param Model $model
@ -27,6 +28,15 @@ class User extends TransformerAbstract
]; ];
} }
/**
* @param Model $model
* @return \League\Fractal\Resource\Collection
*/
public function includeCompanies(Model $model)
{
return $this->collection($model->companies, new Company());
}
/** /**
* @param Model $model * @param Model $model
* @return \League\Fractal\Resource\Collection * @return \League\Fractal\Resource\Collection