Files
Dhananjaya99 bffc9b1686 first commit
2026-09-28 11:44:26 +05:30

35 lines
2.1 KiB
C#

using Fitness_core_BE.Models;
using Fitness_core_BE.DTOs.Meal;
namespace Fitness_core_BE.Interfaces
{
public interface IMealRepository
{
// Meal Category operations
Task<List<MealCategoryDto>> GetMealCategoryListAsync(CancellationToken ct = default);
Task<bool> MealCategoryExistsAsync(Guid mealCategoryId, CancellationToken ct = default);
Task<MealCategory> CreateMealCategoryAsync(MealCategory mealCategory, CancellationToken ct = default);
// Meal Plan operations
Task<List<MealPlanDto>> GetMealPlanListAsync(string userType, Guid clientId, CancellationToken ct = default);
Task<MealPlanDetailDto?> GetMealPlanByIdAsync(Guid id, CancellationToken ct = default);
Task<List<MealPlanDetailDto>> GetMealPlansByCustomerIdAsync(Guid customerId, CancellationToken ct = default);
Task<MealPlan?> GetMealPlanEntityByIdAsync(Guid id, CancellationToken ct = default);
Task<MealPlan> CreateMealPlanAsync(MealPlan mealPlan, CancellationToken ct = default);
Task<MealPlan> UpdateMealPlanAsync(MealPlan mealPlan, CancellationToken ct = default);
Task DeleteMealPlanAsync(Guid id, CancellationToken ct = default);
// Meal Item operations
Task<List<MealDto>> GetMealsByMealPlanIdAsync(Guid mealPlanId, CancellationToken ct = default);
Task<Meal?> GetMealByIdAsync(Guid id, CancellationToken ct = default);
Task<Meal> CreateMealAsync(Meal mealItem, CancellationToken ct = default);
Task<Meal> UpdateMealAsync(Meal mealItem, CancellationToken ct = default);
Task DeleteMealAsync(Guid id, CancellationToken ct = default);
Task<CustomerMeal> AssignMealToCustomerAsync(CustomerMeal customerMeal, CancellationToken ct = default);
Task<bool> UnassignMealFromCustomerAsync(Guid customerMealId, CancellationToken ct = default);
Task<List<CustomerMealDto>> GetCustomerMealsByPlanIdAsync(Guid mealPlanId, CancellationToken ct = default);
Task<List<CustomerMealDto>> GetCustomerMealsByCustomerIdAsync(Guid customerId, CancellationToken ct = default);
}
}