[CHANGE] Adding functionality to manager

This commit is contained in:
max
2025-04-06 21:34:40 +02:00
parent d6c0ad1138
commit d8b08a763e
17 changed files with 234 additions and 76 deletions

View File

@@ -48,6 +48,21 @@ public class GroupRepository(IDbContextFactory<AuthorityContext> contextFactory)
}
}
public async Task<ListResult<AuthorityGroup>> GetUserGroupsAsync(AuthorityUser user, CancellationToken cancellationToken = default)
{
try
{
await using var context = await contextFactory.CreateDbContextAsync(cancellationToken);
var userJoinGroups = context.UserGroups.Where(ug => ug.UserId == user.Id).Select(ug => ug.GroupId);
var userGroups = context.Groups.Where(g => userJoinGroups.Contains(g.Id));
return ListResult<AuthorityGroup>.Ok(userGroups, userGroups.Count());
}
catch (Exception e)
{
return HandleExceptionListResult<AuthorityGroup>("Failed to get Groups", e);
}
}
public async Task<Result<AuthorityGroup>> CreateGroupAsync(AuthorityGroup group, CancellationToken cancellationToken = default)
{
try