namespace LocationsApi.Models; public class UpsertLocationRequest { public int Q { get; set; } public int R { get; set; } public string Terrain { get; set; } = "Field"; public string? Label { get; set; } public int Level { get; set; } = 1; } public class ClaimLocationRequest { public int Q { get; set; } public int R { get; set; } } public class LocationResponse { public string Id { get; set; } = ""; public int Q { get; set; } public int R { get; set; } public string Terrain { get; set; } = "Field"; public string? OwnerUsername { get; set; } public string? Label { get; set; } public int Level { get; set; } public DateTime UpdatedAtUtc { get; set; } public static LocationResponse FromLocation(Location location) => new() { Id = location.Id, Q = location.Q, R = location.R, Terrain = location.Terrain, OwnerUsername = location.OwnerUsername, Label = location.Label, Level = location.Level, UpdatedAtUtc = location.UpdatedAtUtc }; }