/* * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Alliance\MembershipProcessingRequestDto.cs * Created: 2025-10-22 * Last Modified: 2025-10-22 * Description: Request DTO for alliance membership processing operations * Last Edit Notes: Initial creation following established Alliance DTO patterns */ using System.ComponentModel.DataAnnotations; namespace ShadowedRealms.Shared.DTOs.Alliance { /// /// Request DTO for alliance membership processing operations /// public class MembershipProcessingRequestDto { /// /// Alliance to apply to (for applications) /// public int? AllianceId { get; set; } /// /// Processing action (Apply, Review, Approve, Reject, Withdraw) /// [Required] [StringLength(50)] public string Action { get; set; } = string.Empty; /// /// Application ID (for review actions) /// public int? ApplicationId { get; set; } /// /// Player being processed (for officer actions) /// public int? PlayerId { get; set; } /// /// Application message from player /// [StringLength(1000)] public string? ApplicationMessage { get; set; } /// /// Review decision (for officer reviews) /// [StringLength(50)] public string? ReviewDecision { get; set; } /// /// Review comments from officer /// [StringLength(500)] public string? ReviewComments { get; set; } /// /// Priority level for processing (1-5) /// [Range(1, 5)] public int Priority { get; set; } = 3; /// /// Processing parameters and special conditions /// public Dictionary? ProcessingParameters { get; set; } } }