/*
* 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; }
}
}