Mbonea commited on
Commit
a18c333
·
1 Parent(s): d68bee0
Files changed (1) hide show
  1. App/Messages/Schema.py +2 -17
App/Messages/Schema.py CHANGED
@@ -1,7 +1,7 @@
1
  # App/Messages/Schema.py
2
  from pydantic import BaseModel, UUID4, Field, ConfigDict, condecimal, constr, validator
3
  from datetime import datetime
4
- from typing import Optional, Dict
5
  import uuid
6
 
7
  from pydantic import BaseModel, UUID4, Field, validator, ConfigDict
@@ -33,9 +33,7 @@ class MessageCreate(BaseModel):
33
 
34
 
35
  class MessageResponse(BaseModel):
36
- id: Optional[UUID4] = Field(
37
- default_factory=uuid.uuid4
38
- ) # Automatically generate UUID4 if not provided
39
  device_id: Optional[str] = None
40
  event: Optional[str] = None
41
  message_id: Optional[str] = None
@@ -48,19 +46,6 @@ class MessageResponse(BaseModel):
48
  created_time: Optional[datetime] = None
49
  model_config = ConfigDict(from_attributes=True)
50
 
51
- @validator("id", pre=True, always=True)
52
- def validate_uuid(cls, v):
53
- """
54
- Ensure all ID fields are valid UUIDs. If the input is invalid or missing,
55
- generate a new UUID.
56
- """
57
- if v is None or not isinstance(v, (UUID, str)):
58
- return uuid4() # Generate a new UUID if not provided or invalid
59
- try:
60
- return UUID(v) # Validate and convert to UUID
61
- except ValueError:
62
- return uuid4() # Generate a new UUID if validation fails
63
-
64
  # class Config:
65
  # orm_mode = True
66
  # allow_population_by_field_name = True
 
1
  # App/Messages/Schema.py
2
  from pydantic import BaseModel, UUID4, Field, ConfigDict, condecimal, constr, validator
3
  from datetime import datetime
4
+ from typing import Optional, Dict, Union
5
  import uuid
6
 
7
  from pydantic import BaseModel, UUID4, Field, validator, ConfigDict
 
33
 
34
 
35
  class MessageResponse(BaseModel):
36
+ id: Optional[Union[UUID4, str]] = None
 
 
37
  device_id: Optional[str] = None
38
  event: Optional[str] = None
39
  message_id: Optional[str] = None
 
46
  created_time: Optional[datetime] = None
47
  model_config = ConfigDict(from_attributes=True)
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  # class Config:
50
  # orm_mode = True
51
  # allow_population_by_field_name = True