using UniVerse.Application.DTOs.Common;
using UniVerse.Application.DTOs.Tags;
using UniVerse.Domain.Enums;

namespace UniVerse.Application.Interfaces;

public interface ITagService
{
    Task<List<TagDto>> GetAllAsync(TagType? type = null, int? parentId = null);
    Task<TagDto> GetByIdAsync(int id);
    Task<TagDto> CreateAsync(CreateTagRequest request);
    Task<TagDto> UpdateAsync(int id, UpdateTagRequest request);
    Task DeleteAsync(int id);
    Task<List<TagTreeDto>> GetTreeAsync();
}
