"""Идемпотентно добавляет ежегодные напоминания: ДР 12 мая и Новый год.""" from sqlalchemy import select from app.db.base import SessionLocal from app.db.models import Reminder from app.reminders.service import RECURRENCE_YEARLY, RemindersService DEFAULTS = ( { "title": "День рождения", "due_at": "2027-05-12T09:00:00+03:00", "notes": "С днём рождения!", "all_day": True, "recurrence": RECURRENCE_YEARLY, }, { "title": "Новый год", "due_at": "2026-12-31T23:55:00+03:00", "notes": "С наступающим Новым годом!", "all_day": False, "recurrence": RECURRENCE_YEARLY, }, ) def main() -> None: db = SessionLocal() try: service = RemindersService(db) for item in DEFAULTS: exists = db.scalar( select(Reminder.id) .where( Reminder.title == item["title"], Reminder.recurrence == RECURRENCE_YEARLY, Reminder.enabled.is_(True), ) .limit(1) ) if exists: print(f"skip: {item['title']} (id={exists})") continue result = service.create(**item) reminder = result["reminder"] print(f"created: {reminder['title']} · {reminder['due_at_local']} · yearly") finally: db.close() if __name__ == "__main__": main()