using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; namespace LocationsApi.Models; public class Location { [BsonId] [BsonRepresentation(BsonType.ObjectId)] public string Id { get; set; } = ""; public int Q { get; set; } public int R { get; set; } public string Terrain { get; set; } = "Field"; public string Kind { get; set; } = "Open"; public string? OwnerUsername { get; set; } public string? Label { get; set; } public int Level { get; set; } = 1; public string? BuildingType { get; set; } public string? BuildingStatus { get; set; } public DateTime? BuildingStartedAtUtc { get; set; } public DateTime? BuildingCompletesAtUtc { get; set; } public DateTime? BuildingBuiltAtUtc { get; set; } public string? WorkerUnitId { get; set; } public string? WorkerUnitType { get; set; } public int StoredResourceAmount { get; set; } public int StoredResourceCapacity { get; set; } = 10; public DateTime? LastResourceGeneratedAtUtc { get; set; } public DateTime? DeliveryCycleStartedAtUtc { get; set; } public DateTime? HomeAssignedAtUtc { get; set; } public DateTime CreatedAtUtc { get; set; } = DateTime.UtcNow; public DateTime UpdatedAtUtc { get; set; } = DateTime.UtcNow; }