crud_ser_no.py 880 B

12345678910111213141516171819202122232425
  1. from typing import List, Optional
  2. from fastapi.encoders import jsonable_encoder
  3. from sqlalchemy.orm import Session
  4. from app.crud.base import CRUDBase
  5. from app.models.serial_number import SerialNumber
  6. from app.schemas.serial_number import SerialNumberCreate, SerialNumberUpdate
  7. from app.utils import random_name
  8. class CRUDSerialNumber(CRUDBase[SerialNumber, SerialNumberCreate, SerialNumberUpdate]):
  9. def valid(self, db: Session, *, ser_no:str) -> Optional[SerialNumber]:
  10. return db.query(SerialNumber).filter(SerialNumber.code==ser_no).first()
  11. def available(self, db: Session, *, ser_no:str) -> Optional[SerialNumber]:
  12. valid_ser_no = self.valid(db, ser_no=ser_no)
  13. if valid_ser_no and not valid_ser_no.is_used:
  14. return valid_ser_no
  15. else:
  16. return None
  17. serial_number = CRUDSerialNumber(SerialNumber)