Changeset View
Changeset View
Standalone View
Standalone View
src/app/Observers/PackageObserver.php
<?php | <?php | ||||
namespace App\Observers; | namespace App\Observers; | ||||
use App\Package; | use App\Package; | ||||
/** | /** | ||||
* This is an observer for the Package model definition. | * This is an observer for the Package model definition. | ||||
*/ | */ | ||||
class PackageObserver | class PackageObserver | ||||
{ | { | ||||
/** | /** | ||||
* Handle the "creating" event on an Package. | * Handle the "creating" event on an Package. | ||||
* | * | ||||
* Ensures that the entry uses a custom ID (uuid). | |||||
* | |||||
* @param Package $package The Package being created. | * @param Package $package The Package being created. | ||||
* | * | ||||
* @return void | * @return void | ||||
*/ | */ | ||||
public function creating(Package $package) | public function creating(Package $package) | ||||
{ | { | ||||
while (true) { | |||||
$allegedly_unique = \App\Utils::uuidStr(); | |||||
if (!Package::find($allegedly_unique)) { | |||||
$package->{$package->getKeyName()} = $allegedly_unique; | |||||
break; | |||||
} | |||||
} | |||||
$package->tenant_id = \config('app.tenant_id'); | $package->tenant_id = \config('app.tenant_id'); | ||||
} | } | ||||
} | } |