35 lines
2.3 KiB
C#
35 lines
2.3 KiB
C#
using Fitness_core_BE.Models;
|
|
using Fitness_core_BE.DTOs.Workout;
|
|
|
|
namespace Fitness_core_BE.Interfaces
|
|
{
|
|
public interface IWorkoutRepository
|
|
{
|
|
// Workout Category operations
|
|
Task<List<WorkoutCategoryDto>> GetWorkoutCategoryListAsync(CancellationToken ct = default);
|
|
Task<bool> WorkoutCategoryExistsAsync(Guid workoutCategoryId, CancellationToken ct = default);
|
|
Task<WorkoutCategory> CreateWorkoutCategoryAsync(WorkoutCategory workoutCategory, CancellationToken ct = default);
|
|
|
|
// Workout Plan operations
|
|
Task<List<WorkoutPlanDto>> GetWorkoutPlanListAsync(string userType, Guid clientId, CancellationToken ct = default);
|
|
Task<WorkoutPlanDetailDto?> GetWorkoutPlanByIdAsync(Guid id, CancellationToken ct = default);
|
|
Task<List<WorkoutPlanDetailDto>> GetWorkoutPlansByCustomerIdAsync(Guid customerId, CancellationToken ct = default);
|
|
Task<WorkoutPlan?> GetWorkoutPlanEntityByIdAsync(Guid id, CancellationToken ct = default);
|
|
Task<WorkoutPlan> CreateWorkoutPlanAsync(WorkoutPlan workoutPlan, CancellationToken ct = default);
|
|
Task<WorkoutPlan> UpdateWorkoutPlanAsync(WorkoutPlan workoutPlan, CancellationToken ct = default);
|
|
Task<bool> DeleteWorkoutPlanAsync(Guid id, CancellationToken ct = default);
|
|
|
|
// Workout Item operations
|
|
Task<List<WorkoutItemDto>> GetWorkoutItemsByWorkoutPlanIdAsync(Guid workoutPlanId, CancellationToken ct = default);
|
|
Task<WorkoutItem?> GetWorkoutItemByIdAsync(Guid id, CancellationToken ct = default);
|
|
Task<WorkoutItem> CreateWorkoutItemAsync(WorkoutItem workoutItem, CancellationToken ct = default);
|
|
Task<WorkoutItem> UpdateWorkoutItemAsync(WorkoutItem workoutItem, CancellationToken ct = default);
|
|
Task DeleteWorkoutItemAsync(Guid id, CancellationToken ct = default);
|
|
|
|
Task<CustomerWorkout> AssignWorkoutToCustomerAsync(CustomerWorkout customerWorkout, CancellationToken ct = default);
|
|
Task<bool> UnassignWorkoutFromCustomerAsync(Guid customerWorkoutId, CancellationToken ct = default);
|
|
Task<List<CustomerWorkoutDto>> GetCustomerWorkoutsByPlanIdAsync(Guid workoutPlanId, CancellationToken ct = default);
|
|
Task<List<CustomerWorkoutDto>> GetCustomerWorkoutsByCustomerIdAsync(Guid customerId, CancellationToken ct = default);
|
|
}
|
|
}
|