data_management.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from re import S
  2. import time
  3. from typing import List
  4. from app import models, schemas
  5. from sqlalchemy.orm import Session
  6. def create_data_management(db: Session, item: schemas.DataManagementCreate, table_name: str, af_run_id: str):
  7. create_time: int = int(time.time())
  8. db_item = models.DataManagement(**{
  9. 'name': item.name,
  10. 'table_name': table_name,
  11. 'create_time': create_time,
  12. 'user_name': item.user_name,
  13. 'user_id': item.user_id,
  14. 'project_id': item.project_id,
  15. 'af_run_id': af_run_id,
  16. 'status': 1
  17. })
  18. db.add(db_item)
  19. db.commit()
  20. db.refresh(db_item)
  21. return db_item
  22. def update_data_management_status(db: Session, d_id: int, status: int):
  23. db_item: models.DataManagement = db.query(models.DataManagement).filter(models.DataManagement.id == d_id).first()
  24. db_item.status = status
  25. db.commit()
  26. db.flush()
  27. db.refresh(db_item)
  28. return db_item
  29. def get_data_managements(db: Session, user_id: str, project_id: str):
  30. res: List[models.DataManagement] = db.query(models.DataManagement).filter(models.DataManagement.project_id == project_id).all()
  31. return res
  32. def get_data_management_info(db: Session, d_id: int):
  33. db_item: models.DataManagement = db.query(models.DataManagement).filter(models.DataManagement.id == d_id).first()
  34. if not db_item:
  35. raise Exception('该数据不存在')
  36. return db_item
  37. def delete_data_management(db: Session, d_id: int):
  38. dm_item = db.query(models.DataManagement).filter(models.DataManagement.id == d_id).first()
  39. if not dm_item:
  40. raise Exception("Data management not found")
  41. db.delete(dm_item)
  42. db.commit()
  43. db.flush()
  44. return dm_item