22 lines
546 B
Python
22 lines
546 B
Python
|
|
# generated by datamodel-codegen:
|
||
|
|
# filename: event_envelope.json
|
||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from typing import Any
|
||
|
|
|
||
|
|
from pydantic import AwareDatetime, BaseModel, ConfigDict, constr
|
||
|
|
|
||
|
|
|
||
|
|
class EventEnvelope(BaseModel):
|
||
|
|
model_config = ConfigDict(
|
||
|
|
extra='forbid',
|
||
|
|
)
|
||
|
|
event_id: constr(min_length=1)
|
||
|
|
event_type: constr(min_length=1)
|
||
|
|
schema_version: constr(pattern=r'^\d+\.\d+\.\d+$')
|
||
|
|
occurred_at: AwareDatetime
|
||
|
|
causation_id: constr(min_length=1)
|
||
|
|
correlation_id: constr(min_length=1)
|
||
|
|
payload: Any
|