62 lines
2.2 KiB
PHP
62 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace objects;
|
|
|
|
use classes\db;
|
|
use classes\edge_gateway_schema_bootstrap;
|
|
use classes\object_property;
|
|
use traits\db_object_t;
|
|
|
|
class edge_gateway_log_entries_o extends db
|
|
{
|
|
use db_object_t;
|
|
|
|
public object_property $gateway_id;
|
|
public object_property $department_id;
|
|
public object_property $level;
|
|
public object_property $stream;
|
|
public object_property $source;
|
|
public object_property $message;
|
|
public object_property $context_json;
|
|
public object_property $created_at;
|
|
|
|
public function structure(): void
|
|
{
|
|
edge_gateway_schema_bootstrap::ensureTables();
|
|
$this->setTable('edge_gateway_log_entries');
|
|
}
|
|
|
|
public function getObjectProperties(): void
|
|
{
|
|
$this->gateway_id = new object_property($this->table, $this->id, 'gateway_id', 'int', false);
|
|
$this->department_id = new object_property($this->table, $this->id, 'department_id', 'int', false);
|
|
$this->level = new object_property($this->table, $this->id, 'level', 'string', false);
|
|
$this->stream = new object_property($this->table, $this->id, 'stream', 'string', false);
|
|
$this->source = new object_property($this->table, $this->id, 'source', 'string', false);
|
|
$this->message = new object_property($this->table, $this->id, 'message', 'text', false);
|
|
$this->context_json = new object_property($this->table, $this->id, 'context_json', 'json', false);
|
|
$this->created_at = new object_property($this->table, $this->id, 'created_at', 'timestamp', false);
|
|
}
|
|
|
|
public function objectChanged(): void
|
|
{
|
|
}
|
|
|
|
public function asArray(): array
|
|
{
|
|
$this->requireSelected();
|
|
|
|
return [
|
|
'id' => (int)$this->id,
|
|
'gateway_id' => (int)$this->gateway_id->value(),
|
|
'department_id' => $this->department_id->value() === null ? null : (int)$this->department_id->value(),
|
|
'level' => (string)$this->level->value(),
|
|
'stream' => (string)$this->stream->value(),
|
|
'source' => (string)$this->source->value(),
|
|
'message' => (string)$this->message->value(),
|
|
'context' => (array)($this->context_json->value() ?? []),
|
|
'created_at' => (string)$this->created_at->value(),
|
|
];
|
|
}
|
|
}
|