diff --git a/app/Http/Controllers/AppFunctionsController.php b/app/Http/Controllers/App/AppFunctionsController.php similarity index 98% rename from app/Http/Controllers/AppFunctionsController.php rename to app/Http/Controllers/App/AppFunctionsController.php index 83563d53..026f3197 100644 --- a/app/Http/Controllers/AppFunctionsController.php +++ b/app/Http/Controllers/App/AppFunctionsController.php @@ -1,7 +1,8 @@ filemanager->create_folder($request); } - /** - * Create new folder for guest user with edit permission - * - * @param CreateFolderRequest $request - * @param $token - * @return array - * @throws Exception - */ - public function guest_create_folder(CreateFolderRequest $request, $token) - { - // Get shared record - $shared = get_shared($token); - - if (is_demo($shared->user_id)) { - return Demo::create_folder($request); - } - - // Check shared permission - if (!is_editor($shared)) abort(403); - - // Check access to requested directory - $this->helper->check_item_access($request->parent_id, $shared); - - // Create folder - return $this->filemanager->create_folder($request, $shared); - } - /** * Rename item for authenticated master|editor user * @@ -97,7 +70,7 @@ class EditItemsController extends Controller * @return mixed * @throws Exception */ - public function user_rename_item(RenameItemRequest $request, $id) + public function rename_item(RenameItemRequest $request, $id) { // Demo preview if (is_demo(Auth::id())) { @@ -133,56 +106,6 @@ class EditItemsController extends Controller return $this->filemanager->rename_item($request, $id); } - /** - * Rename item for guest user with edit permission - * - * @param RenameItemRequest $request - * @param $id - * @param $token - * @return mixed - * @throws Exception - */ - public function guest_rename_item(RenameItemRequest $request, $id, $token) - { - // Get shared record - $shared = get_shared($token); - - // Demo preview - if (is_demo($shared->user_id)) { - return Demo::rename_item($request, $id); - } - - // Check shared permission - if (is_visitor($shared)) { - abort(403); - } - - // Get file|folder item - $item = get_item($request->type, $id); - - // Check access to requested item - if ($request->type === 'folder') { - $this->helper->check_item_access($item->id, $shared); - } else { - $this->helper->check_item_access($item->folder_id, $shared); - } - - // If request have a change folder icon values set the folder icon - if ($request->type === 'folder' && $request->filled('icon')) { - $this->filemanager->set_folder_icon($request, $id); - } - - // Rename item - $item = $this->filemanager->rename_item($request, $id, $shared); - - // Set public url - if ($item->type !== 'folder') { - $item->setPublicUrl($token); - } - - return $item; - } - /** * Delete item for authenticated master|editor user * @@ -191,7 +114,7 @@ class EditItemsController extends Controller * @return ResponseFactory|\Illuminate\Http\Response * @throws Exception */ - public function user_delete_item(DeleteItemRequest $request) + public function delete_item(DeleteItemRequest $request) { // Demo preview if (is_demo(Auth::id())) { @@ -230,49 +153,6 @@ class EditItemsController extends Controller return response(null, 204); } - /** - * Delete item for guest user with edit permission - * - * @param DeleteItemRequest $request - * @param $id - * @param $token - * @return ResponseFactory|\Illuminate\Http\Response - * @throws Exception - */ - public function guest_delete_item(DeleteItemRequest $request, $token) - { - // Get shared record - $shared = get_shared($token); - - // Demo preview - if (is_demo($shared->user_id)) { - return Demo::response_204(); - } - - // Check shared permission - if (is_visitor($shared)) { - abort(403); - } - - foreach ($request->items as $file) { - - // Get file|folder item - $item = get_item($file['type'], $file['id']); - - // Check access to requested item - if ($file['type'] === 'folder') { - $this->helper->check_item_access($item->id, $shared); - } else { - $this->helper->check_item_access($item->folder_id, $shared); - } - - // Delete item - $this->filemanager->delete_item($file, $file['id'], $shared); - } - // Return response - return response('Done', 204); - } - /** * Upload file for authenticated master|editor user * @@ -280,7 +160,7 @@ class EditItemsController extends Controller * @return File|Model * @throws Exception */ - public function user_upload(UploadRequest $request) + public function upload(UploadRequest $request) { // Demo preview if (is_demo(Auth::id())) { @@ -305,48 +185,47 @@ class EditItemsController extends Controller } /** - * Delete file for guest user with edit permission + * Move item for authenticated master|editor user * - * @param UploadRequest $request - * @param $token - * @return File|Model - * @throws Exception + * @param MoveItemRequest $request + * @param $id + * @return ResponseFactory|\Illuminate\Http\Response */ - public function guest_upload(UploadRequest $request, $token) + public function move(MoveItemRequest $request) { - // Get shared record - $shared = get_shared($token); - // Demo preview - if (is_demo($shared->user_id)) { - return Demo::upload($request); + if (is_demo(Auth::id())) { + return Demo::response_204(); } - // Check shared permission - if (is_visitor($shared)) { - abort(403); + $to_id = $request->input('to_id'); + + // Check permission to upload for authenticated editor + if ($request->user()->tokenCan('editor')) { + + // check if shared_token cookie exist + if (!$request->hasCookie('shared_token')) abort('401'); + + // Get shared token + $shared = get_shared($request->cookie('shared_token')); + + // Check access to requested directory + $this->helper->check_item_access($to_id, $shared); } - // Check access to requested directory - $this->helper->check_item_access($request->folder_id, $shared); + // Move item + $this->filemanager->move($request, $to_id); - // Return new uploaded file - $new_file = $this->filemanager->upload($request, $shared); - - // Set public access url - $new_file->setPublicUrl($token); - - return $new_file; + return response('Done!', 204); } - /** * User download folder via zip * * @param $id * @return string */ - public function user_zip_folder(Request $request, $id) + public function zip_folder(Request $request, $id) { // Get user id $user_id = Auth::id(); @@ -381,49 +260,13 @@ class EditItemsController extends Controller ], 201); } - /** - * Guest download folder via zip - * - * @param Request $request - * @param $id - * @param $token - * @return string - */ - public function guest_zip_folder($id, $token) - { - // Get shared record - $shared = get_shared($token); - - // Check access to requested folder - $this->helper->check_item_access($id, $shared); - - // Get folder - $folder = Folder::whereUserId($shared->user_id) - ->where('id', $id); - - if (!$folder->exists()) { - abort(404, 'Requested folder doesn\'t exists.'); - } - - $zip = $this->filemanager->zip_folder($id, $shared); - - // Get file - return response([ - 'url' => route('zip_public', [ - 'id' => $zip->id, - 'token' => $shared->token, - ]), - 'name' => $zip->basename, - ], 201); - } - /** * User download multiple files via zip * * @param Request $request * @return string */ - public function user_zip_multiple_files(Request $request) + public function zip_multiple_files(Request $request) { // Check permission to upload for authenticated editor if ($request->user()->tokenCan('editor')) { @@ -457,126 +300,4 @@ class EditItemsController extends Controller 'name' => $zip->basename, ], 201); } - - /** - * Guest download multiple files via zip - * - * @param Request $request - * @param $token - * @return string - */ - public function guest_zip_multiple_files(Request $request, $token) - { - // Get shared record - $shared = get_shared($token); - - $file_parent_folders = File::whereUserId($shared->user_id) - ->whereIn('id', $request->items) - ->get() - ->pluck('folder_id') - ->toArray(); - - // Check access to requested directory - $this->helper->check_item_access($file_parent_folders, $shared); - - // Get requested files - $files = File::whereUserId($shared->user_id) - ->whereIn('id', $request->items) - ->get(); - - $zip = $this->filemanager->zip_files($files, $shared); - - // Get file - return response([ - 'url' => route('zip_public', [ - 'id' => $zip->id, - 'token' => $shared->token, - ]), - 'name' => $zip->basename, - ], 201); - } - - /** - * Move item for authenticated master|editor user - * - * @param MoveItemRequest $request - * @param $id - * @return ResponseFactory|\Illuminate\Http\Response - */ - public function user_move(MoveItemRequest $request) - { - // Demo preview - if (is_demo(Auth::id())) { - return Demo::response_204(); - } - - $to_id = $request->input('to_id'); - - // Check permission to upload for authenticated editor - if ($request->user()->tokenCan('editor')) { - - // check if shared_token cookie exist - if (!$request->hasCookie('shared_token')) abort('401'); - - // Get shared token - $shared = get_shared($request->cookie('shared_token')); - - // Check access to requested directory - $this->helper->check_item_access($to_id, $shared); - } - - // Move item - $this->filemanager->move($request, $to_id); - - return response('Done!', 204); - } - - /** - * Move item for guest user with edit permission - * - * @param MoveItemRequest $request - * @param $id - * @param $token - * @return ResponseFactory|\Illuminate\Http\Response - */ - public function guest_move(MoveItemRequest $request, $token) - { - // Get shared record - $shared = get_shared($token); - - // Demo preview - if (is_demo(Auth::id())) { - return Demo::response_204(); - } - - // Check shared permission - if (is_visitor($shared)) { - abort(403); - } - - foreach ($request->items as $item) { - - if ($item['type'] === 'folder') { - - $this->helper->check_item_access([ - $request->to_id, $item['id'] - ], $shared); - } - - if ($item['type'] !== 'folder') { - - $file = File::where('id', $item['id']) - ->where('user_id', $shared->user_id) - ->firstOrFail(); - - $this->helper->check_item_access([ - $request->to_id, $file->folder_id - ], $shared); - } - } - - $this->filemanager->move($request, $request->to_id); - - return response('Done!', 204); - } } \ No newline at end of file diff --git a/app/Http/Controllers/FileAccessController.php b/app/Http/Controllers/FileManager/FileAccessController.php similarity index 97% rename from app/Http/Controllers/FileAccessController.php rename to app/Http/Controllers/FileManager/FileAccessController.php index 30a33f99..438f855f 100644 --- a/app/Http/Controllers/FileAccessController.php +++ b/app/Http/Controllers/FileManager/FileAccessController.php @@ -1,12 +1,11 @@ helper = resolve(HelperService::class); + } + + /** + * Get folders and files + * + * @param $id + * @param $shared + * @return array + */ + private function get_items($id, $shared): array + { + $folders = Folder::where('user_id', $shared->user_id) + ->where('parent_id', $id) + ->sortable() + ->get(); + + $files = File::where('user_id', $shared->user_id) + ->where('folder_id', $id) + ->sortable() + ->get(); + + return [$folders, $files]; + } + + /** + * Search public files + * + * @param Request $request + * @param $token + * @return Collection + */ + public function search_public(Request $request, $token) + { + // Get shared + $shared = get_shared($token); + + // Abort if folder is protected + if ((int)$shared->is_protected) { + abort(403, "Sorry, you don't have permission"); + } + + // Search files id db + $searched_files = File::search($request->input('query')) + ->where('user_id', $shared->user_id) + ->get(); + $searched_folders = Folder::search($request->input('query')) + ->where('user_id', $shared->user_id) + ->get(); + + // Get all children content + $foldersIds = Folder::with('folders:id,parent_id,unique_id,name') + ->where('user_id', $shared->user_id) + ->where('parent_id', $shared->item_id) + ->get(); + + // Get accessible folders + $accessible_folder_ids = Arr::flatten([filter_folders_ids($foldersIds), $shared->item_id]); + + // Filter files + $files = $searched_files->filter(function ($file) use ($accessible_folder_ids, $token) { + + // Set public urls + $file->setPublicUrl($token); + + // check if item is in accessible folders + return in_array($file->folder_id, $accessible_folder_ids); + }); + + // Filter folders + $folders = $searched_folders->filter(function ($folder) use ($accessible_folder_ids) { + + // check if item is in accessible folders + return in_array($folder->unique_id, $accessible_folder_ids); + }); + + // Collect folders and files to single array + return collect([$folders, $files])->collapse(); + } + + /** + * Get navigation tree + * + * @return array + */ + public function get_public_navigation_tree($token) + { + // Get sharing record + $shared = get_shared($token); + + // Check if user can get directory + $this->helper->check_item_access($shared->item_id, $shared); + + // Get folders + $folders = Folder::with('folders:id,parent_id,name') + ->where('parent_id', $shared->item_id) + ->where('user_id', $shared->user_id) + ->sortable() + ->get(['id', 'parent_id', 'id', 'name']); + + return [ + [ + 'id' => $shared->item_id, + 'name' => __('vuefilemanager.home'), + 'location' => 'public', + 'folders' => $folders, + ] + ]; + } + + /** + * Browse public folders + * + * @param $id + * @param $token + * @return Collection + */ + public function get_public_folders($id, $token) + { + $shared = get_shared($token); + + // Abort if folder is protected + if ((int)$shared->is_protected) { + abort(403, "Sorry, you don't have permission"); + } + + // Check if user can get directory + $this->helper->check_item_access($id, $shared); + + // Get files and folders + list($folders, $files) = $this->get_items($id, $shared); + + // Set thumbnail links for public files + $files->map(function ($item) use ($token) { + $item->setPublicUrl($token); + }); + + // Collect folders and files to single array + return collect([$folders, $files])->collapse(); + } +} diff --git a/app/Http/Controllers/Sharing/EditShareItemsController.php b/app/Http/Controllers/Sharing/EditShareItemsController.php new file mode 100644 index 00000000..fbf11870 --- /dev/null +++ b/app/Http/Controllers/Sharing/EditShareItemsController.php @@ -0,0 +1,311 @@ +filemanager = resolve(FileManagerService::class); + $this->helper = resolve(HelperService::class); + } + /** + * Create new folder for guest user with edit permission + * + * @param CreateFolderRequest $request + * @param $token + * @return array|\Illuminate\Contracts\Foundation\Application|ResponseFactory|\Illuminate\Http\Response + * @throws Exception + */ + public function create_folder(CreateFolderRequest $request, $token) + { + $shared = get_shared($token); + + if (is_demo($shared->user_id)) { + return Demo::create_folder($request); + } + + // Check shared permission + if (is_visitor($shared)) { + abort(403); + } + + // Check access to requested directory + $this->helper->check_item_access($request->parent_id, $shared); + + // Create folder + $folder = $this->filemanager->create_folder($request, $shared); + + return response($folder, 201); + } + + /** + * Rename item for guest user with edit permission + * + * @param RenameItemRequest $request + * @param $id + * @param $token + * @return mixed + * @throws Exception + */ + public function rename_item(RenameItemRequest $request, $id, $token) + { + // Get shared record + $shared = get_shared($token); + + // Demo preview + if (is_demo($shared->user_id)) { + return Demo::rename_item($request, $id); + } + + // Check shared permission + if (is_visitor($shared)) { + abort(403); + } + + // Get file|folder item + $item = get_item($request->type, $id); + + // Check access to requested item + if ($request->type === 'folder') { + $this->helper->check_item_access($item->id, $shared); + } else { + $this->helper->check_item_access($item->folder_id, $shared); + } + + // If request have a change folder icon values set the folder icon + if ($request->type === 'folder' && $request->filled('icon')) { + $this->filemanager->set_folder_icon($request, $id); + } + + // Rename item + $item = $this->filemanager->rename_item($request, $id, $shared); + + // Set public url + if ($item->type !== 'folder') { + $item->setPublicUrl($token); + } + + return response($item, 201); + } + + /** + * Delete item for guest user with edit permission + * + * @param DeleteItemRequest $request + * @param $id + * @param $token + * @return ResponseFactory|\Illuminate\Http\Response + * @throws Exception + */ + public function delete_item(DeleteItemRequest $request, $token) + { + // Get shared record + $shared = get_shared($token); + + // Demo preview + if (is_demo($shared->user_id)) { + return Demo::response_204(); + } + + // Check shared permission + if (is_visitor($shared)) { + abort(403); + } + + foreach ($request->items as $file) { + + // Get file|folder item + $item = get_item($file['type'], $file['id']); + + // Check access to requested item + if ($file['type'] === 'folder') { + $this->helper->check_item_access($item->id, $shared); + } else { + $this->helper->check_item_access($item->folder_id, $shared); + } + + // Delete item + $this->filemanager->delete_item($file, $file['id'], $shared); + } + + return response('Done', 204); + } + + /** + * Delete file for guest user with edit permission + * + * @param UploadRequest $request + * @param $token + * @return File|\Illuminate\Contracts\Foundation\Application|ResponseFactory|Model|\Illuminate\Http\Response + * @throws Exception + */ + public function upload(UploadRequest $request, $token) + { + // Get shared record + $shared = get_shared($token); + + // Demo preview + if (is_demo($shared->user_id)) { + return Demo::upload($request); + } + + // Check shared permission + if (is_visitor($shared)) { + abort(403); + } + + // Check access to requested directory + $this->helper->check_item_access($request->folder_id, $shared); + + // Return new uploaded file + $new_file = $this->filemanager->upload($request, $shared); + + // Set public access url + $new_file->setPublicUrl($token); + + return response($new_file, 201); + } + + /** + * Move item for guest user with edit permission + * + * @param MoveItemRequest $request + * @param $id + * @param $token + * @return ResponseFactory|\Illuminate\Http\Response + */ + public function move(MoveItemRequest $request, $token) + { + // Get shared record + $shared = get_shared($token); + + // Demo preview + if (is_demo(Auth::id())) { + return Demo::response_204(); + } + + // Check shared permission + if (is_visitor($shared)) { + abort(403); + } + + foreach ($request->items as $item) { + + if ($item['type'] === 'folder') { + + $this->helper->check_item_access([ + $request->to_id, $item['id'] + ], $shared); + } + + if ($item['type'] !== 'folder') { + + $file = File::where('id', $item['id']) + ->where('user_id', $shared->user_id) + ->firstOrFail(); + + $this->helper->check_item_access([ + $request->to_id, $file->folder_id + ], $shared); + } + } + + $this->filemanager->move($request, $request->to_id); + + return response('Done!', 204); + } + + /** + * Guest download folder via zip + * + * @param Request $request + * @param $id + * @param $token + * @return string + */ + public function zip_folder($id, $token) + { + // Get shared record + $shared = get_shared($token); + + // Check access to requested folder + $this->helper->check_item_access($id, $shared); + + // Get folder + $folder = Folder::whereUserId($shared->user_id) + ->where('id', $id); + + if (!$folder->exists()) { + abort(404, 'Requested folder doesn\'t exists.'); + } + + $zip = $this->filemanager->zip_folder($id, $shared); + + // Get file + return response([ + 'url' => route('zip_public', [ + 'id' => $zip->id, + 'token' => $shared->token, + ]), + 'name' => $zip->basename, + ], 201); + } + + /** + * Guest download multiple files via zip + * + * @param Request $request + * @param $token + * @return string + */ + public function zip_multiple_files(Request $request, $token) + { + // Get shared record + $shared = get_shared($token); + + $file_parent_folders = File::whereUserId($shared->user_id) + ->whereIn('id', $request->items) + ->get() + ->pluck('folder_id') + ->toArray(); + + // Check access to requested directory + $this->helper->check_item_access($file_parent_folders, $shared); + + // Get requested files + $files = File::whereUserId($shared->user_id) + ->whereIn('id', $request->items) + ->get(); + + $zip = $this->filemanager->zip_files($files, $shared); + + // Get file + return response([ + 'url' => route('zip_public', [ + 'id' => $zip->id, + 'token' => $shared->token, + ]), + 'name' => $zip->basename, + ], 201); + } +} diff --git a/app/Http/Controllers/Sharing/FileSharingController.php b/app/Http/Controllers/Sharing/FileSharingController.php index f5de06b5..6ead99ab 100644 --- a/app/Http/Controllers/Sharing/FileSharingController.php +++ b/app/Http/Controllers/Sharing/FileSharingController.php @@ -36,8 +36,7 @@ class FileSharingController extends Controller public function index($token) { // Get shared token - $shared = Share::whereToken($token) - ->first(); + $shared = get_shared($token); if (!$shared) { return response() @@ -95,7 +94,7 @@ class FileSharingController extends Controller $file_pretty_name = $file->name . '.' . $file->mimetype; // Get file path - $path = '/file-manager/' . $file->basename; + $path = '/files/' . $file->basename; // Check if file exist if (!Storage::exists($path)) abort(404); @@ -121,7 +120,7 @@ class FileSharingController extends Controller public function authenticate(AuthenticateShareRequest $request, $token) { // Get sharing record - $shared = Share::where(DB::raw('BINARY `token`'), $token)->firstOrFail(); + $shared = get_shared($token); // Check password if (!Hash::check($request->password, $shared->password)) { @@ -166,37 +165,6 @@ class FileSharingController extends Controller return collect([$folders, $files])->collapse(); } - /** - * Browse public folders - * - * @param $id - * @param $token - * @return Collection - */ - public function get_public_folders($id, $token) - { - $shared = get_shared($token); - - // Abort if folder is protected - if ((int)$shared->is_protected) { - abort(403, "Sorry, you don't have permission"); - } - - // Check if user can get directory - $this->helper->check_item_access($id, $shared); - - // Get files and folders - list($folders, $files) = $this->get_items($id, $shared); - - // Set thumbnail links for public files - $files->map(function ($item) use ($token) { - $item->setPublicUrl($token); - }); - - // Collect folders and files to single array - return collect([$folders, $files])->collapse(); - } - /** * Get shared public file record * @@ -206,8 +174,7 @@ class FileSharingController extends Controller public function file_public($token) { // Get sharing record - $shared = Share::whereToken($token) - ->firstOrFail(); + $shared = get_shared($token); // Abort if file is protected if ((int)$shared->is_protected) { @@ -275,36 +242,6 @@ class FileSharingController extends Controller ]; } - /** - * Get navigation tree - * - * @return array - */ - public function get_public_navigation_tree($token) - { - // Get sharing record - $shared = get_shared($token); - - // Check if user can get directory - $this->helper->check_item_access($shared->item_id, $shared); - - // Get folders - $folders = Folder::with('folders:id,parent_id,name') - ->where('parent_id', $shared->item_id) - ->where('user_id', $shared->user_id) - ->sortable() - ->get(['id', 'parent_id', 'id', 'name']); - - return [ - [ - 'id' => $shared->item_id, - 'name' => __('vuefilemanager.home'), - 'location' => 'public', - 'folders' => $folders, - ] - ]; - } - /** * Search private files * @@ -347,81 +284,4 @@ class FileSharingController extends Controller // Collect folders and files to single array return collect([$folders, $files])->collapse(); } - - /** - * Search public files - * - * @param Request $request - * @param $token - * @return Collection - */ - public function search_public(Request $request, $token) - { - // Get shared - $shared = get_shared($token); - - // Abort if folder is protected - if ((int)$shared->is_protected) { - abort(403, "Sorry, you don't have permission"); - } - - // Search files id db - $searched_files = File::search($request->input('query')) - ->where('user_id', $shared->user_id) - ->get(); - $searched_folders = Folder::search($request->input('query')) - ->where('user_id', $shared->user_id) - ->get(); - - // Get all children content - $foldersIds = Folder::with('folders:id,parent_id,unique_id,name') - ->where('user_id', $shared->user_id) - ->where('parent_id', $shared->item_id) - ->get(); - - // Get accessible folders - $accessible_folder_ids = Arr::flatten([filter_folders_ids($foldersIds), $shared->item_id]); - - // Filter files - $files = $searched_files->filter(function ($file) use ($accessible_folder_ids, $token) { - - // Set public urls - $file->setPublicUrl($token); - - // check if item is in accessible folders - return in_array($file->folder_id, $accessible_folder_ids); - }); - - // Filter folders - $folders = $searched_folders->filter(function ($folder) use ($accessible_folder_ids) { - - // check if item is in accessible folders - return in_array($folder->unique_id, $accessible_folder_ids); - }); - - // Collect folders and files to single array - return collect([$folders, $files])->collapse(); - } - - /** - * Get folders and files - * - * @param $id - * @param $shared - * @return array - */ - private function get_items($id, $shared): array - { - $folders = Folder::where('user_id', $shared->user_id) - ->where('parent_id', $id) - ->sortable() - ->get(); - - $files = File::where('user_id', $shared->user_id) - ->where('folder_id', $id) - ->sortable() - ->get(); - - return [$folders, $files]; - } } diff --git a/app/Http/Controllers/Sharing/ShareEditContentController.php b/app/Http/Controllers/Sharing/ShareEditContentController.php deleted file mode 100644 index ccd5fe3c..00000000 --- a/app/Http/Controllers/Sharing/ShareEditContentController.php +++ /dev/null @@ -1,11 +0,0 @@ -getRawOriginal('filesize') ); - return $this->helper->thumbnail_file($file, $shared->user_id); + return $this->helper->download_thumbnail_file($file, $shared->user_id); } } diff --git a/app/Http/Helpers/subscription.php b/app/Http/Helpers/subscription.php deleted file mode 100644 index 62b31d41..00000000 --- a/app/Http/Helpers/subscription.php +++ /dev/null @@ -1,23 +0,0 @@ -all(); - - $unsubscribed = $plans->filter(function ($item) use ($plan) { - return $item->id !== $plan->id; - }); - - $capacities = $unsubscribed->map(function ($item) { - return $item->features->first()->value; - }); - - return max(Arr::flatten($capacities)) < $plan->features->first()->value ? 1 : 0; -} diff --git a/app/Http/Helpers/helpers.php b/app/Http/helpers.php similarity index 100% rename from app/Http/Helpers/helpers.php rename to app/Http/helpers.php diff --git a/composer.json b/composer.json index 30168931..3a3afd7d 100644 --- a/composer.json +++ b/composer.json @@ -61,8 +61,7 @@ "database/factories" ], "files": [ - "app/Http//Helpers/helpers.php", - "app/Http//Helpers/subscription.php" + "app/Http/helpers.php" ] }, "autoload-dev": { diff --git a/routes/api.php b/routes/api.php index 5ebc952e..c9a58f6e 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,6 +1,6 @@ ['auth:api', 'auth.shared', 'scope:visitor,editor' Route::group(['middleware' => ['auth:sanctum']], function () { // Edit items - Route::post('/create-folder', [EditItemsController::class, 'user_create_folder']); - Route::patch('/rename/{id}', [EditItemsController::class, 'user_rename_item']); - Route::post('/remove', [EditItemsController::class, 'user_delete_item']); - Route::post('/upload', [EditItemsController::class, 'user_upload']); - Route::post('/move', [EditItemsController::class, 'user_move']); + Route::post('/create-folder', [EditItemsController::class, 'create_folder']); + Route::patch('/rename/{id}', [EditItemsController::class, 'rename_item']); + Route::post('/remove', [EditItemsController::class, 'delete_item']); + Route::post('/upload', [EditItemsController::class, 'upload']); + Route::post('/move', [EditItemsController::class, 'move']); Route::group(['prefix' => 'zip'], function () { - Route::post('/files', [EditItemsController::class, 'user_zip_multiple_files']); - Route::get('/folder/{unique_id}', [EditItemsController::class, 'user_zip_folder']); + Route::post('/files', [EditItemsController::class, 'zip_multiple_files']); + Route::get('/folder/{unique_id}', [EditItemsController::class, 'zip_folder']); }); }); diff --git a/routes/file.php b/routes/file.php index e5f97f66..14de54f8 100644 --- a/routes/file.php +++ b/routes/file.php @@ -1,7 +1,7 @@ name('avatar'); diff --git a/routes/maintenance.php b/routes/maintenance.php index dff643c7..d4d477e5 100644 --- a/routes/maintenance.php +++ b/routes/maintenance.php @@ -1,6 +1,6 @@ 'editor'], function () { - Route::post('/create-folder/public/{token}', [EditItemsController::class, 'guest_create_folder']); - Route::patch('/rename/{id}/public/{token}', [EditItemsController::class, 'guest_rename_item']); - Route::post('/remove/public/{token}', [EditItemsController::class, 'guest_delete_item']); - Route::post('/upload/public/{token}', [EditItemsController::class, 'guest_upload']); - Route::post('/move/public/{token}', [EditItemsController::class, 'guest_move']); + Route::post('/create-folder/public/{token}', [EditShareItemsController::class, 'create_folder']); + Route::patch('/rename/{id}/public/{token}', [EditShareItemsController::class, 'rename_item']); + Route::post('/remove/public/{token}', [EditShareItemsController::class, 'delete_item']); + Route::post('/upload/public/{token}', [EditShareItemsController::class, 'upload']); + Route::post('/move/public/{token}', [EditShareItemsController::class, 'move']); }); // Editor/Visitor zip functions Route::group(['prefix' => 'zip'], function () { - Route::post('/files/public/{token}', [EditItemsController::class, 'guest_zip_multiple_files']); - Route::get('/folder/{id}/public/{token}', [EditItemsController::class, 'guest_zip_folder']); + Route::post('/files/public/{token}', [EditShareItemsController::class, 'zip_multiple_files']); + Route::get('/folder/{id}/public/{token}', [EditShareItemsController::class, 'zip_folder']); }); // Browse share content Route::group(['prefix' => 'browse'], function () { - Route::get('/navigation/public/{token}', [FileSharingController::class, 'get_public_navigation_tree']); - Route::get('/folders/{id}/public/{token}', [FileSharingController::class, 'get_public_folders']); + Route::get('/navigation/public/{token}', [BrowseShareController::class, 'get_public_navigation_tree']); + Route::get('/folders/{id}/public/{token}', [BrowseShareController::class, 'get_public_folders']); + Route::get('/search/public/{token}', [BrowseShareController::class, 'search_public']); + Route::post('/shared/authenticate/{token}', [FileSharingController::class, 'authenticate']); - Route::get('/search/public/{token}', [FileSharingController::class, 'search_public']); Route::get('/files/{token}/public', [FileSharingController::class, 'file_public']); Route::get('/shared/{token}', [ShareController::class, 'show']); }); diff --git a/routes/web.php b/routes/web.php index 6b20a730..4fb01402 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,8 +1,8 @@ 'Renamed Item', 'type' => 'file', ]) - ->assertStatus(200) + ->assertStatus(201) ->assertJsonFragment([ 'name' => 'Renamed Item', ]); @@ -98,7 +98,7 @@ class ShareEditorTest extends TestCase 'name' => 'Renamed Folder', 'type' => 'folder', ]) - ->assertStatus(200) + ->assertStatus(201) ->assertJsonFragment([ 'name' => 'Renamed Folder', ]);