From: Jascha Sticher Date: Wed, 5 May 2021 11:46:14 +0000 (+0200) Subject: Test API Endpoint for users X-Git-Tag: v22.02~1^2~18^2~6^2~1 X-Git-Url: http://source.bookstackapp.com/bookstack/commitdiff_plain/07626669dad962856e52dddeacb1a9f000f93150 Test API Endpoint for users --- diff --git a/app/Auth/UserRepo.php b/app/Auth/UserRepo.php index e437ff1e3..89d5ba4b7 100644 --- a/app/Auth/UserRepo.php +++ b/app/Auth/UserRepo.php @@ -61,6 +61,14 @@ class UserRepo return User::query()->with('roles', 'avatar')->orderBy('name', 'asc')->get(); } + /** + * Get all users as Builder for API + */ + public function getUsersBuilder(): Builder + { + $query = User::query()->select(['*']); + return $query; + } /** * Get all the users with their permissions in a paginated format. */ diff --git a/app/Http/Controllers/Api/UserApiController.php b/app/Http/Controllers/Api/UserApiController.php new file mode 100644 index 000000000..e8b98525d --- /dev/null +++ b/app/Http/Controllers/Api/UserApiController.php @@ -0,0 +1,42 @@ + [ +# ], +# 'update' => [ +# ], +# ]; + + public function __construct(User $user, UserRepo $userRepo) + { + $this->user = $user; + $this->userRepo = $userRepo; + } + + /** + * Get a listing of pages visible to the user. + */ + public function list() + { + $users = $this->userRepo->getUsersBuilder(); + + return $this->apiListingResponse($users, [ + 'id', 'name', 'slug', + 'email', 'created_at', 'updated_at', + ]); + } +} diff --git a/routes/api.php b/routes/api.php index 44643d6d4..0a9f99f50 100644 --- a/routes/api.php +++ b/routes/api.php @@ -44,3 +44,5 @@ Route::post('shelves', 'BookshelfApiController@create'); Route::get('shelves/{id}', 'BookshelfApiController@read'); Route::put('shelves/{id}', 'BookshelfApiController@update'); Route::delete('shelves/{id}', 'BookshelfApiController@delete'); + +Route::get('users', 'UserApiController@list');