Files
Birthday-Pool-Bot/birthday_pool_bot/telegram_bot/ui/callback_data.py

71 lines
1.4 KiB
Python

import enum
import uuid
from aiogram.filters.callback_data import CallbackData
class PaginatorCallbackData(CallbackData, prefix=""):
page: int = 1
class MenuCallbackData(CallbackData, prefix="menu"):
pass
class SubscriptionsCallbackData(PaginatorCallbackData, prefix="subscriptions"):
pass
class NewSubscriptionCallbackData(CallbackData, prefix="new_subscription"):
pass
class ConfirmAnswerEnum(str, enum.Enum):
YES = "yes"
NO = "no"
class NewSubscriptionConfirmCallbackData(CallbackData, prefix="new_subscription_confirm"):
answer: ConfirmAnswerEnum
class SubscriptionActionEnum(str, enum.Enum):
SHOW = "show"
DELETE = "delete"
EDIT = "edit"
BACK = "back"
class SubscriptionCallbackData(CallbackData, prefix="subscription"):
to_user_id: uuid.UUID
action: SubscriptionActionEnum = SubscriptionActionEnum.SHOW
class PoolsCallbackData(PaginatorCallbackData, prefix="pools"):
pass
class PoolsBackCallbackData(CallbackData, prefix="pools_back"):
pass
class PoolActionEnum(str, enum.Enum):
SHOW = "show"
CHOOSE = "choose"
class PoolCallbackData(CallbackData, prefix="pool"):
id: uuid.UUID
action: PoolActionEnum = PoolActionEnum.SHOW
class SubscribeToNewPoolAnswerEnum(str, enum.Enum):
YES = "yes"
NO = "no"
class NotifyNewPoolCallbackData(CallbackData, prefix="snp"):
user_id: uuid.UUID
pool_id: uuid.UUID
answer: SubscribeToNewPoolAnswerEnum