Skip to content

Commit eedd048

Browse files
authored
Merge pull request #21 from DurianPy-Davao-Python-User-Group/feature/58-transaction-response-handling-via-lambda-and-sqs
refactor(pycon_registration): change pydantic model v2 syntax to v1 syntax
2 parents 5e39580 + d9dc8da commit eedd048

File tree

1 file changed

+6
-14
lines changed

1 file changed

+6
-14
lines changed

backend/model/pycon_registrations/pycon_registration.py

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,7 @@
11
from enum import Enum
22
from typing import Optional
33

4-
from pydantic import (
5-
BaseModel,
6-
EmailStr,
7-
Field,
8-
HttpUrl,
9-
field_validator,
10-
model_validator,
11-
)
4+
from pydantic import BaseModel, EmailStr, Field, HttpUrl, root_validator, validator
125

136

147
class SocialMedia(BaseModel):
@@ -78,15 +71,14 @@ class PyconRegistration(BaseModel):
7871
)
7972
imageId: Optional[str] = Field(None, title='Image ID Object Key')
8073

81-
@field_validator('firstName', 'lastName', 'nickname')
82-
@classmethod
74+
@validator('firstName', 'lastName', 'nickname')
8375
def normalize_names(cls, v: str) -> str:
8476
if not v.strip():
8577
raise ValueError('Name fields cannot be empty')
8678
return ' '.join(word.capitalize() for word in v.split())
8779

88-
@model_validator(mode='after')
89-
def check_shirt_availability(self):
90-
if self.availTShirt and (self.shirtType is None or self.shirtSize is None):
80+
@root_validator(pre='false')
81+
def check_shirt_availability(cls, values):
82+
if values.get('availTShirt') and (values.get('shirtType') is None or values.get('shirtSize') is None):
9183
raise ValueError('If availTShirt is True, then shirtType and shirtSize must be provided.')
92-
return self
84+
return values

0 commit comments

Comments
 (0)