1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?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();
- }
- public function destroy(string $id)
- {
- }
- public function show(string $id)
- {
- }
- public function update(CreateOrUpdateRequest $request, string $id)
- {
- }
- }
|