/*
* Copyright (c) 2023 Vaughn Nugent
*
* Library: VNLib
* Package: Emails.Transactional.Client
* File: TransactionResult.cs
*
* TransactionResult.cs is part of Emails.Transactional.Client which is part of the larger
* VNLib collection of libraries and utilities.
*
* Emails.Transactional.Client is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
* by the Free Software Foundation, either version 2 of the License,
* or (at your option) any later version.
*
* Emails.Transactional.Client is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Emails.Transactional.Client. If not, see http://www.gnu.org/licenses/.
*/
using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
using VNLib.Plugins;
namespace Emails.Transactional.Client
{
///
/// A JSON serializable object that contains the results of the transaction
///
public class TransactionResult : WebMessage
{
///
/// The unique identifier for the transaction
///
[JsonPropertyName("transaction_id")]
public string TransactionId { get; set; } = string.Empty;
///
/// The raw SMTP result if SMTP was used
///
[JsonPropertyName("smtp_status")]
public string? SmtpStatus { get; set; }
///
/// A system specific error code
///
[JsonPropertyName("error_code")]
public string? ErrorCode { get; set; }
///
/// A string description of the error
///
[JsonPropertyName("error_description")]
public string? ErrorDescription { get; set; }
///
/// A collection of server validation errors
///
[JsonPropertyName("errors")]
public ICollection ValidationErrors { get; set; } = Array.Empty();
}
}