get(); return view('settings.users.index', compact('users')); } public function create() { return view('settings.users.create'); } public function store(Request $request) { $request->validate([ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'password' => ['required', 'confirmed', Rules\Password::defaults()], ]); User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), 'is_admin' => false, ]); return redirect()->route('settings.users.index')->with('success', '사용자가 등록되었습니다.'); } public function destroy(User $user) { if ($user->id === auth()->id()) { return back()->with('error', '자기 자신은 삭제할 수 없습니다.'); } $user->delete(); return back()->with('success', '사용자가 삭제되었습니다.'); } public function promote(User $user) { if ($user->id === auth()->id()) { return back()->with('error', '자기 자신의 권한은 변경할 수 없습니다.'); } $user->update(['is_admin' => !$user->is_admin]); $status = $user->is_admin ? '관리자로 지정되었습니다.' : '관리자 권한이 해제되었습니다.'; return back()->with('success', $status); } }