54 lines
1.3 KiB
PHP
54 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Providers;
|
|
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Facades\Route;
|
|
use Illuminate\Support\ServiceProvider;
|
|
use Illuminate\Foundation\Bus\DispatchesJobs;
|
|
|
|
use App\Models\{Photo,Video};
|
|
use App\Jobs\{PhotoMove,VideoMove};
|
|
|
|
class AppServiceProvider extends ServiceProvider
|
|
{
|
|
use DispatchesJobs;
|
|
|
|
/**
|
|
* Register any application services.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function register(): void
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Bootstrap any application services.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function boot(): void
|
|
{
|
|
Route::model('po',Photo::class);
|
|
|
|
// Any photo saved, queue it to be moved.
|
|
Photo::saved(function($photo) {
|
|
if ($photo->scanned && (! $photo->duplicate) && (! $photo->remove) && ($x=$photo->moveable()) === TRUE) {
|
|
Log::info(sprintf('%s: Need to Move [%s]',__METHOD__,$photo->id.'|'.serialize($x)));
|
|
|
|
PhotoMove::dispatch($photo)->onQueue('move');
|
|
}
|
|
});
|
|
|
|
// Any video saved, queue it to be moved.
|
|
Video::saved(function($video) {
|
|
if ($video->scanned AND ! $video->duplicate AND ! $video->remove AND ($x=$video->moveable()) === TRUE) {
|
|
Log::info(sprintf('%s: Need to Move [%s]',__METHOD__,$video->id.'|'.serialize($x)));
|
|
|
|
$this->dispatch((new VideoMove($video))->onQueue('move'));
|
|
}
|
|
});
|
|
}
|
|
} |