using UniVerse.Application.DTOs.Common;
using UniVerse.Application.DTOs.Courses;

namespace UniVerse.Application.Interfaces;

public interface ICourseService
{
    Task<PagedResult<CourseDto>> GetAllAsync(CourseFilterRequest filter);
    Task<CourseDto> GetByIdAsync(int id);
    Task<CourseDto> CreateAsync(CreateCourseRequest request);
    Task<CourseDto> UpdateAsync(int id, UpdateCourseRequest request);
    Task DeleteAsync(int id);
    Task AddTagAsync(int courseId, int tagId);
    Task RemoveTagAsync(int courseId, int tagId);
}
