Добавить новые методы в API и сделать логику разграничения прав доступ

Цена договорная
19 июня 2024, 17:10 • 3 отклика • 75 просмотров
История Сейчас в используемом API есть метод только для добавления пользователя с выбором роли - create.

POST /api/operator/create
Нужно доработать API и логику, для разделения функционала пользователей веб-приложения и их ролей.

Задача Нужно добавить два новых метода в текущий API
  1. modify (изменение параметров пользователя)
    1. Изменение роли (оператор | администратор | *новая роль)
  2. delete (пометить на удаление, проставив timestamp в поле)
Также в рамках данной задачи необходимо:
  • Сделать новый раздел (страницу) Users в главном меню.
  • Cделать новую логику назначения прав. Конкретному пользователю - доступ в определенный раздел или к определённому функционалу.
  • Сделать возможность создания новой роли, с возможностью назначения набора прав по-умолчанию (preset для роли). Визуальную реализацию функционала создания и редактирования Ролей - нужно предложить.
Визуально - новый функционал создания и редактирования пользователей можно реализовать в виде технической страницы (название - Users) с помощью функционала используемой библиотеки Bootstrap.
Условия Технологический стек:
Целевые окружения:
  • Тестовое окружение (Test)
Результат
  • По итогам выполнения задачи должны появиться новые методы API
    – редактирование параметров пользователя
    – деактивация (пометки на удаление) пользователя
    – *другие (при необходимости)
  • Изменения необходимо добавить в API endpoint (swagger), дополнив её новыми методами. Функционал новых методов должен быть работоспособен на данной странице.
  • На новой, созданной странице Users, должен быть доступен и работоспособен весь описанный выше функционал добавления, удаления пользователей, а также редактирование списка прав для ролей и пользователей.
    • В качестве примера, нужно создать новую роль, сделать для неё набор прав по-умолчанию. Далее создать нового пользователя, назначить ему эту роль и добавить дополнительно доступ к любому функционалу – вручную. После этого, пользователя пометить на удаление.
  • Для локального развёртывания приложения нужно сделать форк от тестовой ветки.
  • Перед вашим откликом, просьба добавить фразу API
  • Код со сделанными доработками должен быть запушен в виде PR в тестовую ветку и полностью работоспособен на тестовом сервере. В ветку Main делать PR не нужно.
  • При появлении изменений должна быть сделана доработка текущей документации и инструкции по развёртыванию, настройке и использованию сделанного решения.
  • Должно быть сделано описание сделанных методов в Swagger по текущему образцу.
Во вложении скриншот новой, создаваемой страницы, для понимания визуала.
Более детальное ТЗ готов выслать откликнувшимся.
Файлы