Есть пользователь с атрибутом Role
, по умолчанию TENANT
, используя запрос, который мы задали ему LANDLORD
, и в таблице HOUSE
он добавляет квартиру с различными атрибутами: описание , цена, city_id и другие. Но вдруг этот пользователь захотел убрать себя из статуса LANDLORD
, удалить свои квартиры из нашей базы и снова стать просто TENANT
, как в этом случае я могу удалить информацию о том, что у него есть квартиры? Как это сделать, если у него есть квартиры, то их нужно удалить, если нет, то просто поменять статус пользователя на TENANT
?
Сначала была идея присвоить нулевое значение, но мне показалось странным, если мы просто обнуляем его, потому что тогда таблица начнет захламляться. Также есть вариант статуса: ACTIVE
или BANNED
, но мне этот вариант не нравится, потому что его квартира по-прежнему не нужна.
Код выглядит так:
@PutMapping ("/ {id}")
@PreAuthorize ("hasAuthority ('landlord: write')")
public void TenantPostAdd (@PathVariable (value = "id") Long id) {
User user = userRepository.findById (id) .orElseThrow ();
Role role = Role.TENANT;
user.setRole (role);
House house = houseRepository.findById (id) .orElseThrow ();
house ... // what's here
}
1 ответ
Чтобы построить инфраструктуру такого уровня, мне нужно задать много вопросов, чтобы что-то порекомендовать. Я бы тоже хотел увидеть текущую схему базы данных. Вы также запрашиваете возможность удаления, что может стать проблематичным. Возможно, вы захотите оставить данные, если считаете, что клиент может снова сменить роли. Такая информация основана на условиях соглашения.
Вы не думали построить что-то подобное?
Абсолютный (числовой) режим
0 Нет разрешения --- и т.д ...
https://www.guru99.com/file-permissions.html
Это может быть проблема с подготовленным оператором, в котором отсутствуют соответствующие соединения. Я считаю, что вам следует еще раз взглянуть на схему своей базы данных.
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.