using Microsoft.OpenApi.Writers; using System.ComponentModel.DataAnnotations; namespace WebApi.Project.ProxyKMS.Models { //1. EcuID public class EcuID { public class Request_SupplierEcuID { public string EcuType { get; set; } = string.Empty; public string Phase { get; set; } = string.Empty; public string SupplierID { get; set; } = string.Empty; public string EcuID { get; set; } = string.Empty; public string Serial { get; set; } = string.Empty; } public class Response_SupplierEcuID : Response_Common { } } //2. MasterECUKey public class MasterEcuKey { public class Request_SupplierKeyProvisioning { public string ProvisioningType { get; set; } = string.Empty; public string EcuID { get; set; } = string.Empty; public string KeyID { get; set; } = string.Empty; } public class Response_SupplierKeyProvisioning : Response_Common { public SupplierKeyProvisioningRecords Records { get; set; } = new SupplierKeyProvisioningRecords(); #region record public class SupplierKeyProvisioningRecords { public string KeyID { get; set; } = string.Empty; public string M1 { get; set; } = string.Empty; public string M2 { get; set; } = string.Empty; public string M3 { get; set; } = string.Empty; public string M4 { get; set; } = string.Empty; public string M5 { get; set; } = string.Empty; } #endregion } // public class Request_SupplierKeyProvisioning_Result { public string ProvisioningType { get; set; } = string.Empty; public string EcuID { get; set; } = string.Empty; public string ResultMessage { get; set; } = string.Empty; public string ResultStatus { get; set; } = string.Empty; } public class Response_SupplierKeyProvisioning_Result : Response_Common { } } //3. SupplierSymmKey public class SupplierSymmKey { public class Request_SupplierKeyProvisioning { public string ProvisioningType { get; set; } = string.Empty; public string EcuID { get; set; } = string.Empty; public string KeyID { get; set; } = string.Empty; } public class Response_SupplierKeyProvisioning : Response_Common { public SupplierKeyProvisioningRecords Records { get; set; } = new SupplierKeyProvisioningRecords(); #region record public class SupplierKeyProvisioningRecords { public string M1 { get; set; } = string.Empty; public string M2 { get; set; } = string.Empty; public string M3 { get; set; } = string.Empty; public string M4 { get; set; } = string.Empty; public string M5 { get; set; } = string.Empty; } #endregion } // public class Request_SupplierKeyProvisioning_Result { public string ProvisioningType { get; set; } = string.Empty; public string EcuID { get; set; } = string.Empty; public string ResultMessage { get; set; } = string.Empty; public string ResultStatus { get; set; } = string.Empty; } public class Response_SupplierKeyProvisioning_Result : Response_Common { } // public class Request_SupplierKeySyncValue { public string ProvisioningType { get; set; } = string.Empty; public string EcuID { get; set; } = string.Empty; } public class Response_SupplierKeySyncValue : Response_Common { public SupplierKeySyncValueRecords Records { get; set; } = new SupplierKeySyncValueRecords(); #region record public class SupplierKeySyncValueRecords { public string KeyID { get; set; } = string.Empty; public string KeySyncValue { get; set; } = string.Empty; public string Challenge { get; set; } = string.Empty; } #endregion } // public class Request_SupplierKeySyncValue_Result { public string ProvisioningType { get; set; } = string.Empty; public string EcuID { get; set; } = string.Empty; public string ResultMessage { get; set; } = string.Empty; public string ResultStatus { get; set; } = string.Empty; } public class Response_SupplierKeySyncValue_Result : Response_Common { } } //4. SecOCKey public class SecOCKey { public class Request_SupplierKeyProvisioning { public string ProvisioningType { get; set; } = string.Empty; public string EcuID { get; set; } = string.Empty; public string KeyID { get; set; } = string.Empty; public string SupplierSecretKey { get; set; } = string.Empty; public string Counter { get; set; } = string.Empty; public string Challenge { get; set; } = string.Empty; } public class Response_SupplierKeyProvisioning : Response_Common { public SupplierKeyProvisioningRecords Records { get; set; } = new SupplierKeyProvisioningRecords(); #region record public class SupplierKeyProvisioningRecords { public string KeyID { get; set; } = string.Empty; public string M1 { get; set; } = string.Empty; public string M2 { get; set; } = string.Empty; public string M3 { get; set; } = string.Empty; public string M4 { get; set; } = string.Empty; public string M5 { get; set; } = string.Empty; } #endregion } // public class Request_SupplierKeyProvisioning_Result { public string ProvisioningType { get; set; } = string.Empty; public string EcuID { get; set; } = string.Empty; public string KeyID { get; set; } = string.Empty; public string ResultMessage { get; set; } = string.Empty; public string ResultStatus { get; set; } = string.Empty; } public class Response_SupplierKeyProvisioning_Result : Response_Common { } // public class Request_SupplierKeySyncValue { public string ProvisioningType { get; set; } = string.Empty; public string EcuID { get; set; } = string.Empty; } public class Response_SupplierKeySyncValue : Response_Common { public SupplierKeySyncValueRecords Records { get; set; } = new SupplierKeySyncValueRecords(); #region record public class SupplierKeySyncValueRecords { public string KeyID { get; set; } = string.Empty; public string KeySyncValue { get; set; } = string.Empty; public string Challenge { get; set; } = string.Empty; } #endregion } // public class Request_SupplierKeySyncValue_Result { public string ProvisioningType { get; set; } = string.Empty; public string EcuID { get; set; } = string.Empty; public string KeyID { get; set; } = string.Empty; public string ResultMessage { get; set; } = string.Empty; public string ResultStatus { get; set; } = string.Empty; } public class Response_SupplierKeySyncValue_Result : Response_Common { } } #region common public class Response_Common { public string ResultStatus { get; set; } = string.Empty; public string ResultReason { get; set; } = string.Empty; public string ResultMessage { get; set; } = string.Empty; } #endregion }