From 89e4ae673736d9d33d640ac63d2b768062e2c69e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=8Carodej?= Date: Tue, 3 May 2022 16:11:00 +0200 Subject: [PATCH] search api update --- public/mix-manifest.json | 10 +++++----- resources/js/components/Spotlight/Spotlight.vue | 4 ++-- routes/api.php | 4 +++- .../Browsing/Controllers/SpotlightSearchController.php | 6 +++--- tests/Domain/Sharing/VisitorBrowseTest.php | 8 ++++---- tests/Domain/Spotlight/SearchTest.php | 10 +++++----- 6 files changed, 22 insertions(+), 20 deletions(-) diff --git a/public/mix-manifest.json b/public/mix-manifest.json index c03e5471..2a8ab23e 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,6 +1,6 @@ { "/js/main.js": "/js/main.js", - "/chunks/request.js": "/chunks/request.js?id=c9b8c3f50861144a", + "/chunks/request.js": "/chunks/request.js?id=e2e83e87b1f6d097", "/chunks/request-upload.js": "/chunks/request-upload.js?id=3bc3423d2305cd30", "/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=19a0784e59d768ec", "/chunks/status-check.js": "/chunks/status-check.js?id=9239a586761b912d", @@ -9,13 +9,13 @@ "/chunks/environment.js": "/chunks/environment.js?id=e4fdb87ff173d48a", "/chunks/app-setup.js": "/chunks/app-setup.js?id=cbe7bfed06400736", "/chunks/admin-account.js": "/chunks/admin-account.js?id=78d257775f5fc485", - "/chunks/shared.js": "/chunks/shared.js?id=4fcd1523d9ae7ba1", + "/chunks/shared.js": "/chunks/shared.js?id=0c2f68a87ccf9be3", "/chunks/shared/browser.js": "/chunks/shared/browser.js?id=3fd9baddb7333c24", "/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=a6063bed9be75a09", "/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=b5519d193bce2339", "/chunks/not-found.js": "/chunks/not-found.js?id=d31bd699138cf828", "/chunks/temporary-unavailable.js": "/chunks/temporary-unavailable.js?id=26798085f527d955", - "/chunks/admin.js": "/chunks/admin.js?id=0124d577053f54d3", + "/chunks/admin.js": "/chunks/admin.js?id=ac53badd82034a88", "/chunks/dashboard.js": "/chunks/dashboard.js?id=5ab55a12214433c8", "/chunks/invoices.js": "/chunks/invoices.js?id=799928609f57ca10", "/chunks/subscriptions.js": "/chunks/subscriptions.js?id=a0c4f59d0ec4aee0", @@ -57,12 +57,12 @@ "/chunks/sign-up.js": "/chunks/sign-up.js?id=3d7559511768cd0e", "/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=27cda9364b6593d8", "/chunks/create-new-password.js": "/chunks/create-new-password.js?id=2f0401ee2fc148c4", - "/chunks/settings.js": "/chunks/settings.js?id=008d159c8084c66f", + "/chunks/settings.js": "/chunks/settings.js?id=2f1ec837e7673e6d", "/chunks/profile.js": "/chunks/profile.js?id=3e24bb5e1f52d4bb", "/chunks/settings-password.js": "/chunks/settings-password.js?id=d00bf503d8126dc4", "/chunks/settings-storage.js": "/chunks/settings-storage.js?id=092e324aad54656b", "/chunks/billing.js": "/chunks/billing.js?id=115c25478cee576d", - "/chunks/platform.js": "/chunks/platform.js?id=e0dcb4aa27710e07", + "/chunks/platform.js": "/chunks/platform.js?id=d4e8d92aed88b8ee", "/chunks/files.js": "/chunks/files.js?id=a74bc8acc7ea876a", "/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=c6ed26eaace65f01", "/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=6adbb309c700eaf7", diff --git a/resources/js/components/Spotlight/Spotlight.vue b/resources/js/components/Spotlight/Spotlight.vue index 1cd174fb..9df80a82 100644 --- a/resources/js/components/Spotlight/Spotlight.vue +++ b/resources/js/components/Spotlight/Spotlight.vue @@ -890,8 +890,8 @@ export default { // Get route let route = this.$store.getters.sharedDetail - ? `/api/browse/search/${this.$router.currentRoute.params.token}` - : '/api/browse/search' + ? `/api/search/${this.$router.currentRoute.params.token}` + : '/api/search' axios .get(`${route}?filter=${this.activeFilter}`, { diff --git a/routes/api.php b/routes/api.php index cba7ec5b..f02ae11b 100644 --- a/routes/api.php +++ b/routes/api.php @@ -57,7 +57,6 @@ Route::group(['middleware' => ['auth:sanctum']], function () { Route::group(['prefix' => 'browse'], function () { Route::get('/folders/{id}', BrowseFolderController::class); Route::get('/navigation', NavigationTreeController::class); - Route::get('/search', SpotlightSearchController::class); Route::get('/latest', BrowseLatestFilesController::class); Route::get('/trash/{id}', BrowseTrashContentController::class); Route::get('/share', BrowseSharedItemsController::class); @@ -77,6 +76,9 @@ Route::group(['middleware' => ['auth:sanctum']], function () { // Favourites Route::apiResource('/folders/favourites', FavouriteController::class); + + // Search + Route::get('/search', SpotlightSearchController::class); }); // User master,editor routes diff --git a/src/Domain/Browsing/Controllers/SpotlightSearchController.php b/src/Domain/Browsing/Controllers/SpotlightSearchController.php index baeaf217..b92c5d3c 100644 --- a/src/Domain/Browsing/Controllers/SpotlightSearchController.php +++ b/src/Domain/Browsing/Controllers/SpotlightSearchController.php @@ -17,7 +17,7 @@ class SpotlightSearchController { public function __invoke( SearchRequest $request - ): UsersMinimalCollection|array { + ) { // Prepare queries $query = remove_accents( $request->input('query') @@ -32,7 +32,7 @@ class SpotlightSearchController return $this->searchFiles($query); } - private function searchUsers($query): UsersMinimalCollection + private function searchUsers($query) { // Prevent to show non admin user searching if (Auth::user()->role !== 'admin') { @@ -49,7 +49,7 @@ class SpotlightSearchController ); } - private function searchFiles(string $query): array + private function searchFiles(string $query) { $user_id = Auth::id(); diff --git a/tests/Domain/Sharing/VisitorBrowseTest.php b/tests/Domain/Sharing/VisitorBrowseTest.php index a412fc6e..e16de595 100644 --- a/tests/Domain/Sharing/VisitorBrowseTest.php +++ b/tests/Domain/Sharing/VisitorBrowseTest.php @@ -348,7 +348,7 @@ class VisitorBrowseTest extends TestCase ])]; $this->withUnencryptedCookies($cookie) - ->get("/api/browse/search/$share->token?query=doc") + ->get("/api/search/$share->token?query=doc") ->assertStatus(200) ->assertJsonFragment([ 'id' => $file->id, @@ -357,7 +357,7 @@ class VisitorBrowseTest extends TestCase // Check public shared item if (! $is_protected) { - $this->getJson("/api/browse/search/$share->token?query=doc") + $this->getJson("/api/search/$share->token?query=doc") ->assertStatus(200) ->assertJsonFragment([ 'id' => $file->id, @@ -401,14 +401,14 @@ class VisitorBrowseTest extends TestCase ])]; $this->withUnencryptedCookies($cookie) - ->get("/api/browse/search/$share->token?query=doc") + ->get("/api/search/$share->token?query=doc") ->assertStatus(200) ->assertJsonFragment([]); } // Check public shared item if (! $is_protected) { - $this->getJson("/api/browse/search/$share->token?query=doc") + $this->getJson("/api/search/$share->token?query=doc") ->assertStatus(200) ->assertJsonFragment([]); } diff --git a/tests/Domain/Spotlight/SearchTest.php b/tests/Domain/Spotlight/SearchTest.php index c636af64..2354d68b 100644 --- a/tests/Domain/Spotlight/SearchTest.php +++ b/tests/Domain/Spotlight/SearchTest.php @@ -40,7 +40,7 @@ class SearchTest extends TestCase ->each( fn ($file) => $this ->actingAs($user) - ->getJson('/api/browse/search?query=' . mb_strtolower(mb_substr($file->name, 0, 3))) + ->getJson('/api/search?query=' . mb_strtolower(mb_substr($file->name, 0, 3))) ->assertStatus(200) ->assertJsonFragment([ 'id' => $file->id, @@ -66,7 +66,7 @@ class SearchTest extends TestCase $this ->actingAs($user) - ->getJson('/api/browse/search?query=doc') + ->getJson('/api/search?query=doc') ->assertStatus(200) ->assertJsonFragment([ 'id' => $folder->id, @@ -115,7 +115,7 @@ class SearchTest extends TestCase $this ->actingAs($member) - ->getJson('/api/browse/search?query=ali') + ->getJson('/api/search?query=ali') ->assertStatus(200) ->assertJsonFragment([ 'id' => $folder->id, @@ -123,7 +123,7 @@ class SearchTest extends TestCase $this ->actingAs($member) - ->getJson('/api/browse/search?query=Fol') + ->getJson('/api/search?query=Fol') ->assertStatus(200) ->assertJsonFragment([ 'id' => $folder->id, @@ -131,7 +131,7 @@ class SearchTest extends TestCase $this ->actingAs($member) - ->getJson('/api/browse/search?query=doc') + ->getJson('/api/search?query=doc') ->assertStatus(200) ->assertJsonFragment([ 'id' => $document->id,