using GymLogAI.Application.Interfaces; using GymLogAI.Core.Entities; using Microsoft.EntityFrameworkCore; namespace GymLogAI.Persistence.Repositories; public sealed class ExerciseRepository(AppDbContext dbContext) : IExerciseRepository { public async Task GetByNameAsync(string name, CancellationToken cancellationToken) { return await dbContext.Exercises.SingleOrDefaultAsync(x => x.Name == name, cancellationToken); } public async Task AddAsync(Exercise exercise, CancellationToken cancellationToken) { dbContext.Exercises.Add(exercise); await dbContext.SaveChangesAsync(cancellationToken); return exercise; } public async Task UpdateAsync(Exercise exercise, CancellationToken cancellationToken) { dbContext.Exercises.Update(exercise); await dbContext.SaveChangesAsync(cancellationToken); return exercise; } }