Introduce IFavoritable and adopt across Recipe and view models

This commit is contained in:
Francesco Lorenzo D'Amico
2026-03-02 15:59:48 +01:00
parent de904e0a28
commit cac83e38a8
4 changed files with 36 additions and 1 deletions
@@ -6,7 +6,7 @@ using Francesco.Recipes.World.Models.BackendModels.Instruction;
using Francesco.Recipes.World.Models.BackendModels.MediaFile;
using Francesco.Recipes.World.Models.BackendModels.RecipeIngredient;
public class Recipe : ITimeStampedEntity
public class Recipe : ITimeStampedEntity, IFavoritable
{
public Guid Id { get; set; }
@@ -0,0 +1,9 @@
namespace Francesco.Recipes.World.Models
{
public class FavoritButtonViewModel : IFavoritable
{
public Guid Id { get; set; }
public bool IsFavorite { get; set; }
}
}
@@ -0,0 +1,9 @@
namespace Francesco.Recipes.World.Models
{
public interface IFavoritable
{
Guid Id { get; set; }
bool IsFavorite { get; set; }
}
}
@@ -0,0 +1,17 @@
namespace Francesco.Recipes.World.Models
{
public class RecipeCardViewModel : IFavoritable
{
public Guid Id { get; set; }
public string Name { get; set; } = string.Empty;
public TimeSpan CookingTime { get; set; }
public bool IsFavorite { get; set; }
public byte[]? ImageData { get; set; }
public string? MimeType { get; set; }
}
}