'integer', 'duration' => 'float', 'converted' => 'boolean', 'hls_enabled' => 'boolean', 'created_at' => 'datetime', 'updated_at' => 'datetime', ]; public function user() { return $this->belongsTo(User::class); } public function getFormattedSizeAttribute() { $bytes = $this->size; $units = ['B', 'KB', 'MB', 'GB']; for ($i = 0; $bytes > 1024; $i++) { $bytes /= 1024; } return round($bytes, 2) . ' ' . $units[$i]; } public function getFormattedDurationAttribute() { $seconds = $this->duration; $hours = floor($seconds / 3600); $minutes = floor(($seconds % 3600) / 60); $secs = $seconds % 60; return sprintf('%02d:%02d:%02d', $hours, $minutes, $secs); } }