diff --git a/README.md b/README.md index 03eb754..a2bca70 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # File Manager -[![Codacy Badge](https://api.codacy.com/project/badge/Grade/6e342eff10f24db5b89be5fe203e424d)](https://www.codacy.com/app/laravel-enso/files?utm_source=github.com&utm_medium=referral&utm_content=laravel-enso/files&utm_campaign=Badge_Grade) +[![Codacy Badge](https://app.codacy.com/project/badge/Grade/0ad3f6e21d9e42279dedd5432602891b)](https://www.codacy.com/gh/laravel-enso/files?utm_source=github.com&utm_medium=referral&utm_content=laravel-enso/files&utm_campaign=Badge_Grade) [![StyleCI](https://github.styleci.io/repos/85492361/shield?branch=master)](https://github.styleci.io/repos/85492361) [![License](https://poser.pugx.org/laravel-enso/datatable/license)](https://packagist.org/packages/laravel-enso/datatable) [![Total Downloads](https://poser.pugx.org/laravel-enso/files/downloads)](https://packagist.org/packages/laravel-enso/files) diff --git a/composer.json b/composer.json index 625006a..1bd57d1 100644 --- a/composer.json +++ b/composer.json @@ -10,21 +10,19 @@ "homepage": "https://github.com/laravel-enso/files", "type": "library", "license": "MIT", - "authors": [ - { - "name": "Adrian Ocneanu", - "email": "aocneanu@gmail.com", - "homepage": "https://laravel-enso.com", - "role": "Developer" - } - ], + "authors": [{ + "name": "Adrian Ocneanu", + "email": "aocneanu@gmail.com", + "homepage": "https://laravel-enso.com", + "role": "Developer" + }], "require": { "php": ">=7.4.0", - "laravel-enso/core": "4.8.*", - "laravel-enso/helpers": "1.15.*", - "laravel-enso/image-transformer": "1.6.*", - "laravel-enso/migrator": "1.1.*", - "laravel-enso/track-who": "1.9.*" + "laravel-enso/core": "^5.0", + "laravel-enso/helpers": "^2.0", + "laravel-enso/image-transformer": "^2.0", + "laravel-enso/migrator": "^2.0", + "laravel-enso/track-who": "^2.0" }, "autoload": { "psr-4": { @@ -40,8 +38,8 @@ "LaravelEnso\\Files\\UploadServiceProvider" ], "aliases": { - "FileBrowser": "LaravelEnso\\Files\\App\\Facades\\FileBrowser" + "FileBrowser": "LaravelEnso\\Files\\Facades\\FileBrowser" } } } -} \ No newline at end of file +} diff --git a/src/config/files.php b/config/files.php similarity index 100% rename from src/config/files.php rename to config/files.php diff --git a/src/database/migrations/2018_08_25_100000_create_files_table.php b/database/migrations/2018_08_25_100000_create_files_table.php similarity index 100% rename from src/database/migrations/2018_08_25_100000_create_files_table.php rename to database/migrations/2018_08_25_100000_create_files_table.php diff --git a/src/database/migrations/2018_08_25_101000_create_structure_for_files.php b/database/migrations/2018_08_25_101000_create_structure_for_files.php similarity index 86% rename from src/database/migrations/2018_08_25_101000_create_structure_for_files.php rename to database/migrations/2018_08_25_101000_create_structure_for_files.php index b32e014..3e38ea1 100644 --- a/src/database/migrations/2018_08_25_101000_create_structure_for_files.php +++ b/database/migrations/2018_08_25_101000_create_structure_for_files.php @@ -1,10 +1,10 @@ 'core.files.index', 'description' => 'List files', 'is_default' => true], ['name' => 'core.files.link', 'description' => 'Get file download temporary link', 'is_default' => true], ['name' => 'core.files.show', 'description' => 'Open file in browser', 'is_default' => true], @@ -12,7 +12,7 @@ class CreateStructureForFiles extends Migration ['name' => 'core.files.destroy', 'description' => 'Delete file', 'is_default' => true], ]; - protected $menu = [ + protected array $menu = [ 'name' => 'Files', 'icon' => 'folder-open', 'route' => 'core.files.index', 'order_index' => 255, 'has_children' => false, ]; } diff --git a/src/database/migrations/2018_08_25_102000_create_uploads_table.php b/database/migrations/2018_08_25_102000_create_uploads_table.php similarity index 100% rename from src/database/migrations/2018_08_25_102000_create_uploads_table.php rename to database/migrations/2018_08_25_102000_create_uploads_table.php diff --git a/src/database/migrations/2018_08_25_103000_create_structure_for_uploads.php b/database/migrations/2018_08_25_103000_create_structure_for_uploads.php similarity index 76% rename from src/database/migrations/2018_08_25_103000_create_structure_for_uploads.php rename to database/migrations/2018_08_25_103000_create_structure_for_uploads.php index 04610c2..d8e5ec2 100644 --- a/src/database/migrations/2018_08_25_103000_create_structure_for_uploads.php +++ b/database/migrations/2018_08_25_103000_create_structure_for_uploads.php @@ -1,10 +1,10 @@ 'core.uploads.store', 'description' => 'Upload file', 'is_default' => true], ['name' => 'core.uploads.destroy', 'description' => 'Delete upload', 'is_default' => true], ]; diff --git a/src/routes/api.php b/routes/api.php similarity index 70% rename from src/routes/api.php rename to routes/api.php index ec8fd46..476d8dd 100644 --- a/src/routes/api.php +++ b/routes/api.php @@ -2,8 +2,8 @@ use Illuminate\Support\Facades\Route; -Route::middleware(['web', 'auth', 'core']) - ->namespace('LaravelEnso\Files\App\Http\Controllers') +Route::middleware(['api', 'auth', 'core']) + ->namespace('LaravelEnso\Files\Http\Controllers') ->prefix('api/core') ->as('core.') ->group(function () { @@ -12,7 +12,7 @@ }); Route::middleware(['signed', 'bindings']) - ->namespace('LaravelEnso\Files\App\Http\Controllers\File') + ->namespace('LaravelEnso\Files\Http\Controllers\File') ->prefix('api/core/files') ->as('core.files.') ->group(function () { diff --git a/src/routes/app/files.php b/routes/app/files.php similarity index 100% rename from src/routes/app/files.php rename to routes/app/files.php diff --git a/src/routes/app/uploads.php b/routes/app/uploads.php similarity index 100% rename from src/routes/app/uploads.php rename to routes/app/uploads.php diff --git a/src/AppServiceProvider.php b/src/AppServiceProvider.php index 0260f52..a346fc1 100644 --- a/src/AppServiceProvider.php +++ b/src/AppServiceProvider.php @@ -2,10 +2,12 @@ namespace LaravelEnso\Files; -use Illuminate\Database\Eloquent\Relations\Relation; use Illuminate\Support\ServiceProvider; -use LaravelEnso\Files\App\Models\Upload; -use LaravelEnso\Files\App\Services\FileBrowser; +use LaravelEnso\Core\Models\User; +use LaravelEnso\DynamicMethods\Services\Methods; +use LaravelEnso\Files\DynamicsRelations\Uploads; +use LaravelEnso\Files\Models\Upload; +use LaravelEnso\Files\Services\FileBrowser; class AppServiceProvider extends ServiceProvider { @@ -22,20 +24,19 @@ public function boot() private function load() { - $this->loadRoutesFrom(__DIR__.'/routes/api.php'); + $this->loadRoutesFrom(__DIR__.'/../routes/api.php'); - $this->mergeConfigFrom(__DIR__.'/config/files.php', 'enso.files'); + $this->mergeConfigFrom(__DIR__.'/../config/files.php', 'enso.files'); - $this->loadMigrationsFrom(__DIR__.'/database/migrations'); + $this->loadMigrationsFrom(__DIR__.'/../database/migrations'); return $this; } private function mapMorphs() { - Relation::morphMap([ - Upload::morphMapKey() => Upload::class, - ]); + Upload::morphMap(); + Methods::bind(User::class, [Uploads::class]); return $this; } @@ -43,7 +44,7 @@ private function mapMorphs() private function publish() { $this->publishes([ - __DIR__.'/config' => config_path('enso'), + __DIR__.'/../config' => config_path('enso'), ], ['files-config', 'enso-config']); $this->publishes([ diff --git a/src/AuthServiceProvider.php b/src/AuthServiceProvider.php index 5b43d27..86895aa 100644 --- a/src/AuthServiceProvider.php +++ b/src/AuthServiceProvider.php @@ -3,10 +3,10 @@ namespace LaravelEnso\Files; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; -use LaravelEnso\Files\App\Models\File; -use LaravelEnso\Files\App\Models\Upload; -use LaravelEnso\Files\App\Policies\File as FilePolicy; -use LaravelEnso\Files\App\Policies\Upload as UploadPolicy; +use LaravelEnso\Files\Models\File; +use LaravelEnso\Files\Models\Upload; +use LaravelEnso\Files\Policies\File as FilePolicy; +use LaravelEnso\Files\Policies\Upload as UploadPolicy; class AuthServiceProvider extends ServiceProvider { diff --git a/src/App/Contracts/Attachable.php b/src/Contracts/Attachable.php similarity index 90% rename from src/App/Contracts/Attachable.php rename to src/Contracts/Attachable.php index 606d5f1..e1879fe 100644 --- a/src/App/Contracts/Attachable.php +++ b/src/Contracts/Attachable.php @@ -1,11 +1,11 @@ $this->hasMany(Upload::class, 'created_by'); + } +} diff --git a/src/App/Exceptions/File.php b/src/Exceptions/File.php similarity index 90% rename from src/App/Exceptions/File.php rename to src/Exceptions/File.php index d3a7ebf..d77c535 100644 --- a/src/App/Exceptions/File.php +++ b/src/Exceptions/File.php @@ -1,8 +1,8 @@ models->search(fn ($source) => $source['model'] === $model); } - public function model($folder): string + public function model($folder): ?string { return $this->models->has($folder) ? $this->models->get($folder)['model'] diff --git a/src/App/Services/FileValidator.php b/src/Services/FileValidator.php similarity index 93% rename from src/App/Services/FileValidator.php rename to src/Services/FileValidator.php index 5cdbfb1..d66c053 100644 --- a/src/App/Services/FileValidator.php +++ b/src/Services/FileValidator.php @@ -1,10 +1,10 @@