This commit is contained in:
@@ -0,0 +1,200 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Mobile\ConectaCidadao\Autenticacao;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Services\Mobile\ConectaCidadao\Autenticacao\AutenticacaoService;
|
||||
use App\Services\Mobile\ConectaCidadao\Autenticacao\PrimeiroAcessoService;
|
||||
use App\Services\Mobile\ConectaCidadao\Autenticacao\RecuperacaoSenhaService;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class AutenticacaoController extends Controller
|
||||
{
|
||||
private AutenticacaoService $autenticacaoService;
|
||||
private PrimeiroAcessoService $primeiroAcessoService;
|
||||
private RecuperacaoSenhaService $recuperacaoSenhaService;
|
||||
|
||||
public function __construct(
|
||||
AutenticacaoService $autenticacaoService,
|
||||
PrimeiroAcessoService $primeiroAcessoService,
|
||||
RecuperacaoSenhaService $recuperacaoSenhaService
|
||||
) {
|
||||
$this->autenticacaoService = $autenticacaoService;
|
||||
$this->primeiroAcessoService = $primeiroAcessoService;
|
||||
$this->recuperacaoSenhaService = $recuperacaoSenhaService;
|
||||
}
|
||||
|
||||
public function login(Request $request)
|
||||
{
|
||||
$dadosValidados = $request->validate([
|
||||
'cpf' => ['required', 'string'],
|
||||
'senha' => ['required', 'string'],
|
||||
]);
|
||||
|
||||
try {
|
||||
$resultado = $this->autenticacaoService->login($dadosValidados);
|
||||
} catch (\InvalidArgumentException $exception) {
|
||||
return response()->json([
|
||||
'message' => $exception->getMessage(),
|
||||
], $exception->getCode() ?: Response::HTTP_UNAUTHORIZED);
|
||||
}
|
||||
|
||||
return response()->json($resultado, Response::HTTP_OK);
|
||||
}
|
||||
|
||||
public function refresh(Request $request)
|
||||
{
|
||||
try {
|
||||
$resultado = $this->autenticacaoService->refresh();
|
||||
} catch (\InvalidArgumentException $exception) {
|
||||
return response()->json([
|
||||
'message' => $exception->getMessage(),
|
||||
], $exception->getCode() ?: Response::HTTP_UNAUTHORIZED);
|
||||
}
|
||||
|
||||
return response()->json($resultado, Response::HTTP_OK);
|
||||
}
|
||||
|
||||
public function primeiroAcessoIniciar(Request $request)
|
||||
{
|
||||
$dadosValidados = $request->validate([
|
||||
'cpf' => ['required', 'string'],
|
||||
'data_nascimento' => ['required', 'date_format:Y-m-d'],
|
||||
'telefone' => ['required', 'string'],
|
||||
]);
|
||||
|
||||
try {
|
||||
$resultado = $this->primeiroAcessoService->iniciar($dadosValidados);
|
||||
} catch (\InvalidArgumentException $exception) {
|
||||
return response()->json([
|
||||
'message' => $exception->getMessage(),
|
||||
], $exception->getCode() ?: Response::HTTP_UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
|
||||
return response()->json($resultado, Response::HTTP_OK);
|
||||
}
|
||||
|
||||
public function primeiroAcessoReenviarCodigo(Request $request)
|
||||
{
|
||||
$dadosValidados = $request->validate([
|
||||
'token' => ['required', 'integer'],
|
||||
]);
|
||||
|
||||
try {
|
||||
$this->primeiroAcessoService->reenviarCodigo($dadosValidados['token']);
|
||||
} catch (\InvalidArgumentException $exception) {
|
||||
return response()->json([
|
||||
'message' => $exception->getMessage(),
|
||||
], $exception->getCode() ?: Response::HTTP_UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
|
||||
return response()->json([], Response::HTTP_NO_CONTENT);
|
||||
}
|
||||
|
||||
public function primeiroAcessoValidarCodigo(Request $request)
|
||||
{
|
||||
$dadosValidados = $request->validate([
|
||||
'token' => ['required', 'integer'],
|
||||
'codigo' => ['required', 'string'],
|
||||
]);
|
||||
|
||||
try {
|
||||
$this->primeiroAcessoService->validarCodigo($dadosValidados);
|
||||
} catch (\InvalidArgumentException $exception) {
|
||||
return response()->json([
|
||||
'message' => $exception->getMessage(),
|
||||
], $exception->getCode() ?: Response::HTTP_UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
|
||||
return response()->json([], Response::HTTP_NO_CONTENT);
|
||||
}
|
||||
|
||||
public function primeiroAcessoDefinirSenha(Request $request)
|
||||
{
|
||||
$dadosValidados = $request->validate([
|
||||
'token' => ['required', 'integer'],
|
||||
'senha' => ['required', 'string', 'min:6'],
|
||||
]);
|
||||
|
||||
try {
|
||||
$this->primeiroAcessoService->definirSenha($dadosValidados);
|
||||
} catch (\InvalidArgumentException $exception) {
|
||||
return response()->json([
|
||||
'message' => $exception->getMessage(),
|
||||
], $exception->getCode() ?: Response::HTTP_UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
|
||||
return response()->json([], Response::HTTP_NO_CONTENT);
|
||||
}
|
||||
|
||||
public function recuperacaoSenhaIniciar(Request $request)
|
||||
{
|
||||
$dadosValidados = $request->validate([
|
||||
'cpf' => ['required', 'string'],
|
||||
]);
|
||||
|
||||
try {
|
||||
$resultado = $this->recuperacaoSenhaService->iniciar($dadosValidados['cpf']);
|
||||
} catch (\InvalidArgumentException $exception) {
|
||||
return response()->json([
|
||||
'message' => $exception->getMessage(),
|
||||
], $exception->getCode() ?: Response::HTTP_UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
|
||||
return response()->json($resultado, Response::HTTP_OK);
|
||||
}
|
||||
|
||||
public function recuperacaoSenhaReenviarCodigo(Request $request)
|
||||
{
|
||||
$dadosValidados = $request->validate([
|
||||
'token' => ['required', 'integer'],
|
||||
]);
|
||||
|
||||
try {
|
||||
$this->recuperacaoSenhaService->reenviarCodigo($dadosValidados['token']);
|
||||
} catch (\InvalidArgumentException $exception) {
|
||||
return response()->json([
|
||||
'message' => $exception->getMessage(),
|
||||
], $exception->getCode() ?: Response::HTTP_UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
|
||||
return response()->json([], Response::HTTP_NO_CONTENT);
|
||||
}
|
||||
|
||||
public function recuperacaoSenhaValidarCodigo(Request $request)
|
||||
{
|
||||
$dadosValidados = $request->validate([
|
||||
'token' => ['required', 'integer'],
|
||||
'codigo' => ['required', 'string'],
|
||||
]);
|
||||
|
||||
try {
|
||||
$this->recuperacaoSenhaService->validarCodigo($dadosValidados);
|
||||
} catch (\InvalidArgumentException $exception) {
|
||||
return response()->json([
|
||||
'message' => $exception->getMessage(),
|
||||
], $exception->getCode() ?: Response::HTTP_UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
|
||||
return response()->json([], Response::HTTP_NO_CONTENT);
|
||||
}
|
||||
|
||||
public function recuperacaoSenhaRedefinirSenha(Request $request)
|
||||
{
|
||||
$dadosValidados = $request->validate([
|
||||
'token' => ['required', 'integer'],
|
||||
'senha' => ['required', 'string', 'min:6'],
|
||||
]);
|
||||
|
||||
try {
|
||||
$this->recuperacaoSenhaService->redefinirSenha($dadosValidados);
|
||||
} catch (\InvalidArgumentException $exception) {
|
||||
return response()->json([
|
||||
'message' => $exception->getMessage(),
|
||||
], $exception->getCode() ?: Response::HTTP_UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
|
||||
return response()->json([], Response::HTTP_NO_CONTENT);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user