From 46e6e239dc644b6949e6609c27339c62a84bc711 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Fri, 4 Feb 2022 00:44:56 +0000 Subject: [PATCH] Added user API examples --- app/Auth/User.php | 2 +- .../Controllers/Api/UserApiController.php | 2 ++ dev/api/requests/users-create.json | 7 ++++ dev/api/requests/users-update.json | 7 ++++ dev/api/responses/users-create.json | 19 +++++++++++ dev/api/responses/users-list.json | 33 +++++++++++++++++++ dev/api/responses/users-read.json | 19 +++++++++++ dev/api/responses/users-update.json | 19 +++++++++++ 8 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 dev/api/requests/users-create.json create mode 100644 dev/api/requests/users-update.json create mode 100644 dev/api/responses/users-create.json create mode 100644 dev/api/responses/users-list.json create mode 100644 dev/api/responses/users-read.json create mode 100644 dev/api/responses/users-update.json diff --git a/app/Auth/User.php b/app/Auth/User.php index c2b241381..b7f88b590 100644 --- a/app/Auth/User.php +++ b/app/Auth/User.php @@ -72,7 +72,7 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon */ protected $hidden = [ 'password', 'remember_token', 'system_name', 'email_confirmed', 'external_auth_id', 'email', - 'created_at', 'updated_at', 'image_id', 'roles', 'avatar', + 'created_at', 'updated_at', 'image_id', 'roles', 'avatar', 'user_id', ]; /** diff --git a/app/Http/Controllers/Api/UserApiController.php b/app/Http/Controllers/Api/UserApiController.php index cd97dead1..aa2a2481c 100644 --- a/app/Http/Controllers/Api/UserApiController.php +++ b/app/Http/Controllers/Api/UserApiController.php @@ -81,6 +81,7 @@ class UserApiController extends ApiController /** * Create a new user in the system. + * Requires permission to manage users. */ public function create(Request $request) { @@ -111,6 +112,7 @@ class UserApiController extends ApiController /** * Update an existing user in the system. + * Requires permission to manage users. * @throws UserUpdateException */ public function update(Request $request, string $id) diff --git a/dev/api/requests/users-create.json b/dev/api/requests/users-create.json new file mode 100644 index 000000000..ccc43d9e4 --- /dev/null +++ b/dev/api/requests/users-create.json @@ -0,0 +1,7 @@ +{ + "name": "Dan Brown", + "email": "dannyb@example.com", + "roles": [1], + "language": "fr", + "send_invite": true +} \ No newline at end of file diff --git a/dev/api/requests/users-update.json b/dev/api/requests/users-update.json new file mode 100644 index 000000000..d7787ed1a --- /dev/null +++ b/dev/api/requests/users-update.json @@ -0,0 +1,7 @@ +{ + "name": "Dan Spaggleforth", + "email": "dspaggles@example.com", + "roles": [2], + "language": "de", + "password": "hunter2000" +} \ No newline at end of file diff --git a/dev/api/responses/users-create.json b/dev/api/responses/users-create.json new file mode 100644 index 000000000..509d88941 --- /dev/null +++ b/dev/api/responses/users-create.json @@ -0,0 +1,19 @@ +{ + "id": 1, + "name": "Dan Brown", + "email": "dannyb@example.com", + "created_at": "2022-02-03T16:27:55.000000Z", + "updated_at": "2022-02-03T16:27:55.000000Z", + "external_auth_id": "abc123456", + "slug": "dan-brown", + "last_activity_at": "2022-02-03T16:27:55.000000Z", + "profile_url": "https://docs.example.com/user/dan-brown", + "edit_url": "https://docs.example.com/settings/users/1", + "avatar_url": "https://docs.example.com/uploads/images/user/2021-10/thumbs-50-50/profile-2021.jpg", + "roles": [ + { + "id": 1, + "display_name": "Admin" + } + ] +} \ No newline at end of file diff --git a/dev/api/responses/users-list.json b/dev/api/responses/users-list.json new file mode 100644 index 000000000..e070ee6a6 --- /dev/null +++ b/dev/api/responses/users-list.json @@ -0,0 +1,33 @@ +{ + "data": [ + { + "id": 1, + "name": "Dan Brown", + "email": "dannyb@example.com", + "created_at": "2022-02-03T16:27:55.000000Z", + "updated_at": "2022-02-03T16:27:55.000000Z", + "external_auth_id": "abc123456", + "slug": "dan-brown", + "user_id": 1, + "last_activity_at": "2022-02-03T16:27:55.000000Z", + "profile_url": "https://docs.example.com/user/dan-brown", + "edit_url": "https://docs.example.com/settings/users/1", + "avatar_url": "https://docs.example.com/uploads/images/user/2021-10/thumbs-50-50/profile-2021.jpg" + }, + { + "id": 2, + "name": "Benny", + "email": "benny@example.com", + "created_at": "2022-01-31T20:39:24.000000Z", + "updated_at": "2021-11-18T17:10:58.000000Z", + "external_auth_id": "", + "slug": "benny", + "user_id": 2, + "last_activity_at": "2022-01-31T20:39:24.000000Z", + "profile_url": "https://docs.example.com/user/benny", + "edit_url": "https://docs.example.com/settings/users/2", + "avatar_url": "https://docs.example.com/uploads/images/user/2021-11/thumbs-50-50/guest.jpg" + } + ], + "total": 28 +} \ No newline at end of file diff --git a/dev/api/responses/users-read.json b/dev/api/responses/users-read.json new file mode 100644 index 000000000..509d88941 --- /dev/null +++ b/dev/api/responses/users-read.json @@ -0,0 +1,19 @@ +{ + "id": 1, + "name": "Dan Brown", + "email": "dannyb@example.com", + "created_at": "2022-02-03T16:27:55.000000Z", + "updated_at": "2022-02-03T16:27:55.000000Z", + "external_auth_id": "abc123456", + "slug": "dan-brown", + "last_activity_at": "2022-02-03T16:27:55.000000Z", + "profile_url": "https://docs.example.com/user/dan-brown", + "edit_url": "https://docs.example.com/settings/users/1", + "avatar_url": "https://docs.example.com/uploads/images/user/2021-10/thumbs-50-50/profile-2021.jpg", + "roles": [ + { + "id": 1, + "display_name": "Admin" + } + ] +} \ No newline at end of file diff --git a/dev/api/responses/users-update.json b/dev/api/responses/users-update.json new file mode 100644 index 000000000..611e4e14a --- /dev/null +++ b/dev/api/responses/users-update.json @@ -0,0 +1,19 @@ +{ + "id": 1, + "name": "Dan Spaggleforth", + "email": "dspaggles@example.com", + "created_at": "2022-02-03T16:27:55.000000Z", + "updated_at": "2022-02-03T16:27:55.000000Z", + "external_auth_id": "abc123456", + "slug": "dan-spaggleforth", + "last_activity_at": "2022-02-03T16:27:55.000000Z", + "profile_url": "https://docs.example.com/user/dan-spaggleforth", + "edit_url": "https://docs.example.com/settings/users/1", + "avatar_url": "https://docs.example.com/uploads/images/user/2021-10/thumbs-50-50/profile-2021.jpg", + "roles": [ + { + "id": 2, + "display_name": "Editors" + } + ] +} \ No newline at end of file