Files
Govor/Govor.Application/Interfaces/IGroupService.cs
T
2025-07-04 14:33:54 +07:00

16 lines
720 B
C#

using Govor.Application.Interfaces.Messages.Parameters;
using Govor.Core.Models;
namespace Govor.Application.Interfaces;
public interface IGroupService
{
Task<ChatGroup> GetGroupByIdAsync(Guid groupId);
Task<ChatGroup> CreateGroupAsync(string name, Guid creatorId, IEnumerable<Guid> initialMemberIds);
Task<Result> AddUserToGroupByInvitationAsync(Guid userId, string invitationCode);
Task<Result> RemoveUserFromGroupAsync(Guid groupId, Guid userId, Guid removedByUserId);
Task<Result> DeleteGroupAsync(Guid groupId, Guid userId);
Task<List<User>> GetGroupMembersAsync(Guid groupId);
Task<List<ChatGroup>>GetUserGroupsAsync(Guid userId);
ChatGroup GetGroupByInviteCode(string code);
}