using System.ComponentModel.DataAnnotations; namespace Azaion.Common.Requests; /// /// AZ-533 — body for POST /sessions/mission. Pilot (interactive session) /// asks admin to mint a long-lived no-refresh token for a single UAV flight. /// public class MissionSessionRequest { [Required] public string MissionId { get; set; } = null!; [Required] public Guid AircraftId { get; set; } [Required] public double PlannedDurationH { get; set; } public IList? RequestedScope { get; set; } /// /// Optional bbox of the operating area. Informational until the verifier /// (satellite-provider) enforces it; included verbatim in the token claim. /// public ValidRegion? ValidRegion { get; set; } } public class ValidRegion { public double MinLat { get; set; } public double MinLon { get; set; } public double MaxLat { get; set; } public double MaxLon { get; set; } } public class MissionSessionResponse { public string AccessToken { get; set; } = null!; public DateTime AccessExp { get; set; } public string TokenClass { get; set; } = "mission"; public Guid SessionId { get; set; } }