UserController.php 976 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Http\Controllers\API;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Resources\API\UserInfoResource;
  5. use App\Models\Role;
  6. use App\Models\User;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Auth;
  9. class UserController extends Controller
  10. {
  11. public function info()
  12. {
  13. $user = Auth::user();
  14. return new UserInfoResource($user);
  15. }
  16. public function assignRole(Request $request, string $id)
  17. {
  18. $user = User::query()->findOrFail($id);
  19. $roleName = $request->get('role_name');
  20. if ($roleName) {
  21. $role = Role::query()->where("guard_name", "api")->where('name', $roleName)->firstOrFail();
  22. $user->role_id = $role->id;
  23. $user->save();
  24. }
  25. $roles = $roleName ? [$roleName] : [];
  26. $user->syncRoles($roles);
  27. return $this->noContent();
  28. }
  29. public function index(){
  30. $user = User::all();
  31. return $user;
  32. }
  33. }