<?php
namespace Misuzu\Counters;

use Index\DateTime;
use Index\Data\IDbResult;

class CounterInfo {
    public function __construct(
        private string $name,
        private int $value,
        private int $updated,
    ) {}

    public static function fromResult(IDbResult $result): CounterInfo {
        return new CounterInfo(
            name: $result->getString(0),
            value: $result->getInteger(1),
            updated: $result->getInteger(2),
        );
    }

    public function getName(): string {
        return $this->name;
    }

    public function getValue(): int {
        return $this->value;
    }

    public function getUpdatedTime(): int {
        return $this->updated;
    }

    public function getUpdatedAt(): DateTime {
        return DateTime::fromUnixTimeSeconds($this->updated);
    }
}
