mirror of
https://gitlab.linphone.org/BC/public/flexisip-account-manager.git
synced 2026-01-17 01:58:07 +00:00
38 lines
844 B
PHP
38 lines
844 B
PHP
<?php
|
|
|
|
namespace App\Rules;
|
|
|
|
use App\AccountFile;
|
|
use Illuminate\Contracts\Validation\Rule;
|
|
|
|
class AudioMime implements Rule
|
|
{
|
|
public function __construct(private AccountFile $accountFile)
|
|
{
|
|
}
|
|
|
|
public function passes($attribute, $file): bool
|
|
{
|
|
$mimeType = null;
|
|
switch ($file->getMimeType()) {
|
|
case 'audio/opus':
|
|
$mimeType = 'audio/opus';
|
|
break;
|
|
|
|
case 'audio/vnd.wave':
|
|
case 'audio/wav':
|
|
case 'audio/wave':
|
|
case 'audio/x-wav':
|
|
case 'audio/x-pn-wav':
|
|
$mimeType = 'audio/wav';
|
|
break;
|
|
}
|
|
|
|
return $this->accountFile->content_type == $mimeType;
|
|
}
|
|
|
|
public function message()
|
|
{
|
|
return __('The file should have the declared mime-type');
|
|
}
|
|
}
|