Skip to content

Commit 983efa8

Browse files
committed
improvement: adicionado tratamento de erro na chamanda das ações de busca no banco
1 parent 0aa8f0b commit 983efa8

File tree

3 files changed

+42
-7
lines changed

3 files changed

+42
-7
lines changed

src/Controller/UserController.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,17 @@ public function postAction(Request $request)
5858
{
5959
$request = json_decode($request->getContent());
6060

61-
$user = $this->userService->insertUser($request);
61+
try {
62+
$user = $this->userService->insertUser($request);
63+
} catch (\Exception $exception) {
64+
return new JsonResponse([
65+
'status' => false,
66+
'data' => null,
67+
'errors' => [
68+
'Não foi possível concluir a requisição Erro: '. $exception->getMessage()
69+
],
70+
]);
71+
}
6272

6373
return new JsonResponse([
6474
'status' => true,

src/Repository/UserRepository.php

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,24 @@ class UserRepository extends DocumentRepository
1515
{
1616
/**
1717
* @return array
18+
* @throws \Exception
1819
*/
1920
public function findAllOrderedBy()
2021
{
21-
$response = $this->getDocumentManager()->createQueryBuilder()
22-
->find(User::class)
23-
->getQuery()->toArray();
22+
try {
23+
$response = $this->getDocumentManager()->createQueryBuilder()->find(User::class)
24+
->getQuery()->toArray();
25+
} catch (\Exception $exception) {
26+
throw new \Exception($exception->getMessage());
27+
}
28+
2429
return $response;
2530
}
2631

2732
/**
2833
* @param $request
2934
* @return User
35+
* @throws \Exception
3036
*/
3137
public function insert($request)
3238
{
@@ -37,8 +43,12 @@ public function insert($request)
3743
$user->setEmail($request->email);
3844
$user->setIdade($request->idade);
3945

40-
$doctrine->persist($user);
41-
$doctrine->flush();
46+
try {
47+
$doctrine->persist($user);
48+
$doctrine->flush();
49+
} catch (\Exception $exception) {
50+
throw new \Exception($exception->getMessage());
51+
}
4252

4353
return $user;
4454
}

src/Service/UserService.php

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ class UserService
1919
{
2020
private $documentManager;
2121

22+
/**
23+
* UserService constructor.
24+
* @param DocumentManager $documentManager
25+
*/
2226
public function __construct(DocumentManager $documentManager)
2327
{
2428
$this->documentManager = $documentManager;
@@ -41,8 +45,19 @@ public function findAllOrderBy()
4145
return $response;
4246
}
4347

48+
/**
49+
* @param $request
50+
* @return User
51+
* @throws \Exception
52+
*/
4453
public function insertUser($request)
4554
{
46-
return $this->documentManager->getRepository(User::class)->insert($request);
55+
try {
56+
$response = $this->documentManager->getRepository(User::class)->insert($request);
57+
} catch (\Exception $exception) {
58+
throw new \Exception($exception->getMessage());
59+
}
60+
61+
return $response;
4762
}
4863
}

0 commit comments

Comments
 (0)