12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- namespace App\Http\Controllers\API;
- use App\Http\Controllers\Controller;
- use App\Http\Requests\API\User\CreateOrUpdateRequest;
- use App\Http\Resources\API\UserInfoResource;
- use App\Models\Role;
- use App\Models\User;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\Hash;
- class UserController extends Controller
- {
- public function info()
- {
- $user = Auth::user();
- return new UserInfoResource($user);
- }
- public function assignRole(Request $request, string $id)
- {
- $user = User::query()->findOrFail($id);
- $roleName = $request->get('role_name');
- if ($roleName) {
- $role = Role::query()->where("guard_name", "api")->where('name', $roleName)->firstOrFail();
- $user->role_id = $role->id;
- $user->save();
- }
- $roles = $roleName ? [$roleName] : [];
- $user->syncRoles($roles);
- return $this->noContent();
- }
- public function index(){
- $user = User::all();
- return UserInfoResource::collection($user);
- }
- /**
- * add a new User
- * @return \Illuminate\Http\Response
- */
- public function store(CreateOrUpdateRequest $request){
- $password = Hash::make($request->password);
- $user=$request->all();
- $user['password']=$password;
- User::create([
- ...$user,
- 'created_by' => Auth::id(),
- ]);
- // TODO:发送邮箱给目标用户
- return $this->created();
- }
- }
|