From 0fdd92e314dc3a08e1eae0044203795324423f86 Mon Sep 17 00:00:00 2001 From: hazim Date: Mon, 11 Mar 2019 18:34:58 +0800 Subject: [PATCH] list user account backend --- .../Accounts/Services/ListUserAccount.php | 37 +++++++++++++++++++ .../Accounts/ListUserAccountLogic.php | 33 +++++++++++++++++ .../ValueObjects/Constants/UserRoles.php | 8 ++++ .../Account/ListUserController.php | 21 +++++++++++ app/Http/Resources/User.php | 25 +++++++++++++ routes/api.php | 1 + 6 files changed, 125 insertions(+) create mode 100644 app/Classes/Modules/Accounts/Services/ListUserAccount.php create mode 100644 app/Classes/Modules/ControllersLogic/Accounts/ListUserAccountLogic.php create mode 100644 app/Http/Controllers/Account/ListUserController.php create mode 100644 app/Http/Resources/User.php diff --git a/app/Classes/Modules/Accounts/Services/ListUserAccount.php b/app/Classes/Modules/Accounts/Services/ListUserAccount.php new file mode 100644 index 0000000..5df19b0 --- /dev/null +++ b/app/Classes/Modules/Accounts/Services/ListUserAccount.php @@ -0,0 +1,37 @@ +repository = $repository; + } + + + public function execute() + { + $user = $this->repository->get(); + + return UserResource::collection($user); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/ControllersLogic/Accounts/ListUserAccountLogic.php b/app/Classes/Modules/ControllersLogic/Accounts/ListUserAccountLogic.php new file mode 100644 index 0000000..a35f5aa --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Accounts/ListUserAccountLogic.php @@ -0,0 +1,33 @@ +listUserAccount = $listUserAccount; + } + + + public function execute() + { + return $this->listUserAccount->execute(); + } +} \ No newline at end of file diff --git a/app/Classes/ValueObjects/Constants/UserRoles.php b/app/Classes/ValueObjects/Constants/UserRoles.php index 760b08c..ae00b5c 100644 --- a/app/Classes/ValueObjects/Constants/UserRoles.php +++ b/app/Classes/ValueObjects/Constants/UserRoles.php @@ -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', + ]; + } diff --git a/app/Http/Controllers/Account/ListUserController.php b/app/Http/Controllers/Account/ListUserController.php new file mode 100644 index 0000000..ad2d280 --- /dev/null +++ b/app/Http/Controllers/Account/ListUserController.php @@ -0,0 +1,21 @@ +execute(); + } + +} \ No newline at end of file diff --git a/app/Http/Resources/User.php b/app/Http/Resources/User.php new file mode 100644 index 0000000..82cecbf --- /dev/null +++ b/app/Http/Resources/User.php @@ -0,0 +1,25 @@ + $this->first_name.' '.$this->last_name, + 'role' => UserRoles::ROLES_ID[$this->role_id], + 'created_at' => $this->created_at + ]; + } +} diff --git a/routes/api.php b/routes/api.php index 8b4f91c..f9c156b 100644 --- a/routes/api.php +++ b/routes/api.php @@ -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