Files
voltcerto/app/Http/Controllers/UserController.php
Luis Medon e488ae3342 Add feature tests, unit tests, and configuration for Laravel application
- Created ExampleTest and RoutesTest for basic application response and route testing.
- Implemented IsolatedDatabaseTestCase for isolated database testing.
- Added unit tests for various models and services including Contract, CPE, and LeadDetail.
- Developed request validation tests for CreateClientRequest, UpdateClientRequest, and ContractRequest.
- Introduced Vite configuration for asset management in the Laravel application.
2026-10-29 11:30:06 +00:00

65 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\User;
use App\Services\UserService;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Password;
class UserController extends Controller
{
public function __construct(private UserService $users)
{
}
public function index()
{
return view('web.admin.user.index', $this->users->index());
}
public function create()
{
return view('auth.register', $this->users->create());
}
public function store(Request $request)
{
$this->users->store($request);
return redirect()->route('users.index')->with('success', 'Utilizador criado com sucesso.');
}
public function edit(User $user)
{
return view('web.admin.user.add_edit', $this->users->edit($user));
}
public function update(Request $request, User $user)
{
$this->users->update($request, $user);
return redirect()->route('users.index')->with('success', 'Utilizador atualizado com sucesso.');
}
public function destroy(User $user)
{
$this->users->destroy($user);
return redirect()->route('users.index')->with('success', 'Utilizador removido com sucesso.');
}
public function sendPasswordResetLink(User $user)
{
$status = $this->users->sendPasswordResetLink($user);
return redirect()->route('users.edit', $user)->with($status === Password::RESET_LINK_SENT ? 'success' : 'error', __($status));
}
public function savePin(Request $request)
{
$result = $this->users->savePin($request);
return back()->with('success', $result['message']);
}
public function checkPin(Request $request)
{
return response()->json($this->users->checkPin($request));
}
}