matt 3459d449ce Complete DTO Layer Implementation - Fix Controller Compilation
- Created 37 individual DTO classes across all domains
- Common DTOs: ErrorResponseDto, SuccessResponseDto for consistent API responses
- Player DTOs: 10 classes for profile, castle, VIP, teleportation, resources, combat prep
- Combat DTOs: 11 classes for field interception system, marches, battles, analytics
- Alliance DTOs: 3 classes for status, coalitions, research advancement
- Kingdom DTOs: 4 classes for status, KvK events, voting, tax distribution
- Purchase DTOs: 6 classes for validation, processing, balance monitoring, fraud detection

All DTOs include proper validation attributes, comprehensive XML documentation,
and support for core innovations (field interception, anti-pay-to-win, coalitions).

Controllers should now compile successfully - ready for compilation testing.
2025-10-19 20:46:41 -05:00

37 lines
1.1 KiB
C#

/*
* File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\AllianceJoinRequestDto.cs
* Created: 2025-10-19
* Last Modified: 2025-10-19
* Description: Request DTO for alliance join operations
* Last Edit Notes: Individual file implementation for alliance join input validation
*/
using System.ComponentModel.DataAnnotations;
namespace ShadowedRealms.Shared.DTOs.Player
{
/// <summary>
/// Request DTO for alliance join operations
/// </summary>
public class AllianceJoinRequestDto
{
/// <summary>
/// Alliance to join
/// </summary>
[Required]
[Range(1, int.MaxValue)]
public int AllianceId { get; set; }
/// <summary>
/// Optional message to alliance leadership
/// </summary>
[StringLength(500)]
public string? Message { get; set; }
/// <summary>
/// Player's preferred role if accepted
/// </summary>
[StringLength(50)]
public string? PreferredRole { get; set; }
}
}