crud_simplepay.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from typing import List
  2. from fastapi.encoders import jsonable_encoder
  3. from sqlalchemy.orm import Session
  4. from sqlalchemy import desc
  5. from app.crud.base import CRUDBase
  6. from app.models.simplepay import SimplePay
  7. from app.schemas.simplepay import SimplePayCreate, SimplePayUpdate
  8. from app.utils import random_name
  9. class CRUDSimplePay(CRUDBase[SimplePay, SimplePayCreate, SimplePayUpdate]):
  10. def create_with_payment_data(
  11. self, db: Session, *, obj_in: SimplePayCreate,
  12. epayment:str,
  13. remark: str
  14. ) -> SimplePay:
  15. obj_in_data = jsonable_encoder(obj_in)
  16. db_obj = self.model(**obj_in_data,
  17. epayment=epayment,
  18. remark=remark)
  19. db.add(db_obj)
  20. db.commit()
  21. db.refresh(db_obj)
  22. return db_obj
  23. def get_all_desc(self, db: Session) -> List[SimplePay]:
  24. return (
  25. db.query(self.model)
  26. .order_by(desc(SimplePay.id))
  27. .all()
  28. )
  29. simplepay = CRUDSimplePay(SimplePay)