Files
zemailnator/app/Models/RemoteEmail.php
idevakk 3706072ce5 fix: resolve PSR-4 autoloading and test failures
- 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
2025-11-13 09:49:21 -08:00

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();
}
}