Change our $casts array to a casts() function for our updated laravel, fix incoming TICs to not export to our system
This commit is contained in:
parent
e2cd09ac98
commit
8edc45fbd5
@ -9,10 +9,9 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
use Illuminate\Database\QueryException;
|
use Illuminate\Database\QueryException;
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
use App\Classes\FTN\{Message,Packet};
|
use App\Classes\FTN\Packet;
|
||||||
use App\Exceptions\InvalidFTNException;
|
use App\Exceptions\InvalidFTNException;
|
||||||
use App\Traits\{QueryCacheableConfig,ScopeActive};
|
use App\Traits\{QueryCacheableConfig,ScopeActive};
|
||||||
|
|
||||||
|
@ -6,7 +6,10 @@ use Illuminate\Database\Eloquent\Relations\Pivot;
|
|||||||
|
|
||||||
class AddressEchoarea extends Pivot
|
class AddressEchoarea extends Pivot
|
||||||
{
|
{
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'subscribed' => 'datetime:Y-m-d H:i',
|
{
|
||||||
];
|
return [
|
||||||
|
'subscribed' => 'datetime:Y-m-d H:i',
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
@ -28,9 +28,12 @@ class Domain extends Model
|
|||||||
private const CACHE_TIME = 3600;
|
private const CACHE_TIME = 3600;
|
||||||
private const STATS_MONTHS = 6;
|
private const STATS_MONTHS = 6;
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'homepage' => CompressedStringOrNull::class,
|
{
|
||||||
];
|
return [
|
||||||
|
'homepage' => CompressedStringOrNull::class,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/* SCOPES */
|
/* SCOPES */
|
||||||
|
|
||||||
|
@ -11,12 +11,15 @@ class Dynamic extends Model
|
|||||||
{
|
{
|
||||||
use SoftDeletes;
|
use SoftDeletes;
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'arguments' => CollectionOrNull::class,
|
{
|
||||||
'next_at' => 'datetime:Y-m-d H:i:s',
|
return [
|
||||||
'start_date' => 'datetime:Y-m-d',
|
'arguments' => CollectionOrNull::class,
|
||||||
'start_time' => 'datetime:H:i:s',
|
'next_at' => 'datetime:Y-m-d H:i:s',
|
||||||
];
|
'start_date' => 'datetime:Y-m-d',
|
||||||
|
'start_time' => 'datetime:H:i:s',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/* RELATIONS */
|
/* RELATIONS */
|
||||||
|
|
||||||
|
@ -45,10 +45,13 @@ class Echoarea extends Model
|
|||||||
|
|
||||||
private const CACHE_TIME = 3600;
|
private const CACHE_TIME = 3600;
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'first_message' => 'datetime:Y-m-d H:i:s',
|
{
|
||||||
'last_message' => 'datetime:Y-m-d H:i:s',
|
return [
|
||||||
];
|
'first_message' => 'datetime:Y-m-d H:i:s',
|
||||||
|
'last_message' => 'datetime:Y-m-d H:i:s',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/* RELATIONS */
|
/* RELATIONS */
|
||||||
|
|
||||||
|
@ -34,17 +34,20 @@ final class Echomail extends Model implements Packet
|
|||||||
// When generating a packet for this echomail, the packet recipient is our tftn
|
// When generating a packet for this echomail, the packet recipient is our tftn
|
||||||
public Address $tftn;
|
public Address $tftn;
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'to' => UTF8StringOrNull::class,
|
{
|
||||||
'from' => UTF8StringOrNull::class,
|
return [
|
||||||
'subject' => UTF8StringOrNull::class,
|
'to' => UTF8StringOrNull::class,
|
||||||
'datetime' => 'datetime:Y-m-d H:i:s',
|
'from' => UTF8StringOrNull::class,
|
||||||
'kludges' => CollectionOrNull::class,
|
'subject' => UTF8StringOrNull::class,
|
||||||
'msg' => CompressedStringOrNull::class,
|
'datetime' => 'datetime:Y-m-d H:i:s',
|
||||||
'msg_src' => CompressedStringOrNull::class,
|
'kludges' => CollectionOrNull::class,
|
||||||
'rogue_seenby' => CollectionOrNull::class,
|
'msg' => CompressedStringOrNull::class,
|
||||||
'rogue_path' => CollectionOrNull::class, // @deprecated?
|
'msg_src' => CompressedStringOrNull::class,
|
||||||
];
|
'rogue_seenby' => CollectionOrNull::class,
|
||||||
|
'rogue_path' => CollectionOrNull::class, // @deprecated?
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
public function __get($key)
|
public function __get($key)
|
||||||
{
|
{
|
||||||
@ -258,7 +261,7 @@ final class Echomail extends Model implements Packet
|
|||||||
$exportto = $model
|
$exportto = $model
|
||||||
->echoarea
|
->echoarea
|
||||||
->addresses
|
->addresses
|
||||||
->filter(function($item) use ($model) { return $model->echoarea->can_read($item->security); })
|
->filter(fn($item)=>$model->echoarea->can_read($item->security))
|
||||||
->pluck('id')
|
->pluck('id')
|
||||||
->diff(our_address($model->fftn->zone->domain,FALSE)->pluck('id'))
|
->diff(our_address($model->fftn->zone->domain,FALSE)->pluck('id'))
|
||||||
->diff($seenby);
|
->diff($seenby);
|
||||||
|
@ -25,15 +25,18 @@ class File extends Model
|
|||||||
public Collection $set_seenby;
|
public Collection $set_seenby;
|
||||||
public string $src_file = '';
|
public string $src_file = '';
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'kludges' => CollectionOrNull::class,
|
{
|
||||||
'datetime' => 'datetime:Y-m-d H:i:s',
|
return [
|
||||||
'desc' => CompressedStringOrNull::class,
|
'kludges' => CollectionOrNull::class,
|
||||||
'ldesc' => CompressedStringOrNull::class,
|
'datetime' => 'datetime:Y-m-d H:i:s',
|
||||||
'rogue_seenby' => CollectionOrNull::class,
|
'desc' => CompressedStringOrNull::class,
|
||||||
'rogue_path' => CollectionOrNull::class,
|
'ldesc' => CompressedStringOrNull::class,
|
||||||
'size' => 'int',
|
'rogue_seenby' => CollectionOrNull::class,
|
||||||
];
|
'rogue_path' => CollectionOrNull::class,
|
||||||
|
'size' => 'int',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
public static function boot()
|
public static function boot()
|
||||||
{
|
{
|
||||||
@ -146,18 +149,21 @@ class File extends Model
|
|||||||
$rogue->push($sb);
|
$rogue->push($sb);
|
||||||
}
|
}
|
||||||
|
|
||||||
$model->rogue_seenby = $rogue;
|
if (count($rogue)) {
|
||||||
|
$model->rogue_seenby = $rogue;
|
||||||
|
$model->save();
|
||||||
|
}
|
||||||
|
|
||||||
$model->seenby()->sync($seenby);
|
$model->seenby()->sync($seenby);
|
||||||
$model->save();
|
|
||||||
|
|
||||||
// See if we need to export this file.
|
// See if we need to export this file.
|
||||||
if ($model->filearea->sec_read) {
|
if ($model->filearea->sec_read) {
|
||||||
$exportto = $model
|
$exportto = $model
|
||||||
->filearea
|
->filearea
|
||||||
->addresses
|
->addresses
|
||||||
->filter(function($item) use ($model) { return $model->filearea->can_read($item->security); })
|
->filter(fn($item)=>$model->filearea->can_read($item->security))
|
||||||
->pluck('id')
|
->pluck('id')
|
||||||
|
->diff(our_address($model->fftn->zone->domain,FALSE)->pluck('id'))
|
||||||
->diff($seenby);
|
->diff($seenby);
|
||||||
|
|
||||||
if ($exportto->count()) {
|
if ($exportto->count()) {
|
||||||
|
@ -11,10 +11,13 @@ class Filearea extends Model
|
|||||||
{
|
{
|
||||||
use SoftDeletes,ScopeActive,AreaSecurity;
|
use SoftDeletes,ScopeActive,AreaSecurity;
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'first_file' => 'datetime:Y-m-d H:i:s',
|
{
|
||||||
'last_file' => 'datetime:Y-m-d H:i:s',
|
return [
|
||||||
];
|
'first_file' => 'datetime:Y-m-d H:i:s',
|
||||||
|
'last_file' => 'datetime:Y-m-d H:i:s',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'name',
|
'name',
|
||||||
|
@ -7,20 +7,23 @@ use Illuminate\Support\Facades\Config;
|
|||||||
|
|
||||||
class Job extends Model
|
class Job extends Model
|
||||||
{
|
{
|
||||||
public $timestamps = false;
|
public $timestamps = false;
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'payload' => 'array',
|
{
|
||||||
'reserved_at' => 'datetime',
|
return [
|
||||||
'available_at' => 'datetime',
|
'payload' => 'array',
|
||||||
'created_at' => 'datetime',
|
'reserved_at' => 'datetime',
|
||||||
];
|
'available_at' => 'datetime',
|
||||||
|
'created_at' => 'datetime',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
public function __construct(array $attributes = [])
|
public function __construct(array $attributes=[])
|
||||||
{
|
{
|
||||||
parent::__construct($attributes);
|
parent::__construct($attributes);
|
||||||
$this->table = Config::get('queue.connections.' . (Config::get('queue.default', 'database')) . '.table', 'jobs');
|
$this->table = Config::get('queue.connections.' . (Config::get('queue.default', 'database')) . '.table', 'jobs');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDisplayNameAttribute()
|
public function getDisplayNameAttribute()
|
||||||
{
|
{
|
||||||
|
@ -34,16 +34,19 @@ final class Netmail extends Model implements Packet
|
|||||||
'Via' => 'set_path',
|
'Via' => 'set_path',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'to' => UTF8StringOrNull::class,
|
{
|
||||||
'from' => UTF8StringOrNull::class,
|
return [
|
||||||
'subject' => UTF8StringOrNull::class,
|
'to' => UTF8StringOrNull::class,
|
||||||
'datetime' => 'datetime:Y-m-d H:i:s',
|
'from' => UTF8StringOrNull::class,
|
||||||
'kludges' => CollectionOrNull::class,
|
'subject' => UTF8StringOrNull::class,
|
||||||
'msg' => CompressedStringOrNull::class,
|
'datetime' => 'datetime:Y-m-d H:i:s',
|
||||||
'msg_src' => CompressedStringOrNull::class,
|
'kludges' => CollectionOrNull::class,
|
||||||
'sent_at' => 'datetime:Y-m-d H:i:s',
|
'msg' => CompressedStringOrNull::class,
|
||||||
];
|
'msg_src' => CompressedStringOrNull::class,
|
||||||
|
'sent_at' => 'datetime:Y-m-d H:i:s',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
public function __get($key)
|
public function __get($key)
|
||||||
{
|
{
|
||||||
|
@ -9,9 +9,12 @@ class Nodelist extends Model
|
|||||||
{
|
{
|
||||||
use SoftDeletes;
|
use SoftDeletes;
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'date' => 'datetime:Y-m-d H:i:s'
|
{
|
||||||
];
|
return [
|
||||||
|
'date' => 'datetime:Y-m-d H:i:s'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
protected $fillable = ['date','domain_id'];
|
protected $fillable = ['date','domain_id'];
|
||||||
|
|
||||||
|
@ -12,9 +12,12 @@ class Origin extends Model
|
|||||||
|
|
||||||
public const UPDATED_AT = NULL;
|
public const UPDATED_AT = NULL;
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'value' => UTF8StringOrNull::class,
|
{
|
||||||
];
|
return [
|
||||||
|
'value' => UTF8StringOrNull::class,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
public function complete(Address $o): string
|
public function complete(Address $o): string
|
||||||
{
|
{
|
||||||
|
@ -6,7 +6,10 @@ use Illuminate\Database\Eloquent\Relations\Pivot;
|
|||||||
|
|
||||||
class ViaPivot extends Pivot
|
class ViaPivot extends Pivot
|
||||||
{
|
{
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'datetime' => 'datetime',
|
{
|
||||||
];
|
return [
|
||||||
|
'datetime' => 'datetime',
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
@ -35,10 +35,13 @@ class Setup extends Model
|
|||||||
public const MAX_BATCH_FILES = 5;
|
public const MAX_BATCH_FILES = 5;
|
||||||
public const MAX_MSGS_PKT = 50;
|
public const MAX_MSGS_PKT = 50;
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'options' => 'array',
|
{
|
||||||
'servers' => 'array',
|
return [
|
||||||
];
|
'options' => 'array',
|
||||||
|
'servers' => 'array',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
|
@ -17,9 +17,12 @@ class System extends Model
|
|||||||
|
|
||||||
public const default = 'Discovered System';
|
public const default = 'Discovered System';
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'last_session' => 'datetime:Y-m-d H:i:s'
|
{
|
||||||
];
|
return [
|
||||||
|
'last_session' => 'datetime:Y-m-d H:i:s'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/* STATIC */
|
/* STATIC */
|
||||||
|
|
||||||
|
@ -12,9 +12,12 @@ class Tagline extends Model
|
|||||||
|
|
||||||
public const UPDATED_AT = NULL;
|
public const UPDATED_AT = NULL;
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'value' => UTF8StringOrNull::class,
|
{
|
||||||
];
|
return [
|
||||||
|
'value' => UTF8StringOrNull::class,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
public function complete(): string
|
public function complete(): string
|
||||||
{
|
{
|
||||||
|
@ -12,9 +12,12 @@ class Tearline extends Model
|
|||||||
|
|
||||||
public const UPDATED_AT = NULL;
|
public const UPDATED_AT = NULL;
|
||||||
|
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'value' => UTF8StringOrNull::class,
|
{
|
||||||
];
|
return [
|
||||||
|
'value' => UTF8StringOrNull::class,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
public function complete(): string
|
public function complete(): string
|
||||||
{
|
{
|
||||||
|
@ -53,13 +53,16 @@ class User extends Authenticatable implements MustVerifyEmail
|
|||||||
/**
|
/**
|
||||||
* The attributes that should be cast to native types.
|
* The attributes that should be cast to native types.
|
||||||
*
|
*
|
||||||
* @var array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected $casts = [
|
protected function casts(): array
|
||||||
'email_verified_at' => 'datetime',
|
{
|
||||||
'last_on' => 'datetime:Y-m-d H:i:s',
|
return [
|
||||||
'passkey' => 'json',
|
'email_verified_at' => 'datetime',
|
||||||
];
|
'last_on' => 'datetime:Y-m-d H:i:s',
|
||||||
|
'passkey' => 'json',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/* RELATIONS */
|
/* RELATIONS */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user