using ECPDAL.Communication.DTOs; using GB5Shared.DTO.Framework.Login; namespace ECPDAL.Communication.Interfaces; public interface ICommentThreadDAL { Task GetCommentThreadAsync(int commentThreadId, LoginDTO login, CancellationToken ct); Task> GetCommentThreadTreeAsync(int rootCommentThreadId, LoginDTO login, CancellationToken ct); Task> GetCommentThreadListByObjectAsync(int objectTypeId, int objectId, LoginDTO login, CancellationToken ct); Task SaveCommentThreadAsync(CommentThreadDTO dto, LoginDTO login, CancellationToken ct); Task UpdateCommentThreadStatusAsync(int commentThreadId, byte newStatus, int modifiedById, LoginDTO login, CancellationToken ct); Task DeleteCommentThreadAsync(int commentThreadId, int modifiedById, LoginDTO login, CancellationToken ct); Task> GetThreadParticipantUserIdsAsync(int rootCommentThreadId, LoginDTO login, CancellationToken ct); Task HasSecurityRightsAsync(int userId, int roleId, int objectTypeId, int threadSecurityMarkId, LoginDTO login, CancellationToken ct); Task IsUserInGroupAsync(int userId, int userGroupId, LoginDTO login, CancellationToken ct); Task> GetOrganizationGroupDetailsAsync(LoginDTO login, CancellationToken ct); }