Initial commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional, List
|
||||
from pydantic import BaseModel
|
||||
|
||||
ALLOWED_EVENTS = ["upstream_rate_changed", "upstream_unhealthy", "upstream_recovered"]
|
||||
|
||||
|
||||
class WebhookCreate(BaseModel):
|
||||
name: str
|
||||
type: str = "generic" # generic | dingtalk
|
||||
url: str
|
||||
secret: str = ""
|
||||
enabled: bool = True
|
||||
events: List[str] = ["upstream_rate_changed"]
|
||||
|
||||
|
||||
class WebhookUpdate(BaseModel):
|
||||
name: Optional[str] = None
|
||||
type: Optional[str] = None
|
||||
url: Optional[str] = None
|
||||
secret: Optional[str] = None
|
||||
enabled: Optional[bool] = None
|
||||
events: Optional[List[str]] = None
|
||||
|
||||
|
||||
class WebhookResponse(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
type: str
|
||||
url: str
|
||||
secret_masked: str # always "***" if set, else ""
|
||||
enabled: bool
|
||||
events: List[str]
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
Reference in New Issue
Block a user