/*
 * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Purchase\FraudDetectionRequestDto.cs
 * Created: 2025-10-19
 * Last Modified: 2025-10-19
 * Description: Request DTO for fraud detection analysis
 * Last Edit Notes: Individual file implementation for fraud detection input validation
 */

using System.ComponentModel.DataAnnotations;

namespace ShadowedRealms.Shared.DTOs.Purchase
{
    /// <summary>
    /// Request DTO for fraud detection analysis
    /// </summary>
    public class FraudDetectionRequestDto
    {
        /// <summary>
        /// Transaction details to analyze
        /// </summary>
        [Required]
        public Dictionary<string, object> TransactionData { get; set; } = new();

        /// <summary>
        /// Analysis depth level
        /// </summary>
        [Range(1, 5)]
        public int AnalysisDepth { get; set; } = 3;

        /// <summary>
        /// Include historical pattern analysis
        /// </summary>
        public bool IncludeHistoricalAnalysis { get; set; } = true;

        /// <summary>
        /// Additional fraud detection parameters
        /// </summary>
        public Dictionary<string, object>? DetectionParameters { get; set; }
    }
}