Remove EncodeUTF8 infavour of using attribute casting only. The implementation of EncodeUTF8 was not correct, essentially removing any previous casting causing issues when saving a record.

This commit is contained in:
2024-06-01 10:46:02 +10:00
parent b5047c52f0
commit 73cf421739
10 changed files with 66 additions and 164 deletions

View File

@@ -11,7 +11,7 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\DB;
use App\Casts\CompressedString;
use App\Casts\CompressedStringOrNull;
use App\Traits\{QueryCacheableConfig,ScopeActive};
class Domain extends Model
@@ -22,7 +22,7 @@ class Domain extends Model
private const STATS_MONTHS = 6;
protected $casts = [
'homepage' => CompressedString::class,
'homepage' => CompressedStringOrNull::class,
];
/* SCOPES */

View File

@@ -9,7 +9,7 @@ use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use App\Casts\{CollectionOrNull,CompressedString};
use App\Casts\{CollectionOrNull,CompressedStringOrNull,UTF8StringOrNull};
use App\Classes\FTN\Message;
use App\Interfaces\Packet;
use App\Traits\{MessageAttributes,MsgID,ParseAddresses,QueryCacheableConfig};
@@ -32,10 +32,16 @@ final class Echomail extends Model implements Packet
public Address $tftn;
protected $casts = [
'to' => UTF8StringOrNull::class,
'from' => UTF8StringOrNull::class,
'subject' => UTF8StringOrNull::class,
'origin' => UTF8StringOrNull::class,
'tearline' => UTF8StringOrNull::class,
'tagline' => UTF8StringOrNull::class,
'datetime' => 'datetime:Y-m-d H:i:s',
'kludges' => CollectionOrNull::class,
'msg' => CompressedString::class,
'msg_src' => CompressedString::class,
'msg' => CompressedStringOrNull::class,
'msg_src' => CompressedStringOrNull::class,
'rogue_seenby' => CollectionOrNull::class,
'rogue_path' => CollectionOrNull::class, // @deprecated?
];

View File

@@ -11,12 +11,11 @@ use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Storage;
use App\Casts\{CollectionOrNull,CompressedString};
use App\Traits\EncodeUTF8;
use App\Casts\{CollectionOrNull,CompressedStringOrNull};
class File extends Model
{
use SoftDeletes,EncodeUTF8;
use SoftDeletes;
private const LOGKEY = 'MF-';
private bool $no_export = FALSE;
@@ -28,18 +27,13 @@ class File extends Model
protected $casts = [
'kludges' => CollectionOrNull::class,
'datetime' => 'datetime:Y-m-d H:i:s',
'desc' => CompressedString::class,
'ldesc' => CompressedString::class,
'desc' => CompressedStringOrNull::class,
'ldesc' => CompressedStringOrNull::class,
'rogue_seenby' => CollectionOrNull::class,
'rogue_path' => CollectionOrNull::class,
'size' => 'int',
];
private const cast_utf8 = [
'desc',
'ldesc',
];
public static function boot()
{
parent::boot();

View File

@@ -10,7 +10,7 @@ use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use App\Casts\{CollectionOrNull,CompressedString};
use App\Casts\{CollectionOrNull,CompressedStringOrNull,UTF8StringOrNull};
use App\Interfaces\Packet;
use App\Pivots\ViaPivot;
use App\Traits\{MessageAttributes,MsgID};
@@ -32,10 +32,16 @@ final class Netmail extends Model implements Packet
];
protected $casts = [
'to' => UTF8StringOrNull::class,
'from' => UTF8StringOrNull::class,
'subject' => UTF8StringOrNull::class,
'origin' => UTF8StringOrNull::class,
'tearline' => UTF8StringOrNull::class,
'tagline' => UTF8StringOrNull::class,
'datetime' => 'datetime:Y-m-d H:i:s',
'kludges' => CollectionOrNull::class,
'msg' => CompressedString::class,
'msg_src' => CompressedString::class,
'msg' => CompressedStringOrNull::class,
'msg_src' => CompressedStringOrNull::class,
'sent_at' => 'datetime:Y-m-d H:i:s',
];