/
afanasevn
/
MaxSystems
Обзор
Документация
Войти
/
afanasevn
/
MaxSystems
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/MaxSystems.Application/Abstractions/IUserService.cs
51 строка
2 KB
IBS\NAfanasev
Update documentation and comments
22 июн 2026, 19:13
22 июн 2026, 19:13
ff853a6
Код
Авторство
О чём код?
using MaxSystems.Application.Contracts.Admin; namespace MaxSystems.Application.Abstractions; /// <summary> /// Администрирование пользователей и ролей. /// </summary> public interface IUserService { /// <summary> /// Список всех пользователей с количеством связанных работ. /// </summary> Task<IReadOnlyList<UserListItemDto>> ListAsync(CancellationToken ct = default); /// <summary> /// Пользователь по идентификатору; null, если не найден. /// </summary> Task<UserListItemDto?> GetByIdAsync( Guid id, CancellationToken ct = default); /// <summary> /// Создание пользователя с хешированием пароля. Ошибка — при дубликате email или невалидных данных. /// </summary> Task<(UserListItemDto? User, string? Error)> CreateAsync( CreateUserRequest request, Guid? actorUserId = null, CancellationToken ct = default); /// <summary> /// Обновление полей пользователя. <paramref name="currentUserId"/> — для защиты от отключения себя и последнего админа. /// </summary> Task<(UserListItemDto? User, string? Error)> UpdateAsync( Guid id, UpdateUserRequest request, Guid? currentUserId, CancellationToken ct = default); /// <summary> /// Удаление пользователя. <paramref name="currentUserId"/> — для запрета удаления своей учётной записи. /// </summary> Task<(bool Deleted, string? Error)> DeleteAsync( Guid id, Guid? currentUserId, CancellationToken ct = default); /// <summary> /// Справочник ролей портала с описаниями. /// </summary> IReadOnlyList<RoleInfoDto> GetRoles(); }