'int', 'is_successful' => 'bool', 'is_locked' => 'bool', 'ignored_files' => 'array', 'bytes' => 'int', ]; /** * @var array */ protected $dates = [ 'completed_at', ]; /** * @var array */ protected $attributes = [ 'is_successful' => false, 'is_locked' => false, 'checksum' => null, 'bytes' => 0, 'upload_id' => null, ]; /** * @var string[] */ protected $guarded = ['id', 'created_at', 'updated_at', 'deleted_at']; /** * @var array */ public static $validationRules = [ 'server_id' => 'bail|required|numeric|exists:servers,id', 'uuid' => 'required|uuid', 'is_successful' => 'boolean', 'is_locked' => 'boolean', 'name' => 'required|string', 'ignored_files' => 'array', 'disk' => 'required|string', 'checksum' => 'nullable|string', 'bytes' => 'numeric', 'upload_id' => 'nullable|string', ]; /** * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function server() { return $this->belongsTo(Server::class); } /** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function audits() { return $this->hasMany(AuditLog::class, 'metadata->backup_uuid', 'uuid') ->where('action', 'LIKE', 'server:backup.%'); // ->where('metadata->backup_uuid', $this->uuid); } }