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

namespace EVCB_OCPP.Packet20.Messages
{
    public class AuthorizeResponse
    {
        /// <summary>
        /// Certificate status information. - if all certificates
        ///are valid: return 'Accepted'. - if one of the certificates was
        /// revoked, return 'CertificateRevoked'.
        /// </summary>
        [JsonConverter(typeof(StringEnumConverter))]
        public AuthorizeCertificateStatusEnumType CertificateStatus { set; get; }

        /// <summary>
        ///This contains information about authorization
        ///status, expiry and group id.
        ///1.2.
        /// </summary>
        [JsonRequired]
        public IdTokenInfoType IdTokenInfo { set; get; }
    }
}
