using MongoDB.Bson.Serialization.Attributes;

namespace CraftingApi.Models;

[BsonIgnoreExtraElements]
public class CraftingRecipe
{
    [BsonId]
    [BsonElement("recipeKey")]
    public string RecipeKey { get; set; } = string.Empty;

    [BsonElement("name")]
    public string Name { get; set; } = string.Empty;

    [BsonElement("category")]
    public string Category { get; set; } = "misc";

    [BsonElement("stationType")]
    public string StationType { get; set; } = "hand";

    [BsonElement("inputs")]
    public List<CraftingIngredient> Inputs { get; set; } = [];

    [BsonElement("outputs")]
    public List<CraftingIngredient> Outputs { get; set; } = [];

    [BsonElement("craftTimeSeconds")]
    public int CraftTimeSeconds { get; set; }

    [BsonElement("enabled")]
    public bool Enabled { get; set; } = true;

    [BsonElement("createdUtc")]
    public DateTime CreatedUtc { get; set; } = DateTime.UtcNow;

    [BsonElement("updatedUtc")]
    public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow;
}
