Skip to content

Commit 54b52be

Browse files
committed
wip
1 parent 4c1d789 commit 54b52be

File tree

5 files changed

+60
-24
lines changed

5 files changed

+60
-24
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "doliveira/laravel-api-response-builder",
3-
"version": "1.0.5",
3+
"version": "1.0.6",
44
"description": "A Laravel package designed to simplify the creation of structured and formatted API responses (JSON, XML) with custom status codes, messages, and data. XML support is currently under construction.",
55
"type": "library",
66
"license": "MIT",

src/BaseResponse.php

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,20 +52,26 @@ protected function wrapData($data): array
5252
*/
5353
protected function getMessageFromStatusCode($statusCode): string
5454
{
55-
switch ($statusCode) {
56-
case 200:
57-
return Lang::get('responsebuilder.success');
58-
case 400:
59-
return Lang::get('responsebuilder.bad_request');
60-
case 401:
61-
return Lang::get('responsebuilder.unauthorized');
62-
case 404:
63-
return Lang::get('responsebuilder.not_found');
64-
case 500:
65-
return Lang::get('responsebuilder.server_error');
66-
default:
67-
return Lang::get('responsebuilder.server_error');
68-
}
55+
$messages = [
56+
200 => Lang::get('responsebuilder.success'),
57+
201 => Lang::get('responsebuilder.created'),
58+
202 => Lang::get('responsebuilder.accepted'),
59+
204 => Lang::get('responsebuilder.no_content'),
60+
400 => Lang::get('responsebuilder.bad_request'),
61+
401 => Lang::get('responsebuilder.unauthorized'),
62+
403 => Lang::get('responsebuilder.forbidden'),
63+
404 => Lang::get('responsebuilder.not_found'),
64+
405 => Lang::get('responsebuilder.method_not_allowed'),
65+
409 => Lang::get('responsebuilder.conflict'),
66+
422 => Lang::get('responsebuilder.unprocessable_entity'),
67+
429 => Lang::get('responsebuilder.too_many_requests'),
68+
500 => Lang::get('responsebuilder.server_error'),
69+
502 => Lang::get('responsebuilder.bad_gateway'),
70+
503 => Lang::get('responsebuilder.service_unavailable'),
71+
504 => Lang::get('responsebuilder.gateway_timeout'),
72+
];
73+
74+
return $messages[$statusCode] ?? Lang::get('responsebuilder.unknown_error');
6975
}
7076

7177
protected function getJsonOptions(): int

src/providers/ResponseBuilderServiceProvider.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,16 @@ public function register()
1414

1515
public function boot()
1616
{
17+
$this->loadTranslationsFrom(__DIR__.'/../resources/lang', 'responsebuilder');
18+
1719
if ($this->app->runningInConsole()) {
1820
$this->publishes([
1921
__DIR__.'/../config/config.php' => config_path('responsebuilder.php'),
2022
], 'config');
23+
24+
$this->publishes([
25+
__DIR__.'/../resources/lang' => resource_path('lang/vendor/responsebuilder'),
26+
], 'lang');
2127
}
2228

2329
$this->configureLogging();

src/resources/lang/en/messages.php

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,21 @@
11
<?php
22

33
return [
4-
'success' => 'Operation successful.',
5-
'bad_request' => 'Bad request.',
6-
'unauthorized' => 'Unauthorized.',
7-
'not_found' => 'Resource not found.',
8-
'server_error' => 'Internal server error.',
4+
'success' => 'Operation completed successfully.',
5+
'created' => 'Resource created successfully.',
6+
'accepted' => 'Request accepted for processing.',
7+
'no_content' => 'No content to display.',
8+
'bad_request' => 'The request could not be understood or was missing required parameters.',
9+
'unauthorized' => 'Authentication failed or user does not have permissions for the desired action.',
10+
'forbidden' => 'Access is forbidden to the requested resource.',
11+
'not_found' => 'The requested resource could not be found.',
12+
'method_not_allowed' => 'The HTTP method used is not allowed for this resource.',
13+
'conflict' => 'There was a conflict with the current state of the resource.',
14+
'unprocessable_entity' => 'The request was well-formed but was unable to be followed due to semantic errors.',
15+
'too_many_requests' => 'Too many requests have been made in a short period of time.',
16+
'server_error' => 'An internal server error occurred.',
17+
'bad_gateway' => 'The server received an invalid response from the upstream server.',
18+
'service_unavailable' => 'The server is currently unavailable (overloaded or down).',
19+
'gateway_timeout' => 'The server did not receive a timely response from the upstream server.',
20+
'unknown_error' => 'An unknown error occurred.',
921
];

src/resources/lang/pt_BR/messages.php

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,20 @@
22

33
return [
44
'success' => 'Operação realizada com sucesso.',
5-
'bad_request' => 'Requisição inválida.',
6-
'unauthorized' => 'Não autorizado.',
7-
'not_found' => 'Recurso não encontrado.',
8-
'server_error' => 'Erro interno do servidor.',
5+
'created' => 'Recurso criado com sucesso.',
6+
'accepted' => 'Requisição aceita para processamento.',
7+
'no_content' => 'Nenhum conteúdo para exibir.',
8+
'bad_request' => 'A requisição não pôde ser entendida ou estava faltando parâmetros obrigatórios.',
9+
'unauthorized' => 'Falha na autenticação ou o usuário não tem permissões para a ação desejada.',
10+
'forbidden' => 'Acesso proibido ao recurso solicitado.',
11+
'not_found' => 'O recurso solicitado não pôde ser encontrado.',
12+
'method_not_allowed' => 'O método HTTP usado não é permitido para este recurso.',
13+
'conflict' => 'Houve um conflito com o estado atual do recurso.',
14+
'unprocessable_entity' => 'A requisição estava bem formada, mas não pôde ser seguida devido a erros semânticos.',
15+
'too_many_requests' => 'Muitas requisições foram feitas em um curto período de tempo.',
16+
'server_error' => 'Ocorreu um erro interno no servidor.',
17+
'bad_gateway' => 'O servidor recebeu uma resposta inválida do servidor upstream.',
18+
'service_unavailable' => 'O servidor está atualmente indisponível (sobrecarregado ou em manutenção).',
19+
'gateway_timeout' => 'O servidor não recebeu uma resposta oportuna do servidor upstream.',
20+
'unknown_error' => 'Ocorreu um erro desconhecido.',
921
];

0 commit comments

Comments
 (0)