initial commit

This commit is contained in:
2022-01-04 13:27:11 -07:00
parent 3764dad884
commit aed6ca46c2
63 changed files with 3780 additions and 1 deletions

View File

@ -0,0 +1,44 @@
<?php
namespace App\Models\Traits;
trait HasUidTrait
{
/**
* Ensure that when a model is saving, a unique ID
* is set for the model.
*
* @since 1.0.0
*
* @return void
*/
public static function bootHasUidTrait(): void
{
//
}
/**
* Initialize logic.
*
* @since 1.0.0
*
* @return void
*/
protected function initializeHasUidTrait(): void
{
$this->id = $this->generateUid();
}
/**
* Generates a cryptographically safe unique ID.
*
* @since 1.0.0
*
* @return string
*/
public function generateUid(): string
{
$bytes = openssl_random_pseudo_bytes(env('APP_UID_BYTES', 8));
return bin2hex($bytes);
}
}