Compare commits
3 Commits
e4f8f44aef
...
11b7dc4229
Author | SHA1 | Date | |
---|---|---|---|
11b7dc4229 | |||
8b4e2cb9f0 | |||
7bd192980f |
@ -551,7 +551,12 @@ class Message extends FTNBase
|
||||
// FTS-0004.001/FSC-0068.001 The message PATH lines
|
||||
|
||||
// @todo This unique() function here shouldnt be required, but is while system generated messages are storing path/seenby
|
||||
$path = $this->mo->path->push($this->us)->unique('ftn')->filter(fn($item)=>($item->point_id === 0));
|
||||
$path = $this
|
||||
->mo
|
||||
->path
|
||||
->push($this->us)
|
||||
->unique('ftn')
|
||||
->filter(fn($item)=>is_null($item->point_id) || ($item->point_id === 0));
|
||||
|
||||
// Create our rogue seenby objects
|
||||
$seenby = $this->mo->seenby;
|
||||
@ -565,7 +570,7 @@ class Message extends FTNBase
|
||||
|
||||
$seenby = $seenby
|
||||
->push($this->us)
|
||||
->filter(fn($item)=>($item->point_id === 0))
|
||||
->filter(fn($item)=>is_null($item->point_id) || ($item->point_id === 0))
|
||||
->unique('ftn')
|
||||
->sortBy(function($item) { return sprintf('%05d%05d',$item->host_id,$item->node_id);});
|
||||
|
||||
|
@ -41,7 +41,6 @@ final class File extends Send
|
||||
return $this->f->datetime->timestamp;
|
||||
|
||||
case 'name':
|
||||
case 'size':
|
||||
return $this->f->{$key};
|
||||
|
||||
case 'type':
|
||||
@ -84,6 +83,8 @@ final class File extends Send
|
||||
*/
|
||||
public function open(string $compress=''): bool
|
||||
{
|
||||
$this->size = $this->f->size;
|
||||
|
||||
// If sending file is a File::class, then our file is s3
|
||||
if ($this->nameas && $this->f instanceof FileModel) {
|
||||
$this->fd = Storage::readStream($this->f->rel_name);
|
||||
|
@ -46,9 +46,6 @@ final class Dynamic extends Send
|
||||
case 'mtime':
|
||||
return $this->sent->timestamp;
|
||||
|
||||
case 'size':
|
||||
return strlen($this->buffer);
|
||||
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
@ -104,6 +101,7 @@ final class Dynamic extends Send
|
||||
public function open(string $compress=''): bool
|
||||
{
|
||||
$this->buffer = (string)$this->item;
|
||||
$this->size = strlen($this->buffer);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -43,9 +43,6 @@ final class Tic extends Send
|
||||
case 'mtime':
|
||||
return $this->f->datetime->timestamp;
|
||||
|
||||
case 'size':
|
||||
return strlen($this->tic);
|
||||
|
||||
case 'type':
|
||||
return ($this->ftype&0xff00)>>8;
|
||||
|
||||
@ -67,6 +64,8 @@ final class Tic extends Send
|
||||
|
||||
public function open(string $compress=''): bool
|
||||
{
|
||||
$this->size = strlen($this->tic);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -395,7 +395,8 @@ class Address extends Model
|
||||
*/
|
||||
public function scopeFTN($query)
|
||||
{
|
||||
return $query->select(['id','addresses.zone_id','host_id','node_id','point_id'])
|
||||
return $query
|
||||
->select(['id','addresses.zone_id','host_id','node_id','point_id','system_id'])
|
||||
->with([
|
||||
'zone:zones.id,domain_id,zone_id',
|
||||
'zone.domain:domains.id,name',
|
||||
@ -602,9 +603,13 @@ class Address extends Model
|
||||
public function nodes_hub(): HasMany
|
||||
{
|
||||
return $this->hasMany(Address::class,'hub_id','id')
|
||||
->FTN()
|
||||
->select(['id','addresses.zone_id','host_id','node_id','point_id','system_id'])
|
||||
->active()
|
||||
->FTNorder();
|
||||
->FTNorder()
|
||||
->with([
|
||||
'zone:zones.id,domain_id,zone_id',
|
||||
'zone.domain:domains.id,name',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1043,9 +1048,20 @@ class Address extends Model
|
||||
*/
|
||||
public function filesWaiting(): Collection
|
||||
{
|
||||
return $this->file_seen()
|
||||
->whereNull('sent_at')
|
||||
return File::select('files.*')
|
||||
->join('file_seenby',['file_seenby.file_id'=>'files.id'])
|
||||
->where('address_id',$this->id)
|
||||
->whereNull('files.deleted_at')
|
||||
->whereNotNull('export_at')
|
||||
->whereNull('sent_at')
|
||||
->orderby('id')
|
||||
->with([
|
||||
'filearea:id,name,domain_id',
|
||||
'filearea.domain:id,name',
|
||||
'fftn:id,zone_id,host_id,node_id,point_id',
|
||||
'fftn.zone:id,domain_id,zone_id',
|
||||
'fftn.zone.domain:id,name',
|
||||
])
|
||||
->get();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user