controller refactoring part 14

This commit is contained in:
Peter Papp
2021-07-21 09:01:51 +02:00
parent b659f2ad8d
commit 1534696e0d
7 changed files with 67 additions and 73 deletions

View File

@@ -1,6 +1,7 @@
<?php
use Domain\Admin\Controllers\UserController;
use Domain\Localization\Controllers\UpdateLanguageStringController;
use Domain\Plans\Controllers\PlansController;
use Domain\Admin\Controllers\InvoiceController;
use Domain\Admin\Controllers\DashboardController;
@@ -60,11 +61,5 @@ Route::group(['prefix' => 'settings'], function () {
});
// Language
Route::group(['prefix' => 'languages'], function () {
Route::get('/{language}', [LanguageController::class, 'get_language']);
Route::patch('/{language}/strings', [LanguageController::class, 'update_string']);
Route::delete('/{language}', [LanguageController::class, 'delete_language']);
Route::patch('/{language}', [LanguageController::class, 'update_language']);
Route::post('/', [LanguageController::class, 'create_language']);
Route::get('/', [LanguageController::class, 'get_languages']);
});
Route::patch('/languages/{language}/strings', UpdateLanguageStringController::class);
Route::apiResource('/languages', LanguageController::class);

View File

@@ -62,10 +62,8 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
});
// Share
Route::group(['prefix' => 'share'], function () {
Route::post('/{token}/email', ShareViaEmailController::class);
Route::apiResource('/', ShareController::class);
});
Route::post('/share/{token}/email', ShareViaEmailController::class);
Route::apiResource('/share', ShareController::class);
// Favourites
Route::apiResource('/folders/favourites', FavouriteController::class);

View File

@@ -17,37 +17,30 @@ class LanguageController extends Controller
{
/**
* Get all languages for admin translate
*
* @return array|Application|ResponseFactory|Response
*/
public function get_languages()
public function index(): Response
{
return response(
new LanguageCollection(Language::sortable(['created_at', 'DESC'])->get()),
200
new LanguageCollection(
Language::sortable(['created_at', 'DESC'])->get()
), 200
);
}
/**
* Get all language strings for admin translate
*
* @param Language $language
*/
public function get_language(Language $language)
public function show(Language $language): Response
{
return response(
new LanguageResource($language),
200
new LanguageResource($language), 200
);
}
/**
* Create new language
*
* @param CreateLanguageRequest $request
* @return string
*/
public function create_language(CreateLanguageRequest $request)
public function store(CreateLanguageRequest $request): Response
{
// Abort in demo mode
abort_if(is_demo(), 204, 'Done.');
@@ -65,16 +58,16 @@ class LanguageController extends Controller
/**
* Update language
*
* @param UpdateLanguageRequest $request
* @param Language $language
*/
public function update_language(UpdateLanguageRequest $request, Language $language)
{
public function update(
UpdateLanguageRequest $request, Language $language
): Response {
// Abort in demo mode
abort_if(is_demo(), 204, 'Done.');
$language->update(make_single_input($request));
$language->update(
make_single_input($request)
);
return response(
new LanguageResource($language),
@@ -82,39 +75,10 @@ class LanguageController extends Controller
);
}
/**
* Update string for language
*
* @param UpdateStringRequest $request
* @param Language $language
* @return Application|ResponseFactory|Response
*/
public function update_string(UpdateStringRequest $request, Language $language)
{
// Abort in demo mode
abort_if(is_demo(), 204, 'Done.');
$language
->languageTranslations()
->where('key', $request->name)
->update([
'value' => $request->value,
]);
cache()->forget("language-translations-{$language->locale}");
return response(
'Done',
204
);
}
/**
* Delete the language with all children strings
* @param Language $language
* @return Response
*/
public function delete_language(Language $language): Response
public function destroy(Language $language): Response
{
// Abort in demo mode
abort_if(is_demo(), 204, 'Done.');
@@ -133,8 +97,7 @@ class LanguageController extends Controller
$language->delete();
return response(
'Done',
204
'Done', 204
);
}
}

View File

@@ -0,0 +1,38 @@
<?php
namespace Domain\Localization\Controllers;
use App\Http\Controllers\Controller;
use Domain\Localization\Models\Language;
use Domain\Localization\Requests\UpdateStringRequest;
use Illuminate\Http\Response;
class UpdateLanguageStringController extends Controller
{
/**
* Update language string
*/
public function __invoke(
UpdateStringRequest $request,
Language $language,
): Response {
// Abort in demo mode
abort_if(is_demo(), 204, 'Done.');
$language
->languageTranslations()
->where('key', $request->input('name'))
->update([
'value' => $request->input('value'),
]);
cache()->forget("language-translations-{$language->locale}");
return response(
'Done', 204
);
}
}

View File

@@ -50,8 +50,6 @@ class SetupService
/**
* Store default VueFileManager settings into database
*
* @param $license
*/
public function seed_default_language()
{

View File

@@ -4,8 +4,10 @@ namespace Tests\Domain\Languages;
use App\Users\Models\User;
use Domain\Settings\Models\Setting;
use Domain\Localization\Models\Language;
use Domain\SetupWizard\Services\SetupService;
use Tests\TestCase;
class AdminLanguageTranslatorTest
class AdminLanguageTranslatorTest extends TestCase
{
/**
* @test
@@ -49,7 +51,7 @@ class AdminLanguageTranslatorTest
*/
public function it_update_language()
{
$this->setup->seed_default_language();
resolve(SetupService::class)->seed_default_language();
$admin = User::factory(User::class)
->create(['role' => 'admin']);
@@ -108,7 +110,7 @@ class AdminLanguageTranslatorTest
*/
public function it_try_to_delete_default_language()
{
$this->setup->seed_default_language();
resolve(SetupService::class)->seed_default_language();
$admin = User::factory(User::class)
->create(['role' => 'admin']);
@@ -126,7 +128,7 @@ class AdminLanguageTranslatorTest
*/
public function it_get_all_languages()
{
$this->setup->seed_default_language();
resolve(SetupService::class)->seed_default_language();
$admin = User::factory(User::class)
->create(['role' => 'admin']);
@@ -146,7 +148,7 @@ class AdminLanguageTranslatorTest
*/
public function it_update_language_string()
{
$this->setup->seed_default_language();
resolve(SetupService::class)->seed_default_language();
$admin = User::factory(User::class)
->create(['role' => 'admin']);
@@ -172,7 +174,7 @@ class AdminLanguageTranslatorTest
*/
public function it_get_language_with_strings_by_selected_language_id()
{
$this->setup->seed_default_language();
resolve(SetupService::class)->seed_default_language();
$admin = User::factory(User::class)
->create(['role' => 'admin']);

View File

@@ -222,7 +222,7 @@ class UserShareTest extends TestCase
'id' => $folder->id,
])->assertStatus(201);
$this->delete('/api/share', [
$this->deleteJson('/api/share', [
'tokens' => [
$folder->shared->token,
],