]> BookStack Code Mirror - bookstack/commitdiff
Test API Endpoint for users
authorJascha Sticher <redacted>
Wed, 5 May 2021 11:46:14 +0000 (13:46 +0200)
committerJascha Sticher <redacted>
Wed, 5 May 2021 12:16:15 +0000 (14:16 +0200)
app/Auth/UserRepo.php
app/Http/Controllers/Api/UserApiController.php [new file with mode: 0644]
routes/api.php

index e437ff1e3b367daeba67fca740197a2e5483894f..89d5ba4b754cc435f6e3562c6667eb84c0d25375 100644 (file)
@@ -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 (file)
index 0000000..e8b9852
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+
+namespace BookStack\Http\Controllers\Api;
+
+use BookStack\Exceptions\PermissionsException;
+use BookStack\Auth\User;
+use BookStack\Auth\UserRepo;
+use Exception;
+use Illuminate\Http\Request;
+
+class UserApiController extends ApiController
+{
+    protected $user;
+    protected $userRepo;
+
+# TBD: Endpoints to create / update users
+#     protected $rules = [
+#         'create' => [
+#         ],
+#         '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',
+        ]);
+    }
+}
index 44643d6d4cc7182a436a7f5ed0d6605d83df637f..0a9f99f5029887ddc98e8b56f4007e5031c2cb92 100644 (file)
@@ -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');
Morty Proxy This is a proxified and sanitized view of the page, visit original site.