Делаем пять ручек
PATCH /notification/info/{id}
PATCH /notification/rating/{id}
PATCH /notification/text/{id}
PATCH /notification/choice/{id}
PATCH /notification/image/{id}
Каждая принимает общие поля плюс свои, все опциональные. Ручка проверяет, что note.type_id совпадает с типом ручки, иначе 403.
редактировать можно для статуса archived: нельзя менять type_id + логика проверки новых данных (например start_ts<end_ts)
для статуса active: нельзя менять type_id + валидация как у archived + основной контент не менять (иначе статистика будет неактуальной)
Делаем пять ручек
PATCH /notification/info/{id}
PATCH /notification/rating/{id}
PATCH /notification/text/{id}
PATCH /notification/choice/{id}
PATCH /notification/image/{id}
Каждая принимает общие поля плюс свои, все опциональные. Ручка проверяет, что note.type_id совпадает с типом ручки, иначе 403.
редактировать можно для статуса archived: нельзя менять type_id + логика проверки новых данных (например start_ts<end_ts)
для статуса active: нельзя менять type_id + валидация как у archived + основной контент не менять (иначе статистика будет неактуальной)