Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 

64 Zeilen
1.8 KiB

  1. from sqlalchemy.orm import Session
  2. from schemas.auction import CreateAuction
  3. from db.models.auction import Auction
  4. from db.repository.user import get_user_by_id
  5. from db.repository.vehicle import get_vehicle_by_id
  6. def get_all_auctions(db: Session):
  7. auctions = db.query(Auction).all()
  8. for auction in auctions:
  9. auction.car = auction.vehicle
  10. return auctions
  11. def get_auction_by_id(id: int, db: Session):
  12. auction = db.query(Auction).filter(Auction.Id == id).first()
  13. if not auction:
  14. return None
  15. auction.car = auction.vehicle
  16. return auction
  17. def create_new_auction(auction: CreateAuction, createId: int, db: Session):
  18. vehicle = get_vehicle_by_id(auction.carId, db)
  19. if vehicle is None:
  20. return "novehicle"
  21. auction_object = Auction(
  22. initialPrice=auction.initialPrice,
  23. minimalBet=auction.minimalBet,
  24. carID=auction.carId,
  25. creatorId=createId,
  26. dateStart=auction.dateStart,
  27. dateEnd=auction.dateEnd,
  28. )
  29. db.add(auction_object)
  30. db.commit()
  31. db.refresh(auction_object)
  32. return auction_object
  33. def delete_auction_by_id(id: int, db: Session):
  34. auction = db.query(Auction).filter(Auction.Id == id).first()
  35. if not auction:
  36. return "noauction"
  37. db.delete(auction)
  38. db.commit()
  39. return auction
  40. def edit_auction_by_id(id: int, auction: CreateAuction, db: Session):
  41. auction_db = db.query(Auction).filter(Auction.Id == id)
  42. auction_object = auction_db.first()
  43. if not auction_object:
  44. return "noauction"
  45. auction_object.initialPrice = auction.initialPrice
  46. auction_object.minimalBet = auction.minimalBet
  47. auction_object.carID = auction.carId
  48. auction_object.dateStart = auction.dateStart
  49. auction_object.dateEnd = auction.dateEnd
  50. db.add(auction_object)
  51. db.commit()
  52. db.refresh(auction_object)
  53. return auction_object