Task: Контракт calendar.settings для org defaults #63
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проблема
Front Story: настройки календаря организации (адрес по умолчанию, опционально recurrence/duration). В спеке у
calendarуже естьsettings :: map, но продуктовые ключи и валидация не зафиксированы.Влияние
Без контракта Front либо шлёт произвольный map (риск поломки/игнора), либо дублирует defaults только на клиенте.
Ожидаемый результат
Документированный whitelist ключей
calendar.settingsдля org defaults; GET/PUT calendar принимает/отдаёт их стабильно; eunit на валидацию неизвестных/битых значений (reject или strip — выбрать).Варианты решения
Связано с Front Story «Настройки календаря под организацию».
Критерии приёмки
EventHubBackSpecописаны ключи defaults (location, optional recurrence/duration)Приоритет
P2
Связанная Front Story: EventHub/EventHubFront#44
Рекомендация: whitelist keys в
settingsmap (A).Stage probe (29.07.2026) — зачем нужен контракт defaults
Стенд:
https://stage.calentiq.com/· UI 0.2.49 · API 0.2.162.Live-симптом на Front
В карточке события:
Адрес: undefined (0, 0). UI default address на уровне календаря нет.Это усиливает потребность в документированных ключах
calendar.settings(как минимумdefault_location) и согласованной валидации, чтобы Front не писал/не показывал мусорные координаты.Связано: Front#44.
Готово
Контракт
calendar.settingsдля org defaults:default_location,default_duration_minutes,default_recurrenceweek_patterns) — passthrough400/{invalid_settings, Key}Коммит:
4986bafнаmaster.Eunit:
logic_calendar_tests— ok.Связано: EventHub/EventHubFront#44, спека EventHubBackSpec §2.1.