app_register.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. from datetime import datetime
  2. from app.models.public_api_model import AppRegisterModel
  3. from Log import logger
  4. # from app.models import current_time
  5. from sqlalchemy.orm import Session
  6. from typing import Type
  7. class AppRegisterDao:
  8. def __init__(self, db: Session):
  9. self.db = db
  10. def get_app_by_id(self, api_id: str) -> Type[AppRegisterModel] | None:
  11. session = self.db.query(AppRegisterModel).filter_by(id=api_id).first()
  12. return session
  13. def update_app(self, app_id: str, status: int, name):
  14. logger.error("更新数据: app register---------------------------")
  15. try:
  16. self.db.query(AppRegisterModel).filter(AppRegisterModel.id==app_id).update({"status":status, "updated_at": datetime.now(), "name": name})
  17. self.db.commit()
  18. except Exception as e:
  19. logger.error(e)
  20. self.db.rollback()
  21. raise Exception("更新失败!")
  22. def insert_app(self, app_id: str, status: int, name: str):
  23. logger.error("新增数据: app register---------------------------")
  24. new_session = AppRegisterModel(
  25. id=app_id,
  26. status=status,
  27. name=name
  28. )
  29. self.db.add(new_session)
  30. self.db.commit()
  31. self.db.refresh(new_session)
  32. return new_session
  33. def update_and_insert_app(self, app_id: str, status: int, name=""):
  34. logger.error("更新或者添加数据: app register---------------------------")
  35. token_boj = self.get_app_by_id(app_id)
  36. if token_boj:
  37. self.update_app(app_id, status, name)
  38. else:
  39. self.insert_app(app_id, status, name)
  40. def get_apps(self):
  41. app_list = self.db.query(AppRegisterModel).filter_by(status=1).all()
  42. return [i.to_dict() for i in app_list]