- Add proper Tests\ namespace to all test classes in tests/Feature and tests/Unit - Split RemainingModelsTest.php into separate files (PSR-4 compliance) - Create missing factories: MetaFactory, RemoteEmailFactory - Add HasFactory trait to RemoteEmail model - Add missing ReflectionClass imports to test files - Fix mass assignment issues in Meta and RemoteEmail models - Override database connection for RemoteEmail in testing environment - Fix DateTime comparison precision issues in tests
54 lines
1.1 KiB
PHP
54 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
class RemoteEmail extends Model
|
|
{
|
|
use HasFactory;
|
|
protected $table = 'emails';
|
|
|
|
public function getConnectionName()
|
|
{
|
|
if (app()->environment('testing')) {
|
|
return config('database.default');
|
|
}
|
|
|
|
return 'mysql_remote';
|
|
}
|
|
|
|
|
|
protected $fillable = [
|
|
'message_id',
|
|
'subject',
|
|
'from_name',
|
|
'from_email',
|
|
'to',
|
|
'body_html',
|
|
'body_text',
|
|
'is_seen',
|
|
'timestamp',
|
|
];
|
|
|
|
protected $casts = [
|
|
'to' => 'array',
|
|
'is_seen' => 'boolean',
|
|
'timestamp' => 'datetime',
|
|
];
|
|
|
|
public static function fetchEmailFromDB($email)
|
|
{
|
|
$validator = Validator::make(['email' => $email], [
|
|
'email' => 'required|email'
|
|
]);
|
|
|
|
if ($validator->fails()) {
|
|
return [];
|
|
}
|
|
return self::whereJsonContains('to', $email)->orderBy('timestamp', 'desc')->get();
|
|
}
|
|
}
|