Update app/schemas/class_.py
Browse files- app/schemas/class_.py +11 -0
app/schemas/class_.py
CHANGED
|
@@ -43,6 +43,12 @@ class ClassBase(BaseModel):
|
|
| 43 |
|
| 44 |
# Coach assignment
|
| 45 |
coach_email: Optional[str] = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
|
| 47 |
@field_validator("class_time", mode="before")
|
| 48 |
@classmethod
|
|
@@ -133,6 +139,10 @@ class ClassUpdate(BaseModel):
|
|
| 133 |
is_active: Optional[bool] = None
|
| 134 |
|
| 135 |
coach_email: Optional[str] = None
|
|
|
|
|
|
|
|
|
|
|
|
|
| 136 |
|
| 137 |
@field_validator("days_of_week", mode="before")
|
| 138 |
@classmethod
|
|
@@ -153,6 +163,7 @@ class ClassOut(ClassBase):
|
|
| 153 |
id: int
|
| 154 |
created_at: Optional[datetime] = None
|
| 155 |
updated_at: Optional[datetime] = None
|
|
|
|
| 156 |
|
| 157 |
model_config = ConfigDict(from_attributes=True)
|
| 158 |
|
|
|
|
| 43 |
|
| 44 |
# Coach assignment
|
| 45 |
coach_email: Optional[str] = None
|
| 46 |
+
|
| 47 |
+
# Location - can be physical address or online meeting link
|
| 48 |
+
location: Optional[str] = None
|
| 49 |
+
|
| 50 |
+
# Membership plans - list of plan IDs this class is connected to
|
| 51 |
+
membership_plan_ids: List[int] = Field(default_factory=list)
|
| 52 |
|
| 53 |
@field_validator("class_time", mode="before")
|
| 54 |
@classmethod
|
|
|
|
| 139 |
is_active: Optional[bool] = None
|
| 140 |
|
| 141 |
coach_email: Optional[str] = None
|
| 142 |
+
|
| 143 |
+
location: Optional[str] = None
|
| 144 |
+
|
| 145 |
+
membership_plan_ids: Optional[List[int]] = None
|
| 146 |
|
| 147 |
@field_validator("days_of_week", mode="before")
|
| 148 |
@classmethod
|
|
|
|
| 163 |
id: int
|
| 164 |
created_at: Optional[datetime] = None
|
| 165 |
updated_at: Optional[datetime] = None
|
| 166 |
+
membership_plan_ids: List[int] = Field(default_factory=list)
|
| 167 |
|
| 168 |
model_config = ConfigDict(from_attributes=True)
|
| 169 |
|