Skip to content

Commit 2ef2b8f

Browse files
committed
Refactor Log schemas to include optional relay fields and improve data handling
1 parent 91b85b3 commit 2ef2b8f

1 file changed

Lines changed: 17 additions & 12 deletions

File tree

app/schemas/log.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
from pydantic import BaseModel
22
from datetime import datetime
3+
from typing import Optional # <--- WAJIB IMPORT INI
34

4-
# Cetakan dasar (isi data)
55
class LogBase(BaseModel):
6-
topic_type: str
7-
value: str
8-
9-
class LogResponse(BaseModel):
10-
id: int
116
device_id: str
127
temperature: float
138
humidity: float
149
amonia: float
1510
feed_level: float
16-
17-
# Tambahkan status relay ini
18-
relay_1: bool # Lampu
19-
relay_2: bool # Kipas/Pompa Minum
20-
relay_3: bool # Pompa Siram
21-
11+
# relay boleh tidak diisi saat create
12+
relay_1: Optional[bool] = None
13+
relay_2: Optional[bool] = None
14+
relay_3: Optional[bool] = None
15+
16+
class LogCreate(LogBase):
17+
pass
18+
19+
class LogResponse(LogBase):
20+
id: int
2221
created_at: datetime
22+
23+
# KITA TIMPA LAGI DISINI BIAR AMAN
24+
# Kalau data dari DB null/gak ada, dia bakal isi None (gak error)
25+
relay_1: Optional[bool] = None
26+
relay_2: Optional[bool] = None
27+
relay_3: Optional[bool] = None
2328

2429
class Config:
2530
from_attributes = True

0 commit comments

Comments
 (0)