35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
using FictionArchive.Service.UserService.Models.DTOs;
|
|
using FictionArchive.Service.UserService.Services;
|
|
using HotChocolate.Authorization;
|
|
|
|
namespace FictionArchive.Service.UserService.GraphQL;
|
|
|
|
public class Query
|
|
{
|
|
[Authorize]
|
|
public IQueryable<UserDto> GetUsers(UserManagementService userManagementService)
|
|
{
|
|
return userManagementService.GetUsers().Select(user => new UserDto
|
|
{
|
|
Id = user.Id,
|
|
CreatedTime = user.CreatedTime,
|
|
LastUpdatedTime = user.LastUpdatedTime,
|
|
Username = user.Username,
|
|
Email = user.Email,
|
|
Disabled = user.Disabled,
|
|
Inviter = user.Inviter != null
|
|
? new UserDto
|
|
{
|
|
Id = user.Inviter.Id,
|
|
CreatedTime = user.Inviter.CreatedTime,
|
|
LastUpdatedTime = user.Inviter.LastUpdatedTime,
|
|
Username = user.Inviter.Username,
|
|
Email = user.Inviter.Email,
|
|
Disabled = user.Inviter.Disabled,
|
|
Inviter = null // Limit recursion to one level
|
|
}
|
|
: null
|
|
});
|
|
}
|
|
}
|