Add restore functionality for template management and enhance related components
Implemented a new endpoint for restoring templates to their last applied state, allowing users to revert changes made since the last application. Updated the ScheduleTemplate class to include a snapshot of the last applied state, enabling rollback capabilities. Enhanced the frontend with a restore button in the ChannelDetail component, providing users with a confirmation prompt before executing the restore action. Localization updates were made to support new UI strings in both English and Russian, improving the overall user experience in template management.
This commit is contained in:
@@ -822,6 +822,21 @@ seed = hash(channelId, date, slotId, occurrenceInDay)
|
||||
Регулируется по силе, по умолчанию выключен: попадает точно в цель для канала «как в 96-м», но
|
||||
переборщить очень легко.
|
||||
|
||||
### 6.6.1. Откат правок
|
||||
|
||||
У плашки «правила изменены» две кнопки: применить и **сбросить**. Слои и слоты правятся на месте,
|
||||
поэтому «как было» взять неоткуда — при каждом применении шаблон снимается слепком
|
||||
(`ScheduleTemplate.AppliedSnapshotJson`, схема `TemplateSnapshot` в Application). Это ровно то
|
||||
состояние, по которому собрана лента, и потому единственная корректная точка отката.
|
||||
|
||||
Откат правит слои и слоты **на месте по идентификаторам из снимка**: у пережившего откат слота
|
||||
сохраняется `SlotState`, и сериал не начинается заново. Удалённый после применения слот вернётся
|
||||
новым — его состояние ушло вместе с ним. Ссылка на группу или стык, удалённые после применения,
|
||||
не восстанавливается (внешний ключ), слот возвращается без неё, потеря считается и показывается.
|
||||
|
||||
Эфир при откате не трогается: он и так идёт по этому состоянию, а шаблон после отката снова ему
|
||||
равен — `Revision` приравнивается к `AppliedRevision`, плашка гаснет.
|
||||
|
||||
### 6.9. Автосборка сетки по профилю
|
||||
|
||||
Собрать неделю руками — это несколько десятков слотов, и до первого эфира новый канал не доживает.
|
||||
|
||||
Reference in New Issue
Block a user