namespaces refactoring part 3

This commit is contained in:
Peter Papp
2021-07-19 13:40:26 +02:00
parent 54dc57fcbf
commit 29d1b68dd5
26 changed files with 126 additions and 65 deletions

File diff suppressed because one or more lines are too long

12
composer.lock generated
View File

@@ -5196,16 +5196,16 @@
},
{
"name": "phpunit/phpunit",
"version": "9.5.6",
"version": "9.5.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "fb9b8333f14e3dce976a60ef6a7e05c7c7ed8bfb"
"reference": "d0dc8b6999c937616df4fb046792004b33fd31c5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fb9b8333f14e3dce976a60ef6a7e05c7c7ed8bfb",
"reference": "fb9b8333f14e3dce976a60ef6a7e05c7c7ed8bfb",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d0dc8b6999c937616df4fb046792004b33fd31c5",
"reference": "d0dc8b6999c937616df4fb046792004b33fd31c5",
"shasum": ""
},
"require": {
@@ -5283,7 +5283,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.6"
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.7"
},
"funding": [
{
@@ -5295,7 +5295,7 @@
"type": "github"
}
],
"time": "2021-06-23T05:14:38+00:00"
"time": "2021-07-19T06:14:47+00:00"
},
{
"name": "pragmarx/google2fa",

View File

@@ -67,7 +67,7 @@ return [
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => Domain\Traffic\Models\User::class,
'model' => App\Users\Models\User::class,
],
// 'users' => [

View File

@@ -56,7 +56,7 @@ return [
|
*/
'model' => env('CASHIER_MODEL', Domain\Traffic\Models\User::class),
'model' => env('CASHIER_MODEL', App\Users\Models\User::class),
/*
|--------------------------------------------------------------------------

45
config/sanctum.php Normal file
View File

@@ -0,0 +1,45 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Stateful Domains
|--------------------------------------------------------------------------
|
| Requests from the following domains / hosts will receive stateful API
| authentication cookies. Typically, these should include your local
| and production domains which access your API via a frontend SPA.
|
*/
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost,127.0.0.1,127.0.0.1:8000,::1')),
/*
|--------------------------------------------------------------------------
| Expiration Minutes
|--------------------------------------------------------------------------
|
| This value controls the number of minutes until an issued token will be
| considered expired. If this value is null, personal access tokens do
| not expire. This won't tweak the lifetime of first-party sessions.
|
*/
'expiration' => null,
/*
|--------------------------------------------------------------------------
| Sanctum Middleware
|--------------------------------------------------------------------------
|
| When authenticating your first-party SPA with Sanctum you may need to
| customize some of the middleware Sanctum uses while processing the
| request. You may change the middleware listed below as required.
|
*/
'middleware' => [
'verify_csrf_token' => Support\Middleware\VerifyCsrfToken::class,
'encrypt_cookies' => Support\Middleware\EncryptCookies::class,
],
];

View File

@@ -1,7 +1,19 @@
<?php
namespace App\Http;
use Fruitcake\Cors\HandleCors;
use Support\Middleware\TrimStrings;
use Support\Middleware\TrustProxies;
use Support\Middleware\EncryptCookies;
use Support\Middleware\VerifyCsrfToken;
use Illuminate\Session\Middleware\StartSession;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
use Illuminate\Routing\Middleware\SubstituteBindings;
use Illuminate\View\Middleware\ShareErrorsFromSession;
use Support\Middleware\PreventRequestsDuringMaintenance;
use Illuminate\Foundation\Http\Middleware\ValidatePostSize;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
use Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull;
use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;
class Kernel extends HttpKernel
@@ -14,13 +26,12 @@ class Kernel extends HttpKernel
* @var array
*/
protected $middleware = [
// \App\Http\Middleware\TrustHosts::class,
\Support\Middleware\TrustProxies::class,
\Fruitcake\Cors\HandleCors::class,
\Support\Middleware\PreventRequestsDuringMaintenance::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\Support\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
TrustProxies::class,
HandleCors::class,
PreventRequestsDuringMaintenance::class,
ValidatePostSize::class,
TrimStrings::class,
ConvertEmptyStringsToNull::class,
];
/**
@@ -30,20 +41,18 @@ class Kernel extends HttpKernel
*/
protected $middlewareGroups = [
'web' => [
\Support\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\Support\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
EncryptCookies::class,
AddQueuedCookiesToResponse::class,
StartSession::class,
ShareErrorsFromSession::class,
VerifyCsrfToken::class,
SubstituteBindings::class,
],
'api' => [
EnsureFrontendRequestsAreStateful::class,
//'throttle:api',
//\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
SubstituteBindings::class,
],
];

View File

@@ -1,7 +1,6 @@
<?php
namespace App\Providers;
use Illuminate\Support\Facades\App;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider

View File

@@ -2,13 +2,13 @@
namespace App\Users\Models;
use ByteUnits\Metric;
use Database\Factories\UserFactory;
use Domain\Files\Models\File;
use Domain\Folders\Models\Folder;
use Domain\Traffic\Models\Traffic;
use Illuminate\Support\Str;
use Domain\Files\Models\File;
use Laravel\Cashier\Billable;
use Domain\Folders\Models\Folder;
use Laravel\Sanctum\HasApiTokens;
use Domain\Traffic\Models\Traffic;
use Database\Factories\UserFactory;
use Kyslik\ColumnSortable\Sortable;
use Support\Services\HelperService;
use Illuminate\Support\Facades\Storage;

View File

@@ -2,11 +2,11 @@
namespace Domain\Files\Models;
use ByteUnits\Metric;
use Database\Factories\FileFactory;
use Domain\Folders\Models\Folder;
use Domain\Sharing\Models\Share;
use Illuminate\Support\Str;
use Laravel\Scout\Searchable;
use Domain\Sharing\Models\Share;
use Domain\Folders\Models\Folder;
use Database\Factories\FileFactory;
use Kyslik\ColumnSortable\Sortable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Storage;

View File

@@ -26,7 +26,7 @@ class UploadRequest extends FormRequest
return [
'filename' => 'required|string',
'folder_id' => 'nullable|uuid',
'is_last' => 'sometimes|boolean',
'is_last' => 'sometimes|string',
'file' => ['required', 'file', new DisabledMimetypes],
];
}

