Compare commits
No commits in common. "53c5488df7c8a9160a88e4a69133f6ba07b30cc4" and "6bba18fc5f7cf82d404f89b74d620ca83ea2374a" have entirely different histories.
53c5488df7
...
6bba18fc5f
@ -14,11 +14,7 @@ class Rescan extends Command
|
|||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $signature = 'areafix:rescan'
|
protected $signature = 'areafix:rescan {ftn} {area} {days?}';
|
||||||
.' {ftn : FTN Address}'
|
|
||||||
.' {area : Echoarea Tag}'
|
|
||||||
.' {days? : Limit to messages authored days ago}'
|
|
||||||
.' {--R|export : Re-export previously sent messages }';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The console command description.
|
* The console command description.
|
||||||
@ -59,51 +55,34 @@ class Rescan extends Command
|
|||||||
if (! $eao->can_read($ao->security))
|
if (! $eao->can_read($ao->security))
|
||||||
throw new \Exception(sprintf('FTN [%s] doesnt have permission to receive [%s]',$ao->ftn,$eao->name));
|
throw new \Exception(sprintf('FTN [%s] doesnt have permission to receive [%s]',$ao->ftn,$eao->name));
|
||||||
|
|
||||||
foreach (Echomail::select(['id','datetime'])
|
foreach (Echomail::select('id')
|
||||||
->where('echoarea_id',$eao->id)
|
->where('echoarea_id',$eao->id)
|
||||||
->when(
|
->when($this->argument('days'),function($query) {
|
||||||
$this->argument('days'),
|
return $query->where('created_at','>=',Carbon::now()->subDays($this->argument('days'))->startOfDay());
|
||||||
fn($query)=>$query->where('datetime','>=',
|
})
|
||||||
Carbon::now()
|
|
||||||
->subDays($this->argument('days'))
|
|
||||||
->startOfDay())
|
|
||||||
)
|
|
||||||
->orderBy('datetime')
|
->orderBy('datetime')
|
||||||
->cursor() as $eo) {
|
->cursor() as $eo) {
|
||||||
|
|
||||||
// Echomail hasnt been exported before
|
// Echomail hasnt been exported before
|
||||||
if (! $eo->seenby->count()) {
|
if (! $eo->seenby->count()) {
|
||||||
$eo->seenby()->attach($ao->id,['export_at'=>Carbon::now()]);
|
$eo->seenby()->attach($ao->id,['export_at'=>Carbon::now()]);
|
||||||
|
$this->info(sprintf('Exported [%d] to [%s]',$eo->id,$ao->ftn3d));
|
||||||
$this->info(sprintf('Exported [%d] MSG (%s) dated (%s) to [%s]',$eo->id,$eo->msgid ?: '*NO MSGID*',$eo->datetime->format('Y-m-d H:i:s'),$ao->ftn3d));
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$export = $eo->seenby->where('id',$ao->id)->pop();
|
$export = $eo->seenby->where('id',$ao->id)->pop();
|
||||||
|
|
||||||
if ($export) {
|
// Echomail is pending export
|
||||||
// Echomail is pending export
|
if ($export && $export->pivot->export_at && is_null($export->pivot->sent_at) && is_null($export->pivot->sent_pkt)) {
|
||||||
if ($export->pivot->export_at && is_null($export->pivot->sent_at) && is_null($export->pivot->sent_pkt)) {
|
$this->warn(sprintf('Not exporting [%d] already queued for [%s]',$eo->id,$ao->ftn3d));
|
||||||
$this->warn(sprintf('Not exporting [%d] MSG (%s) dated (%s) already queued for [%s]',$eo->id,$eo->msgid ?: '*NO MSGID*',$eo->datetime->format('Y-m-d H:i:s'),$ao->ftn3d));
|
|
||||||
|
|
||||||
// Echomail has been exported
|
// Echomail has been exported
|
||||||
} elseif ($this->option('export')) {
|
} elseif ($export) {
|
||||||
$eo->seenby()->updateExistingPivot($ao,['export_at'=>Carbon::now(),'sent_at'=>NULL,'sent_pkt'=>NULL]);
|
$eo->seenby()->updateExistingPivot($ao,['export_at'=>Carbon::now(),'sent_at'=>NULL,'sent_pkt'=>NULL]);
|
||||||
|
$this->info(sprintf('Re-exported [%d] to [%s]',$eo->id,$ao->ftn3d));
|
||||||
$this->info(sprintf('Re-exported [%d] MSG (%s) dated (%s) to [%s]',$eo->id,$eo->msgid ?: '*NO MSGID*',$eo->datetime,$ao->ftn3d));
|
|
||||||
|
|
||||||
} else {
|
|
||||||
$this->info(sprintf('Not resending previously sent message [%d], MSGID (%s) - sent in Pkt [%s] on [%s]',
|
|
||||||
$eo->id,
|
|
||||||
$eo->msgid ?: '* NO MSGID*',
|
|
||||||
$export->pivot->sent_pkt ?: '-',
|
|
||||||
$export->pivot->sent_at ?: '-',
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Echomail has not been exported
|
// Echomail has not been exported
|
||||||
} else {
|
} else {
|
||||||
$eo->seenby()->attach($ao,['export_at'=>Carbon::now(),'sent_at'=>NULL,'sent_pkt'=>NULL]);
|
$eo->seenby()->attach($ao,['export_at'=>Carbon::now(),'sent_at'=>NULL,'sent_pkt'=>NULL]);
|
||||||
|
|
||||||
$this->info(sprintf('Exported [%d] to [%s]',$eo->id,$ao->ftn3d));
|
$this->info(sprintf('Exported [%d] to [%s]',$eo->id,$ao->ftn3d));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,11 +44,6 @@ class CommBinkpSend extends Command
|
|||||||
|
|
||||||
$mo = Mailer::where('name',self::ID)->singleOrFail();
|
$mo = Mailer::where('name',self::ID)->singleOrFail();
|
||||||
|
|
||||||
if ($this->option('now'))
|
return ($this->option('now')) ? Job::dispatchSync($ao,$mo) : Job::dispatch($ao,$mo);
|
||||||
Job::dispatchSync($ao,$mo);
|
|
||||||
else
|
|
||||||
Job::dispatch($ao,$mo);
|
|
||||||
|
|
||||||
return self::SUCCESS;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,11 +44,6 @@ class CommEMSISend extends Command
|
|||||||
|
|
||||||
$mo = Mailer::where('name',self::ID)->singleOrFail();
|
$mo = Mailer::where('name',self::ID)->singleOrFail();
|
||||||
|
|
||||||
if ($this->option('now'))
|
return ($this->option('now')) ? Job::dispatchSync($ao,$mo) : Job::dispatch($ao,$mo);
|
||||||
Job::dispatchSync($ao,$mo);
|
|
||||||
else
|
|
||||||
Job::dispatch($ao,$mo);
|
|
||||||
|
|
||||||
return self::SUCCESS;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -290,7 +290,6 @@ final class Echomail extends Model implements Packet
|
|||||||
return $this->belongsToMany(Address::class,'echomail_seenby')
|
return $this->belongsToMany(Address::class,'echomail_seenby')
|
||||||
->select(['id','zone_id','host_id','node_id'])
|
->select(['id','zone_id','host_id','node_id'])
|
||||||
->withPivot(['export_at','sent_at','sent_pkt'])
|
->withPivot(['export_at','sent_at','sent_pkt'])
|
||||||
->dontCache()
|
|
||||||
->FTN2DOrder();
|
->FTN2DOrder();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user