list user account backend

This commit is contained in:
hazim
2019-03-11 18:34:58 +08:00
parent bfb70b9150
commit 0fdd92e314
6 changed files with 125 additions and 0 deletions
@@ -0,0 +1,37 @@
<?php
/**
* Created by PhpStorm.
* User: user
* Date: 08/03/2019
* Time: 4:35 PM
*/
namespace App\Classes\Modules\Accounts\Services;
use App\Models\User;
use App\Http\Resources\User as UserResource;
class ListUserAccount
{
/** @var User */
private $repository;
/**
* ListUserAccount constructor.
* @param User $repository
*/
public function __construct(User $repository)
{
$this->repository = $repository;
}
public function execute()
{
$user = $this->repository->get();
return UserResource::collection($user);
}
}
@@ -0,0 +1,33 @@
<?php
/**
* Created by PhpStorm.
* User: user
* Date: 08/03/2019
* Time: 4:05 PM
*/
namespace App\Classes\Modules\ControllersLogic\Accounts;
use App\Classes\Modules\Accounts\Services\ListUserAccount;
class ListUserAccountLogic
{
/** @var ListUserAccount */
private $listUserAccount;
/**
* ListUserAccountLogic constructor.
* @param ListUserAccount $listUserAccount
*/
public function __construct(ListUserAccount $listUserAccount)
{
$this->listUserAccount = $listUserAccount;
}
public function execute()
{
return $this->listUserAccount->execute();
}
}
@@ -15,6 +15,14 @@ final class UserRoles {
public const SUPPLIER = 4;
public const ROLES_ID = [
0 => 'Administrator',
1 => 'Administrator',
2 => 'Importer',
3 => 'Warehouse',
4 => 'Supplier',
];
}
@@ -0,0 +1,21 @@
<?php
/**
* Created by PhpStorm.
* User: user
* Date: 08/03/2019
* Time: 4:07 PM
*/
namespace App\Http\Controllers\Account;
use App\Classes\Modules\ControllersLogic\Accounts\ListUserAccountLogic;
class ListUserController
{
public function list(ListUserAccountLogic $logic)
{
return $logic->execute();
}
}
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Http\Resources;
use App\Classes\Constants;
use App\Classes\ValueObjects\Constants\UserRoles;
use Illuminate\Http\Resources\Json\JsonResource;
class User extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'full_name' => $this->first_name.' '.$this->last_name,
'role' => UserRoles::ROLES_ID[$this->role_id],
'created_at' => $this->created_at
];
}
}
+1
View File
@@ -19,6 +19,7 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function
Route::group(['prefix' => 'account', 'as' => 'account.', 'namespace' => 'Account'], function () {
Route::post('/create', 'RegisterAccountController@register')->name('create');
Route::post('/invite', 'InviteUserController@invite')->name('invite');
Route::get('/list/active','ListUserController@list')->name('list');
});
// Companies Routes