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
|
||||
.env
|
||||
.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']]);
|
||||
$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 {
|
||||
@ -55,6 +55,10 @@ class ItemsCollection
|
||||
Cache::put($this->items_cache_key, $this->items);
|
||||
}
|
||||
|
||||
public function getLocales(): Collection {
|
||||
return $this->locales->keys();
|
||||
}
|
||||
|
||||
public function refreshAllCache(): void {
|
||||
$this->refreshItemsCache();
|
||||
$this->refreshLocalesCache();
|
||||
|
@ -23,12 +23,13 @@ class ItemController extends Controller
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param string $locale
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function search(Request $request): JsonResponse
|
||||
public function search(Request $request, string $locale = 'en'): JsonResponse
|
||||
{
|
||||
$status = Response::HTTP_NO_CONTENT;
|
||||
$result = $this->itemsCollection->findItem($request->input('query'));
|
||||
$result = $this->itemsCollection->findItem($request->input('query'), $locale);
|
||||
$response = [];
|
||||
if ($result->isNotEmpty()) {
|
||||
$status = Response::HTTP_OK;
|
||||
@ -41,12 +42,13 @@ class ItemController extends Controller
|
||||
|
||||
/**
|
||||
* @param string $id
|
||||
* @param string $locale
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function getItem(string $id): JsonResponse
|
||||
public function getItem(string $id, string $locale = 'en'): JsonResponse
|
||||
{
|
||||
try {
|
||||
return response()->json($this->itemsCollection->getItemById($id));
|
||||
return response()->json($this->itemsCollection->getItemById($id, $locale));
|
||||
} catch (Throwable $exception) {
|
||||
Log::error($exception->getMessage());
|
||||
Log::error($exception->getTraceAsString());
|
||||
@ -57,19 +59,32 @@ class ItemController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $id
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function refreshItems(): JsonResponse
|
||||
public function getLocales(): JsonResponse
|
||||
{
|
||||
try {
|
||||
return response()->json($this->itemsCollection->getItemById($id));
|
||||
return response()->json($this->itemsCollection->getLocales());
|
||||
} catch (Throwable $exception) {
|
||||
Log::error($exception->getMessage());
|
||||
Log::error($exception->getTraceAsString());
|
||||
return response()->json([
|
||||
'error' => 'Item not found.',
|
||||
'error' => 'No locale 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');
|
||||
});
|
||||
|
||||
$router->get('/api/locales', 'ItemController@getLocales');
|
||||
$router->get('/api/refresh', 'ItemController@refreshAllCache');
|
||||
$router->post('/api/{locale}/search', 'ItemController@search');
|
||||
$router->get('/api/item/{locale}/{id}', 'ItemController@getItem');
|
||||
$router->post('/api/search', 'ItemController@search');
|
||||
|
||||
$router->get('/api/item/{id}/{locale}', '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