Log systems polling

This commit is contained in:
Deon George 2022-12-02 22:54:02 +11:00
parent d5d4a0d781
commit 170f5c87ed
5 changed files with 81 additions and 4 deletions

View File

@ -9,7 +9,7 @@ use Illuminate\Support\Facades\Log;
use App\Classes\File\{Receive,Send};
use App\Classes\Sock\SocketClient;
use App\Classes\Sock\SocketException;
use App\Models\{Address,Setup,System};
use App\Models\{Address,Setup,System,SystemLog};
abstract class Protocol
{
@ -324,10 +324,19 @@ abstract class Protocol
foreach ($this->node->aka_other as $aka) {
Address::findFTN($aka,TRUE,$so);
}
}
// @todo Log to history log in the DB.
//if ($this->node->start_time && $this->setup->cfg('CFG_HISTORY')) {}
// Log session in DB
$slo = new SystemLog;
$slo->items_sent = $this->send->total_sent;
$slo->items_sent_size = $this->send->total_sent_bytes;
$slo->items_recv = $this->recv->total_recv;
$slo->items_recv_size = $this->recv->total_recv_bytes;
$slo->sessiontype = $type;
$slo->sessiontime = $this->node->session_time;
$slo->result = ($rc & self::S_MASK);
$so->logs()->save($slo);
}
// @todo Optional after session execution event
// if ($this->node->start_time && $this->setup->cfg('CFG_AFTERSESSION')) {}

View File

@ -39,6 +39,11 @@ class System extends Model
->FTNorder();
}
public function logs()
{
return $this->hasMany(SystemLog::class);
}
/**
* Session Passwords for system
*

15
app/Models/SystemLog.php Normal file
View File

@ -0,0 +1,15 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class SystemLog extends Model
{
/* RELATIONS */
public function system()
{
return $this->belongsTo(System::class);
}
}

View File

@ -0,0 +1,44 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('system_logs', function(Blueprint $table) {
$table->id();
$table->timestamps();
$table->bigInteger('system_id');
$table->foreign('system_id')->references('id')->on('systems');
$table->integer('items_sent')->nullable();
$table->integer('items_sent_size')->nullable();
$table->integer('items_recv')->nullable();
$table->integer('items_recv_size')->nullable();
$table->integer('sessiontime');
$table->integer('sessiontype');
$table->integer('result');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('system_logs');
}
};

View File

@ -31,6 +31,10 @@
<th>Mailer</th>
<td>{{ $o->access_mailer }}</td>
</tr>
<tr>
<th>Last Seen</th>
<td>{{ $o->logs->last()->created_at }}</td>
</tr>
@if($o->phone)
<tr>
<th>Phone</th>