using AuthorBuddy.Web.Models;

namespace AuthorBuddy.Web.Services;

public interface IProjectService
{
    Task<int> CreateNewProjectAsync(string projectName, string rootPath);
    Task<List<Project>> GetAllProjectsAsync();
    Task<Project?> GetProjectAsync(int projectId);
    Task<List<FileTreeItem>> GetProjectFileTreeAsync(int projectId);
    Task SyncProjectFilesAsync(int projectId, string directoryPath, IProgress<string> progress);
    Task<int> CopyProjectAsync(int sourceProjectId, string newName, string newRootPath, int userId);
}
