false, 'is_locked' => false, 'checksum' => null, 'bytes' => 0, 'upload_id' => null, ]; protected $guarded = ['id', 'created_at', 'updated_at', 'deleted_at']; /** @var array */ public static array $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'], ]; protected function casts(): array { return [ 'id' => 'int', 'is_successful' => 'bool', 'is_locked' => 'bool', 'ignored_files' => 'array', 'bytes' => 'int', 'completed_at' => 'immutable_datetime', 'created_at' => 'immutable_datetime', 'updated_at' => 'immutable_datetime', 'deleted_at' => 'immutable_datetime', ]; } public function server(): BelongsTo { return $this->belongsTo(Server::class); } /** * @param \Illuminate\Database\Query\Builder $query * @return BackupQueryBuilder<\Illuminate\Database\Eloquent\Model> */ public function newEloquentBuilder($query): BackupQueryBuilder { return new BackupQueryBuilder($query); } }