GroupMedia.php 750 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Storage;
  6. class GroupMedia extends Model
  7. {
  8. use HasFactory;
  9. /**
  10. * Get the attributes that should be cast.
  11. *
  12. * @return array<string, string>
  13. */
  14. protected function casts(): array
  15. {
  16. return [
  17. 'metadata' => 'json',
  18. 'processed_at' => 'datetime',
  19. 'thumbnail_generated' => 'datetime'
  20. ];
  21. }
  22. public function url()
  23. {
  24. if($this->cdn_url) {
  25. return $this->cdn_url;
  26. }
  27. return Storage::url($this->media_path);
  28. }
  29. public function thumbnailUrl()
  30. {
  31. return $this->thumbnail_url;
  32. }
  33. }