matt 9a7fa52bc4 bash# Navigate to your repository
cd D:\shadowed-realms-mobile\ShadowedRealmsMobile\

# Add all the Alliance DTO files
git add src/server/ShadowedRealms.Shared/DTOs/Alliance/

# Commit with descriptive message
git commit -m "Complete Alliance DTOs: 42 files for comprehensive alliance system

- Add all Request/Response DTO pairs for alliance operations
- Include alliance creation, updates, and status management
- Add coalition formation, management, and dissolution DTOs
- Include democratic leadership election and voting DTOs
- Add territory claiming, defense, and contested zone DTOs
- Include member management, activity tracking, and removal DTOs
- Add treasury operations, resource trading, and status DTOs
- Include role management and permission DTOs
- Add research advancement and building construction DTOs

Features supported:
* Complete alliance lifecycle management with democratic processes
* Coalition mechanics preserving alliance identity during KvK events
* Territory system with contested zones and defensive operations
* Treasury and resource management with trading capabilities
* Member activity tracking and automated management tools
* Research trees with collective advancement and benefits
* Building construction with collaborative resource commitment
* Anti-pay-to-win democratic leadership selection processes

All DTOs include:
- Proper file headers with creation dates and descriptions
- Comprehensive XML documentation for all properties
- Validation attributes on request DTOs following established patterns
- Consistent naming conventions and extensible Dictionary properties
- Kingdom-scoped design considerations for horizontal scaling
- Production-ready structure supporting server-authoritative design
2025-10-22 17:11:29 -05:00

69 lines
2.1 KiB
C#

/*
* 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
{
/// <summary>
/// Request DTO for alliance membership processing operations
/// </summary>
public class MembershipProcessingRequestDto
{
/// <summary>
/// Alliance to apply to (for applications)
/// </summary>
public int? AllianceId { get; set; }
/// <summary>
/// Processing action (Apply, Review, Approve, Reject, Withdraw)
/// </summary>
[Required]
[StringLength(50)]
public string Action { get; set; } = string.Empty;
/// <summary>
/// Application ID (for review actions)
/// </summary>
public int? ApplicationId { get; set; }
/// <summary>
/// Player being processed (for officer actions)
/// </summary>
public int? PlayerId { get; set; }
/// <summary>
/// Application message from player
/// </summary>
[StringLength(1000)]
public string? ApplicationMessage { get; set; }
/// <summary>
/// Review decision (for officer reviews)
/// </summary>
[StringLength(50)]
public string? ReviewDecision { get; set; }
/// <summary>
/// Review comments from officer
/// </summary>
[StringLength(500)]
public string? ReviewComments { get; set; }
/// <summary>
/// Priority level for processing (1-5)
/// </summary>
[Range(1, 5)]
public int Priority { get; set; } = 3;
/// <summary>
/// Processing parameters and special conditions
/// </summary>
public Dictionary<string, object>? ProcessingParameters { get; set; }
}
}