- Introduced a new database model for calendar subscription tokens, allowing users to generate unique tokens for accessing their personal calendar. - Implemented API endpoint to return ICS files containing only the subscribing user's duties, enhancing user experience with personalized calendar access. - Added utility functions for generating ICS files from user duties, ensuring proper formatting and timezone handling. - Updated command handlers to support the new calendar link feature, providing users with easy access to their personal calendar subscriptions. - Included unit tests for the new functionality, ensuring reliability and correctness of token generation and ICS file creation.
19 lines
788 B
Python
19 lines
788 B
Python
"""Expose a single register_handlers(app) that registers all handlers."""
|
|
|
|
from telegram.ext import Application
|
|
|
|
from . import commands, errors, group_duty_pin, import_duty_schedule
|
|
|
|
|
|
def register_handlers(app: Application) -> None:
|
|
app.add_handler(commands.start_handler)
|
|
app.add_handler(commands.help_handler)
|
|
app.add_handler(commands.set_phone_handler)
|
|
app.add_handler(commands.calendar_link_handler)
|
|
app.add_handler(import_duty_schedule.import_duty_schedule_handler)
|
|
app.add_handler(import_duty_schedule.handover_time_handler)
|
|
app.add_handler(import_duty_schedule.duty_schedule_document_handler)
|
|
app.add_handler(group_duty_pin.group_duty_pin_handler)
|
|
app.add_handler(group_duty_pin.pin_duty_handler)
|
|
app.add_error_handler(errors.error_handler)
|