using EVCB_OCPP.Packet20.DataTypes.EnumTypes;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EVCB_OCPP.Packet20.Messages
{
    public class FirmwareStatusNotificationRequest
    {
        /// <summary>
        /// This contains the progress status of the
        ///firmware installation.
        /// </summary>
        [Required]
        [JsonConverter(typeof(StringEnumConverter))]
        public FirmwareStatusEnumType Status { set; get; }

        /// <summary>
        /// The request id that was provided in the
        /// UpdateFirmwareRequest that started this firmware
        ///  update. This field is mandatory, unless the message was
        /// triggered by a TriggerMessageRequest AND there is no
        /// firmware update ongoing
        /// </summary>
        public int RequestId { set; get; }
    }
}