Add restore to users api endpoint

This commit is contained in:
Delta5 2021-09-21 17:36:11 +00:00
parent 9f3b63387a
commit 20f7fe1ecc
2 changed files with 31 additions and 0 deletions

View file

@ -474,4 +474,28 @@ class UsersController extends Controller
{ {
return (new UsersTransformer)->transformUser($request->user()); return (new UsersTransformer)->transformUser($request->user());
} }
/**
* Restore a soft-deleted user.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $userId
* @since [v6.0.0]
* @return JsonResponse
*/
public function restore($userId = null)
{
// Get asset information
$user = User::withTrashed()->find($userId);
$this->authorize('delete', $user);
if (isset($user->id)) {
// Restore the user
User::withTrashed()->where('id', $userId)->restore();
return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/users/message.success.restored')));
}
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/users/message.user_exists')), 200);
}
} }

View file

@ -896,6 +896,13 @@ Route::group(['prefix' => 'v1', 'middleware' => 'api'], function () {
] ]
)->name('api.users.uploads'); )->name('api.users.uploads');
Route::post('{user}/restore',
[
Api\UsersController::class,
'restore'
]
)->name('api.users.restore');
}); });
Route::resource('users', Route::resource('users',