<?php  namespace App\Models;  use App\Traits\HasStorage; use App\Contracts\HasMedia; use App\Traits\HasTranslations; use Illuminate\Database\Eloquent\Builder;  class Banner extends Model implements HasMedia { 	use HasStorage, HasTranslations;  	public const BANNER_TYPE_HOME = 1; 	public const BANNER_TYPE_CHEESES = 2; 	public const BANNER_TYPE_OIL = 3; 	public const BANNER_TYPE_WINE = 4; 	public const BANNER_TYPE_PDO_PGI = 5; 	public const BANNER_TYPE_BIO_PRODUCTS = 6; 	public const BANNER_TYPE_GIFTS = 7; 	public const BANNER_TYPE_DELICATESSE = 8; 	public const BANNER_TYPE_COSMETICS = 9;  	protected $casts = [ 		'active' => 'boolean', 		'image_only' => 'boolean', 	];  	public static function getBannerTypeConstants(): array 	{ 		return [ 			self::BANNER_TYPE_HOME, 			self::BANNER_TYPE_CHEESES, 			self::BANNER_TYPE_OIL, 			self::BANNER_TYPE_WINE, 			self::BANNER_TYPE_PDO_PGI, 			self::BANNER_TYPE_BIO_PRODUCTS, 			self::BANNER_TYPE_GIFTS, 			self::BANNER_TYPE_DELICATESSE, 			self::BANNER_TYPE_COSMETICS, 		]; 	}  	public function mediaConfig(): array{}  	public function scopeIncludes(Builder $query): Builder{}  	public function scopeAvailable(Builder $query): Builder{}  	public function scopeBannerType(Builder $query, ?int $banner_type): Builder{}  	public static function getBannerName(int $type): string 	{ 		switch ($type) { 			case self::BANNER_TYPE_HOME: return __('banners.banner-type-home');  			case self::BANNER_TYPE_CHEESES: return __('banners.banner-type-cheeses');  			case self::BANNER_TYPE_OIL: return __('banners.banner-type-oil');  			case self::BANNER_TYPE_WINE: return __('banners.banner-type-wine');  			case self::BANNER_TYPE_PDO_PGI: return __('banners.banner-type-pdo-pgi');  			case self::BANNER_TYPE_BIO_PRODUCTS: return __('banners.banner-type-bio-products');  			case self::BANNER_TYPE_GIFTS:  return __('banners.banner-type-gifts');  			case self::BANNER_TYPE_DELICATESSE:  return __('banners.banner-type-delicatesse');  			case self::BANNER_TYPE_COSMETICS: return __('banners.banner-type-cosmetics'); 		}  		return ''; 	} }