using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Watcher.ViewModels;

public class ServerDetailsViewModel
{
    // System Infos
    [Required]
    public int Id { get; set; }

    [Required]
    public required string Name { get; set; }

    [Required]
    public required string IPAddress { get; set; }

    [Required]
    public required string Type { get; set; }

    public string? Description { get; set; } = String.Empty;


    // Hardware Infos
    public string? CpuType { get; set; } = string.Empty;
    public int CpuCores { get; set; } = 0;
    public string? GpuType { get; set; } = string.Empty;
    public double RamSize { get; set; } = 0;


    // Database
    public DateTime CreatedAt { get; set; } = DateTime.UtcNow;

    public bool IsOnline { get; set; } = false;

    public DateTime LastSeen { get; set; }

    public bool IsVerified { get; set; } = false;

    public int RefreshIntervalMilliseconds { get; set; } = 30000;
}