import { ESearchTrainingFilter } from "@/enum/enum.search-filter.training";
import {
  ExerciceDTO,
  SessionDTO,
  TrainingDTO,
  UpdateTrainingDTO,
} from "../dto/dto.training";

export interface ITrainingService {
  getAllTrainings(): Promise<TrainingDTO[]>;
  getTrainings(spec: ESearchTrainingFilter): Promise<TrainingDTO[]>;
  getTraining(id: string): Promise<TrainingDTO | undefined>;
  getSession(id: string): Promise<SessionDTO | undefined>;
  getExercice(id: string): Promise<ExerciceDTO | undefined>;
  createTraining(training: TrainingDTO): Promise<TrainingDTO | undefined>;
  editTraining(
    training: UpdateTrainingDTO
  ): Promise<UpdateTrainingDTO> | undefined;
  duplicateTraining(id: string): Promise<TrainingDTO | undefined>;
  deleteTraining(id: string): Promise<TrainingDTO | undefined>;
}
