Supported MySQL Changes Listening
This commit is contained in:
@@ -2,7 +2,13 @@ import re
|
||||
from typing import Union, List, Optional, Literal, Any
|
||||
from typing_extensions import Annotated
|
||||
from pydantic import BaseModel, Field, field_validator, ValidationInfo, UUID4
|
||||
from core.enums import ConnectionTypes, UserRole, FilterOperator, SortOrder
|
||||
from core.enums import (
|
||||
ConnectionTypes,
|
||||
UserRole,
|
||||
FilterOperator,
|
||||
SortOrder,
|
||||
DBUpdatesActions,
|
||||
)
|
||||
from core.exceptions import QueryValidationError
|
||||
|
||||
|
||||
@@ -189,6 +195,7 @@ class CachedCursorOut(BaseModel):
|
||||
has_more: bool
|
||||
close_at: int
|
||||
ttl: int
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
@@ -196,3 +203,25 @@ class CachedCursorOut(BaseModel):
|
||||
class SelectResult(BaseModel):
|
||||
cursor: CachedCursorOut
|
||||
results: SelectResultData | None
|
||||
|
||||
|
||||
class ConnectionChangeBase(BaseModel):
|
||||
connection_id: int
|
||||
action: DBUpdatesActions
|
||||
table: str
|
||||
|
||||
|
||||
class ConnectionChangeInsert(ConnectionChangeBase):
|
||||
action: DBUpdatesActions = DBUpdatesActions.insert
|
||||
values: list[Any]
|
||||
|
||||
|
||||
class ConnectionChangeDelete(ConnectionChangeBase):
|
||||
action: DBUpdatesActions = DBUpdatesActions.delete
|
||||
values: list[Any]
|
||||
|
||||
|
||||
class ConnectionChangeUpdate(ConnectionChangeBase):
|
||||
action: DBUpdatesActions = DBUpdatesActions.update
|
||||
before_values: list[Any]
|
||||
after_values: list[Any]
|
||||
|
||||
Reference in New Issue
Block a user