fix: Fixing all routes
This commit is contained in:
parent
6db043ce6b
commit
aae9cbac94
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@ Homestead.json
|
|||||||
Homestead.yaml
|
Homestead.yaml
|
||||||
.env
|
.env
|
||||||
.phpunit.result.cache
|
.phpunit.result.cache
|
||||||
|
*.env.local
|
@ -47,7 +47,7 @@ class ItemsCollection
|
|||||||
$test = collect([$trimmed_current_locale_name => json_decode(file_get_contents("${raw_locales_global_base_url}/${trimmed_current_locale_name}.json"), true)['templates']]);
|
$test = collect([$trimmed_current_locale_name => json_decode(file_get_contents("${raw_locales_global_base_url}/${trimmed_current_locale_name}.json"), true)['templates']]);
|
||||||
$this->locales = $this->locales->merge($test);
|
$this->locales = $this->locales->merge($test);
|
||||||
}
|
}
|
||||||
Cache::set($this->locales_cache_key, $this->locales);
|
Cache::put($this->locales_cache_key, $this->locales);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function refreshItemsCache(): void {
|
public function refreshItemsCache(): void {
|
||||||
@ -55,6 +55,10 @@ class ItemsCollection
|
|||||||
Cache::put($this->items_cache_key, $this->items);
|
Cache::put($this->items_cache_key, $this->items);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getLocales(): Collection {
|
||||||
|
return $this->locales->keys();
|
||||||
|
}
|
||||||
|
|
||||||
public function refreshAllCache(): void {
|
public function refreshAllCache(): void {
|
||||||
$this->refreshItemsCache();
|
$this->refreshItemsCache();
|
||||||
$this->refreshLocalesCache();
|
$this->refreshLocalesCache();
|
||||||
|
@ -23,12 +23,13 @@ class ItemController extends Controller
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
|
* @param string $locale
|
||||||
* @return JsonResponse
|
* @return JsonResponse
|
||||||
*/
|
*/
|
||||||
public function search(Request $request): JsonResponse
|
public function search(Request $request, string $locale = 'en'): JsonResponse
|
||||||
{
|
{
|
||||||
$status = Response::HTTP_NO_CONTENT;
|
$status = Response::HTTP_NO_CONTENT;
|
||||||
$result = $this->itemsCollection->findItem($request->input('query'));
|
$result = $this->itemsCollection->findItem($request->input('query'), $locale);
|
||||||
$response = [];
|
$response = [];
|
||||||
if ($result->isNotEmpty()) {
|
if ($result->isNotEmpty()) {
|
||||||
$status = Response::HTTP_OK;
|
$status = Response::HTTP_OK;
|
||||||
@ -41,12 +42,13 @@ class ItemController extends Controller
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $id
|
* @param string $id
|
||||||
|
* @param string $locale
|
||||||
* @return JsonResponse
|
* @return JsonResponse
|
||||||
*/
|
*/
|
||||||
public function getItem(string $id): JsonResponse
|
public function getItem(string $id, string $locale = 'en'): JsonResponse
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
return response()->json($this->itemsCollection->getItemById($id));
|
return response()->json($this->itemsCollection->getItemById($id, $locale));
|
||||||
} catch (Throwable $exception) {
|
} catch (Throwable $exception) {
|
||||||
Log::error($exception->getMessage());
|
Log::error($exception->getMessage());
|
||||||
Log::error($exception->getTraceAsString());
|
Log::error($exception->getTraceAsString());
|
||||||
@ -57,19 +59,32 @@ class ItemController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $id
|
|
||||||
* @return JsonResponse
|
* @return JsonResponse
|
||||||
*/
|
*/
|
||||||
public function refreshItems(): JsonResponse
|
public function getLocales(): JsonResponse
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
return response()->json($this->itemsCollection->getItemById($id));
|
return response()->json($this->itemsCollection->getLocales());
|
||||||
} catch (Throwable $exception) {
|
} catch (Throwable $exception) {
|
||||||
Log::error($exception->getMessage());
|
Log::error($exception->getMessage());
|
||||||
Log::error($exception->getTraceAsString());
|
Log::error($exception->getTraceAsString());
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'error' => 'Item not found.',
|
'error' => 'No locale not found.',
|
||||||
], Response::HTTP_NOT_FOUND);
|
], Response::HTTP_NOT_FOUND);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $id
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function refreshAllCache(): JsonResponse
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
return response()->json($this->itemsCollection->refreshAllCache());
|
||||||
|
} catch (Throwable $exception) {
|
||||||
|
Log::error($exception->getMessage());
|
||||||
|
Log::error($exception->getTraceAsString());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,8 +17,10 @@ $router->get('/', function () {
|
|||||||
return view('app');
|
return view('app');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$router->get('/api/locales', 'ItemController@getLocales');
|
||||||
$router->get('/api/refresh', 'ItemController@refreshAllCache');
|
$router->get('/api/refresh', 'ItemController@refreshAllCache');
|
||||||
$router->post('/api/{locale}/search', 'ItemController@search');
|
|
||||||
$router->get('/api/item/{locale}/{id}', 'ItemController@getItem');
|
$router->get('/api/item/{id}/{locale}', 'ItemController@getItem');
|
||||||
$router->post('/api/search', 'ItemController@search');
|
|
||||||
$router->get('/api/item/{id}', 'ItemController@getItem');
|
$router->get('/api/item/{id}', 'ItemController@getItem');
|
||||||
|
$router->post('/api/search/{locale?}', 'ItemController@search');
|
||||||
|
$router->post('/api/search', 'ItemController@search');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user