35 lines
2.1 KiB
C#
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);
|
|
}
|
|
}
|