namespace ColaFlow.Modules.ProjectManagement.Application.Services;

/// <summary>
/// Service for checking project-level permissions
/// </summary>
public interface IProjectPermissionService
{
    /// <summary>
    /// Checks if a user has permission to access a project
    /// Currently checks if user is the project owner
    /// TODO: Extend to check ProjectMember table when implemented
    /// </summary>
    /// <param name="userId">User ID to check</param>
    /// <param name="projectId">Project ID to check access for</param>
    /// <param name="cancellationToken">Cancellation token</param>
    /// <returns>True if user has access, false otherwise</returns>
    Task<bool> IsUserProjectMemberAsync(Guid userId, Guid projectId, CancellationToken cancellationToken = default);
}
