Задача
Реализовать на сайте функцию, позволяющую зарегистрированному пользователю полностью удалить свой профиль со всеми данными. Это должно происходить с подтверждением операции для предотвращения случайных действий.
Требования к реализации
- Добавить интерфейс (кнопка/ссылка) в личном кабинете пользователя.
- Механизм подтверждения удаления (например, диалоговое окно в браузере (confirm) или дополнительный шаг в интерфейсе).
- При удалении: очистить базу данных записей, связанных с профилем (посты, комментарии, настройки, и т.д.), либо деактивировать профиль.
- Обеспечить защиту от несанкционированного удаления (только аутентифицированный пользователь может удалить свой профиль).
- После успешного удаления - автоматический выход из системы (разлогинивание) и перенаправление на главную страницу с уведомлением.
Дополнительные пожелания
Для администратора должна быть настроена возможность восстановления удаленного профиля (опционально).
Желательно предусмотреть "мягкое" удаление (soft delete) - отметка удалено в базе, чтобы у пользователя и администратора была возможность отменить удаление в течение определённого времени (сутки).
Технические замечания
- Реализация на стороне сервера (бекенд) и клиента (фронтенд) - по действующей архитектуре сайта.
- Необходимо тестирование на этапе разработки (различные сценарии: отмена удаления, попытка удаления чужого профиля).
- Стилизация кнопки/формы удаления под общий дизайн сайта.