- added model events for generate uuid

This commit is contained in:
Peter Papp
2021-02-26 17:19:57 +01:00
parent fd02fbfe08
commit 920ee19651
25 changed files with 175 additions and 348 deletions
+18 -32
View File
@@ -5,46 +5,20 @@ namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Notifications\SharedSendViaEmail;
use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Str;
/**
* App\Share
*
* @property int $id
* @property int $user_id
* @property string $token
* @property int $item_id
* @property string $type
* @property string|null $permission
* @property int $protected
* @property string|null $password
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property-read string $link
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share query()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share whereItemId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share wherePassword($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share wherePermission($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share whereProtected($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share whereToken($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share whereType($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Share whereUserId($value)
* @mixin \Eloquent
* @property int|null $expire_in
* @method static \Illuminate\Database\Eloquent\Builder|Share whereExpireIn($value)
*/
class Share extends Model
{
use Notifiable;
use Notifiable;
protected $guarded = ['id'];
protected $appends = ['link'];
public $incrementing = false;
protected $keyType = 'string';
/**
* Generate share link
*
@@ -54,4 +28,16 @@ class Share extends Model
{
return url('/shared', ['token' => $this->attributes['token']]);
}
/**
* Model events
*/
protected static function boot()
{
parent::boot();
static::creating(function ($model) {
$model->id = (string)Str::uuid();
});
}
}