diff --git a/routes/admin.php b/routes/admin.php index e3dda80d..ab71165c 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -1,6 +1,7 @@ '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); diff --git a/routes/api.php b/routes/api.php index 6336ede9..0732e5c7 100644 --- a/routes/api.php +++ b/routes/api.php @@ -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); diff --git a/src/Domain/Localization/Controllers/LanguageController.php b/src/Domain/Localization/Controllers/LanguageController.php index ed3d9f02..0b0fe664 100644 --- a/src/Domain/Localization/Controllers/LanguageController.php +++ b/src/Domain/Localization/Controllers/LanguageController.php @@ -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 ); } } diff --git a/src/Domain/Localization/Controllers/UpdateLanguageStringController.php b/src/Domain/Localization/Controllers/UpdateLanguageStringController.php new file mode 100644 index 00000000..f48bcf9f --- /dev/null +++ b/src/Domain/Localization/Controllers/UpdateLanguageStringController.php @@ -0,0 +1,38 @@ +languageTranslations() + ->where('key', $request->input('name')) + ->update([ + 'value' => $request->input('value'), + ]); + + cache()->forget("language-translations-{$language->locale}"); + + return response( + 'Done', 204 + ); + } +} \ No newline at end of file diff --git a/src/Domain/SetupWizard/Services/SetupService.php b/src/Domain/SetupWizard/Services/SetupService.php index e2c4a567..efaf2381 100644 --- a/src/Domain/SetupWizard/Services/SetupService.php +++ b/src/Domain/SetupWizard/Services/SetupService.php @@ -50,8 +50,6 @@ class SetupService /** * Store default VueFileManager settings into database - * - * @param $license */ public function seed_default_language() { diff --git a/tests/Domain/Languages/AdminLanguageTranslatorTest.php b/tests/Domain/Languages/AdminLanguageTranslatorTest.php index 4c0c15fa..7ff56e7f 100644 --- a/tests/Domain/Languages/AdminLanguageTranslatorTest.php +++ b/tests/Domain/Languages/AdminLanguageTranslatorTest.php @@ -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']); diff --git a/tests/Domain/Sharing/UserShareTest.php b/tests/Domain/Sharing/UserShareTest.php index c832e07d..0e76d97d 100644 --- a/tests/Domain/Sharing/UserShareTest.php +++ b/tests/Domain/Sharing/UserShareTest.php @@ -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, ],