Skip to content
Snippets Groups Projects
Server.php 819 B
Newer Older
Tibo's avatar
Tibo committed
<?php

namespace App;

Tibo's avatar
Tibo committed
use MongoDB\Client as Mongo;
Tibo's avatar
Tibo committed
use Illuminate\Database\Eloquent\Model;

class Server extends Model
{

    protected $fillable = ["token"];

    public function __construct(array $attributes = array()) {
        $attributes["token"] = str_random(32);
        parent::__construct($attributes);
    }

    public function organization() {
        return $this->belongsTo("App\Organization");
    }
Tibo's avatar
Tibo committed

    public function lastRecord() {
        $collection = (new Mongo)->monitoring->records;
        return $collection->findOne(
                ["server_id" => $this->id],
                ["sort" => ["_id" => -1]]);
    }

    public function lastRecordTime() {
        return $this->lastRecord()->time;
    }

    public function clientVersion() {
        return $this->lastRecord()->version;
    }
Tibo's avatar
Tibo committed
}