Init project
This commit is contained in:
47
birthday_pool_bot/telegram_bot/ui/callback_data.py
Normal file
47
birthday_pool_bot/telegram_bot/ui/callback_data.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import enum
|
||||
import uuid
|
||||
from typing import Any
|
||||
|
||||
from aiogram.filters.callback_data import CallbackData
|
||||
from pydantic import Field
|
||||
|
||||
|
||||
class PaginatorCallbackData(CallbackData, prefix=""):
|
||||
page: int = 1
|
||||
|
||||
|
||||
class MenuCallbackData(CallbackData, prefix="menu"):
|
||||
pass
|
||||
|
||||
|
||||
class SubscriptionsCallbackData(PaginatorCallbackData, prefix="subscriptions"):
|
||||
pass
|
||||
|
||||
|
||||
class AddSubscriptionCallbackData(CallbackData, prefix="subscription_add"):
|
||||
pass
|
||||
|
||||
|
||||
class ConfirmAnswerEnum(str, enum.Enum):
|
||||
YES = "yes"
|
||||
NO = "no"
|
||||
|
||||
|
||||
class AddSubscriptionConfirmCallbackData(CallbackData, prefix="subscription_add_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 AddSubscriptionPoolsCallbackData(PaginatorCallbackData, prefix="subscription_add_pool"):
|
||||
to_user_id: uuid.UUID
|
||||
Reference in New Issue
Block a user