slot_snapshot_service.py 687 B

123456789101112131415
  1. # app/services/slot_snapshot_service.py
  2. from sqlalchemy.orm import Session
  3. from app.models.slot_snapshot import VasSlotSnapshot
  4. from app.schemas.slot_snapshot import SlotSnapshotCreate
  5. from datetime import datetime
  6. class SlotSnapshotService:
  7. def __init__(self, db: Session): self.db = db
  8. def create(self, data: SlotSnapshotCreate):
  9. rec = VasSlotSnapshot(**data.dict())
  10. self.db.add(rec); self.db.commit(); self.db.refresh(rec); return rec
  11. def latest_for(self, country:str, city:str, visa_type:str):
  12. return self.db.query(VasSlotSnapshot).filter_by(country=country, city=city, visa_type=visa_type).order_by(VasSlotSnapshot.snapshot_at.desc()).first()