Commit 2e116ef0 by Ooh-Ao

equirment

parent fd0056ea
...@@ -9,7 +9,7 @@ from sqlalchemy import select ...@@ -9,7 +9,7 @@ from sqlalchemy import select
from ..models.borrow_transaction import BorrowTransaction from ..models.borrow_transaction import BorrowTransaction
from ..models.project_equipment import ProjectEquipment from ..models.project_equipment import ProjectEquipment
from ..models.equipment import Equipment from ..models.equipments import Equipment
from ..schemas.borrow_schema import ( from ..schemas.borrow_schema import (
BorrowCreate, BorrowCreate,
BorrowUpdate BorrowUpdate
......
...@@ -22,8 +22,7 @@ async def create_equipment(equipment_data: EquipmentCreate, db: AsyncSession): ...@@ -22,8 +22,7 @@ async def create_equipment(equipment_data: EquipmentCreate, db: AsyncSession):
equipment = Equipment( equipment = Equipment(
equipmentName=equipment_data.equipmentName, equipmentName=equipment_data.equipmentName,
description=equipment_data.description, description=equipment_data.description,
quantityTotal=equipment_data.quantityTotal, is_returnable=equipment_data.is_returnable,
location=equipment_data.location
) )
db.add(equipment) db.add(equipment)
await db.commit() await db.commit()
...@@ -43,10 +42,8 @@ async def update_equipment(equipmentId: UUID, equipment_data: EquipmentUpdate, d ...@@ -43,10 +42,8 @@ async def update_equipment(equipmentId: UUID, equipment_data: EquipmentUpdate, d
eq_db.equipmentName = equipment_data.equipmentName eq_db.equipmentName = equipment_data.equipmentName
if equipment_data.description is not None: if equipment_data.description is not None:
eq_db.description = equipment_data.description eq_db.description = equipment_data.description
if equipment_data.quantityTotal is not None: if equipment_data.is_returnable is not None:
eq_db.quantityTotal = equipment_data.quantityTotal eq_db.is_returnable = equipment_data.is_returnable
if equipment_data.location is not None:
eq_db.location = equipment_data.location
await db.commit() await db.commit()
await db.refresh(eq_db) await db.refresh(eq_db)
......
...@@ -30,7 +30,6 @@ class Member(Base): ...@@ -30,7 +30,6 @@ class Member(Base):
role = Column(Enum(RoleType), nullable=False, default=RoleType.MEMBER) # Default as Enum instance role = Column(Enum(RoleType), nullable=False, default=RoleType.MEMBER) # Default as Enum instance
status = Column(Enum(StatusType), nullable=False, default=StatusType.ENABLE) # Default as Enum instance status = Column(Enum(StatusType), nullable=False, default=StatusType.ENABLE) # Default as Enum instance
picture = Column(String) picture = Column(String)
faceEmbedding = Column(Text, nullable=True) # เก็บข้อมูล Face Embedding
createdAt = Column(DateTime, nullable=False, default=datetime.utcnow) createdAt = Column(DateTime, nullable=False, default=datetime.utcnow)
updatedAt = Column(DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow) updatedAt = Column(DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
......
# myproject/schemas/equipment_schema.py # myproject/schemas/equipment_schema.py
from pydantic import BaseModel from pydantic import BaseModel
from typing import Optional from typing import Optional
from uuid import UUID from uuid import UUID
...@@ -7,22 +6,28 @@ from uuid import UUID ...@@ -7,22 +6,28 @@ from uuid import UUID
class EquipmentBase(BaseModel): class EquipmentBase(BaseModel):
equipmentName: str equipmentName: str
description: Optional[str] = None description: Optional[str] = None
quantityTotal: int = 0 is_returnable: bool = True
location: Optional[str] = None
# รับค่าตอน Create
class EquipmentCreate(EquipmentBase): class EquipmentCreate(EquipmentBase):
"""
Schema สำหรับรับข้อมูลเวลาสร้างอุปกรณ์ใหม่
"""
pass pass
# รับค่าตอน Update
class EquipmentUpdate(BaseModel): class EquipmentUpdate(BaseModel):
"""
Schema สำหรับรับข้อมูลเวลาต้องอัปเดตบางฟิลด์
(แต่ละฟิลด์เป็น Optional เผื่อว่าไม่ต้องส่งทุกฟิลด์)
"""
equipmentName: Optional[str] = None equipmentName: Optional[str] = None
description: Optional[str] = None description: Optional[str] = None
quantityTotal: Optional[int] = None is_returnable: Optional[bool] = None
location: Optional[str] = None
# ส่งค่ากลับ (Response)
class EquipmentResponse(EquipmentBase): class EquipmentResponse(EquipmentBase):
"""
Schema สำหรับส่งคืนข้อมูล (Response) ไปยัง Client
โดยเพิ่ม equipmentId
"""
equipmentId: UUID equipmentId: UUID
class Config: class Config:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment