namespace InventoryApi.Models;

public class ItemDefinitionResponse
{
    public string ItemKey { get; set; } = string.Empty;

    public string DisplayName { get; set; } = string.Empty;

    public bool Stackable { get; set; }

    public int MaxStackSize { get; set; }

    public string Category { get; set; } = "misc";

    public string? EquipSlot { get; set; }

    public DateTime UpdatedUtc { get; set; }

    public static ItemDefinitionResponse FromModel(ItemDefinition definition) => new()
    {
        ItemKey = definition.ItemKey,
        DisplayName = definition.DisplayName,
        Stackable = definition.Stackable,
        MaxStackSize = definition.MaxStackSize,
        Category = definition.Category,
        EquipSlot = definition.EquipSlot,
        UpdatedUtc = definition.UpdatedUtc
    };
}
