Skip to content

HubOl01/UserWebApi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

UserWebApi

Задание

Написать Web API сервис на .NET 9 или выше, реализующий API методы CRUD над сущностью Users, доступ к API должен осуществляться через интерфейс Swagger.

Все действия могут происходить в оперативной памяти и не сохраняться при остановке приложения (по желанию подключить любую базу данных).

Предварительно должен быть создан пользователь Admin, от имени которого будут вначале происходить действия.

image

CRUD методы контроллера UsersController (по желанию возвращать текст ошибки при невозможности выполнить действие) (по желанию можно добавить выдачу и использование токена)

Create

  1. Создание пользователя по логину, паролю, имени, полу и дате рождения + указание будет ли пользователь админом (Доступно Админам)

Update-1

  1. Изменение имени, пола или даты рождения пользователя (Может менять Администратор, либо лично пользователь, если он активен (отсутствует RevokedOn))
  2. Изменение пароля (Пароль может менять либо Администратор, либо лично пользователь, если он активен (отсутствует RevokedOn))
  3. Изменение логина (Логин может менять либо Администратор, либо лично пользователь, если он активен (отсутствует RevokedOn), логин должен оставаться уникальным)

Read

  1. Запрос списка всех активных (отсутствует RevokedOn) пользователей, список отсортирован по CreatedOn (Доступно Админам)
  2. Запрос пользователя по логину, в списке долны быть имя, пол и дата рождения статус активный или нет (Доступно Админам)
  3. Запрос пользователя по логину и паролю (Доступно только самому пользователю, если он активен (отсутствует RevokedOn))
  4. Запрос всех пользователей старше определённого возраста (Доступно Админам)

Delete

  1. Удаление пользователя по логину полное или мягкое (При мягком удалении должна происходить простановка RevokedOn и RevokedBy) (Доступно Админам)

Update-2

  1. Восстановление пользователя - Очистка полей (RevokedOn, RevokedBy) (Доступно Админам)

Поля сущности User

  • Guid - Guid - Уникальный идентификатор пользователя
  • Login - string - Уникальный Логин (запрещены все символы кроме латинских букв и цифр),
  • Password - string - Пароль(запрещены все символы кроме латинских букв и цифр),
  • Name - string - Имя (запрещены все символы кроме латинских и русских букв)
  • Gender - int - Пол 0 - женщина, 1 - мужчина, 2 - неизвестно
  • Birthday - DateTime? - поле даты рождения может быть Null
  • Admin - bool - Указание - является ли пользователь админом
  • CreatedOn - DateTime - Дата создания пользователя
  • CreatedBy - string - Логин Пользователя, от имени которого этот пользователь создан
  • ModifiedOn - DateTime - Дата изменения пользователя
  • ModifiedBy - string - Логин Пользователя, от имени которого этот пользователь изменён
  • RevokedOn - DateTime- Дата удаления пользователя
  • RevokedBy - string - Логин Пользователя, от имени которого этот пользователь удалён

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages