//-----------------------------------------------------------------------
//
// Copyright (c) aliasvault. All rights reserved.
// Licensed under the AGPLv3 license. See LICENSE.md file in the project root for full license information.
//
//-----------------------------------------------------------------------
namespace AliasVault.WorkerStatus.Database;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
///
/// Represents the status of a worker service for monitoring and control.
///
public class WorkerServiceStatus
{
///
/// Gets or sets the unique identifier for the service status.
///
public int Id { get; set; }
///
/// Gets or sets the name of the service.
///
[Required]
[StringLength(255)]
public string ServiceName { get; set; } = null!;
///
/// Gets or sets the current status of the service.
///
[StringLength(50)]
public string CurrentStatus { get; set; } = null!;
///
/// Gets or sets the desired status of the service.
///
[StringLength(50)]
public string DesiredStatus { get; set; } = null!;
///
/// Gets or sets the last heartbeat timestamp of the service.
///
public DateTime Heartbeat { get; set; }
}