View File

@@ -1,12 +1,12 @@
<?php
namespace Domain\Folders\Models;
use Database\Factories\FolderFactory;
use Domain\Files\Models\File;
use Domain\Sharing\Models\Share;
use Illuminate\Support\Str;
use Domain\Files\Models\File;
use Laravel\Scout\Searchable;
use Domain\Sharing\Models\Share;
use Kyslik\ColumnSortable\Sortable;
use Database\Factories\FolderFactory;
use Illuminate\Database\Eloquent\Model;
use TeamTNT\TNTSearch\Indexer\TNTIndexer;
use \Illuminate\Database\Eloquent\SoftDeletes;

View File

@@ -74,11 +74,15 @@ class AppFunctionsController extends Controller
*/
public function og_site(Share $shared)
{
$namespace = match ($shared->type) {
'folder' => 'Domain\\Folders\\Models\\Folder',
'file' => 'Domain\\Files\\Models\\File',
};
// Get file/folder record
$item = ('App\\Models\\' . ucfirst($shared->type))
::where('user_id', $shared->user->id)
->where('id', $shared->item_id)
->first();
$item = ($namespace)::where('user_id', $shared->user->id)
->where('id', $shared->item_id)
->first();
if ($item->thumbnail) {
$item->setPublicUrl($shared->token);

View File

@@ -1,8 +1,9 @@
<?php
namespace Domain\Sharing\Models;
use Database\Factories\ShareFactory;
use App\Users\Models\User;
use Illuminate\Support\Str;
use Database\Factories\ShareFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Factories\HasFactory;

View File

@@ -2,8 +2,8 @@
namespace Domain\Zipping\Models;
use App\Users\Models\User;
use Database\Factories\ZipFactory;
use Illuminate\Support\Str;
use Database\Factories\ZipFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Database\Eloquent\Factories\HasFactory;

View File

@@ -258,9 +258,12 @@ if (! function_exists('get_item')) {
*/
function get_item($type, $id)
{
$model = strtolower($type) === 'folder' ? 'Folder' : 'File';
$namespace = match ($type) {
'folder' => 'Domain\\Folders\\Models\\Folder',
'file' => 'Domain\\Files\\Models\\File',
};
return ("App\\Models\\$model")::find($id);
return ($namespace)::find($id);
}
}

View File

@@ -1,5 +1,5 @@
<?php
namespace Tests\Feature\Accounts;
namespace Tests\App\Users;
use Storage;
use Notification;
@@ -7,8 +7,8 @@ use Tests\TestCase;
use App\Users\Models\User;
use Domain\Settings\Models\Setting;
use Illuminate\Support\Facades\Password;
use App\Users\Notifications\ResetPassword;
use Illuminate\Auth\Notifications\VerifyEmail;
use Domain\Sharing\Notifications\ResetPassword;
class SignFlowTest extends TestCase
{

View File

@@ -13,8 +13,8 @@ use Domain\Sharing\Models\Share;
use Domain\Folders\Models\Folder;
use Illuminate\Http\UploadedFile;
use Domain\Settings\Models\Setting;
use App\Users\Notifications\ResetPassword;
use Domain\SetupWizard\Services\SetupService;
use Domain\Sharing\Notifications\ResetPassword;
class AdminTest extends TestCase
{
@@ -354,7 +354,7 @@ class AdminTest extends TestCase
'filename' => $file->name,
'file' => $file,
'folder_id' => null,
'is_last' => true,
'is_last' => 'true',
])->assertStatus(201);
});

