Added resource field in websocket message
Used to differentiate resources for root-level subscriptions
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
from datetime import datetime, timezone
|
||||
from enum import Enum
|
||||
from typing import Optional
|
||||
from typing import Literal, Optional
|
||||
|
||||
from pydantic import BaseModel as PydanticBaseModel
|
||||
from pydantic import Field
|
||||
@@ -243,6 +243,7 @@ class Event(BaseModel):
|
||||
"""Event."""
|
||||
|
||||
type: EventType = Field(description="Event type.")
|
||||
resource: str = Field(description="Resource type.")
|
||||
date: datetime = Field(description="When the event occured. UTC Timezone.")
|
||||
payload: BaseModel
|
||||
|
||||
@@ -251,15 +252,18 @@ class SpoolEvent(Event):
|
||||
"""Event."""
|
||||
|
||||
payload: Spool = Field(description="Updated spool.")
|
||||
resource: Literal["spool"] = Field(description="Resource type.")
|
||||
|
||||
|
||||
class FilamentEvent(Event):
|
||||
"""Event."""
|
||||
|
||||
payload: Filament = Field(description="Updated filament.")
|
||||
resource: Literal["filament"] = Field(description="Resource type.")
|
||||
|
||||
|
||||
class VendorEvent(Event):
|
||||
"""Event."""
|
||||
|
||||
payload: Vendor = Field(description="Updated vendor.")
|
||||
resource: Literal["vendor"] = Field(description="Resource type.")
|
||||
|
||||
@@ -196,6 +196,7 @@ async def filament_changed(filament: models.Filament, typ: EventType) -> None:
|
||||
("filament", str(filament.id)),
|
||||
FilamentEvent(
|
||||
type=typ,
|
||||
resource="filament",
|
||||
date=datetime.utcnow(),
|
||||
payload=Filament.from_db(filament),
|
||||
),
|
||||
|
||||
@@ -312,6 +312,7 @@ async def spool_changed(spool: models.Spool, typ: EventType) -> None:
|
||||
("spool", str(spool.id)),
|
||||
SpoolEvent(
|
||||
type=typ,
|
||||
resource="spool",
|
||||
date=datetime.utcnow(),
|
||||
payload=Spool.from_db(spool),
|
||||
),
|
||||
|
||||
@@ -107,6 +107,7 @@ async def vendor_changed(vendor: models.Vendor, typ: EventType) -> None:
|
||||
("vendor", str(vendor.id)),
|
||||
VendorEvent(
|
||||
type=typ,
|
||||
resource="vendor",
|
||||
date=datetime.utcnow(),
|
||||
payload=Vendor.from_db(vendor),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user