View File

@@ -49,7 +49,7 @@ class FileTest extends TestCase
'filename' => $file->name,
'file' => $file,
'folder_id' => null,
'is_last' => true,
'is_last' => 'true',
])->assertStatus(201);
$disk = Storage::disk('local');
@@ -88,7 +88,7 @@ class FileTest extends TestCase
'filename' => $file->name,
'file' => $file,
'folder_id' => null,
'is_last' => true,
'is_last' => 'true',
])->assertStatus(201);
$disk = Storage::disk('local');
@@ -249,7 +249,7 @@ class FileTest extends TestCase
'filename' => $file->name,
'file' => $file,
'folder_id' => null,
'is_last' => true,
'is_last' => 'true',
])->assertStatus(201);
});

View File

@@ -408,7 +408,7 @@ class FolderTest extends TestCase
'filename' => $file->name,
'file' => $file,
'folder_id' => $folder->id,
'is_last' => true,
'is_last' => 'true',
])->assertStatus(201);
});

View File

@@ -1,11 +1,12 @@
<?php
namespace Tests\Domain\Settings;
use Storage;
use Tests\TestCase;
use App\Users\Models\User;
use Laravel\Sanctum\Sanctum;
use Illuminate\Http\UploadedFile;
use Domain\Settings\Models\Setting;
use Domain\SetupWizard\Services\SetupService;
class SettingsTest extends TestCase
{
@@ -37,7 +38,7 @@ class SettingsTest extends TestCase
*/
public function it_get_admin_settings()
{
$this->setup->seed_default_settings('Extended');
resolve(SetupService::class)->seed_default_settings('Extended');
$admin = User::factory(User::class)
->create(['role' => 'admin']);
@@ -71,7 +72,7 @@ class SettingsTest extends TestCase
*/
public function it_update_settings()
{
$this->setup->seed_default_settings('Extended');
resolve(SetupService::class)->seed_default_settings('Extended');
$admin = User::factory(User::class)
->create(['role' => 'admin']);
@@ -104,8 +105,6 @@ class SettingsTest extends TestCase
$admin = User::factory(User::class)
->create(['role' => 'admin']);
Sanctum::actingAs($admin);
$this
->actingAs($admin)
->patchJson('/api/admin/settings', [

View File

@@ -335,7 +335,7 @@ class VisitorManipulatingTest extends TestCase
'filename' => $file->name,
'file' => $file,
'folder_id' => $folder->id,
'is_last' => true,
'is_last' => 'true',
])->assertStatus(201);
}
@@ -345,7 +345,7 @@ class VisitorManipulatingTest extends TestCase
'filename' => $file->name,
'file' => $file,
'folder_id' => $folder->id,
'is_last' => true,
'is_last' => 'true',
])->assertStatus(201);
}

View File

@@ -76,7 +76,7 @@ class TrashTest extends TestCase
'filename' => $image->name,
'file' => $image,
'folder_id' => null,
'is_last' => true,
'is_last' => 'true',
])->assertStatus(201);
$file = File::first();

View File

@@ -1,6 +1,7 @@
<?php
namespace Tests\Domain\Zipping;
use Storage;
use Tests\TestCase;
use App\Users\Models\User;
use Illuminate\Support\Str;

View File

@@ -31,7 +31,7 @@ class UserZippingTest extends TestCase
'filename' => $file->name,
'file' => $file,
'folder_id' => null,
'is_last' => true,
'is_last' => 'true',
])->assertStatus(201);
});
@@ -75,7 +75,7 @@ class UserZippingTest extends TestCase
'filename' => $file->name,
'file' => $file,
'folder_id' => $folder->id,
'is_last' => true,
'is_last' => 'true',
])->assertStatus(201);
});

View File

@@ -7,7 +7,7 @@ use App\Users\Models\User;
use Domain\Zipping\Models\Zip;
use Domain\Sharing\Models\Share;
use Illuminate\Http\UploadedFile;
use Domain\SetupWizard\Services\SchedulerService;
use Support\Scheduler\Actions\SchedulerService;
class SchedulerTest extends TestCase
{

View File

@@ -25,6 +25,6 @@ abstract class TestCase extends BaseTestCase
resolve(SetupService::class)->create_directories();
$this->withoutExceptionHandling();
//$this->withoutExceptionHandling();
}
}