Skip to content
Snippets Groups Projects
Select Git revision
  • 4de5d732cde86a6f4387703b1a2c20ea3158f0db
  • main default
2 results

infos.py

Blame
  • user avatar
    Antoine Gaudron-desjardins authored
    4de5d732
    History
    infos.py 1.56 KiB
    from fastapi import APIRouter, Depends
    from sqlalchemy.orm import Session
    from typing import List
    
    from db import schemas, crud
    from db.database import get_db
    
    
    router = APIRouter(prefix="/api", tags=["timetable"])
    
    
    # Manage opening hours
    
    @router.get('/{place}/opening_hours', response_model=List[schemas.OpeningHours])
    async def get_opening_hours(place: str, db: Session = Depends(get_db)):
        return crud.get_opening_hours(place, db)
    
    
    @router.post('/opening_hours', response_model=schemas.OpeningHours)
    async def create_opening_hours(opening_hours: schemas.OpeningHoursBase, db: Session = Depends(get_db)):
        return crud.create_opening_hours(opening_hours, db)
    
    
    @router.delete('/opening_hours/{id}', response_model=None)
    async def delete_opening_hours(id: int, db: Session = Depends(get_db)):
        return crud.delete_opening_hours(id, db)
    
    
    # Manage exceptional closure
    
    @router.get('/{place}/closure', response_model=List[schemas.Closure])
    async def get_closure(place: str, db: Session = Depends(get_db)):
        return crud.get_closure(place, db)
    
    
    @router.post('/closure', response_model=schemas.Closure)
    async def create_closure(closure: schemas.Closure, db: Session = Depends(get_db)):
        return crud.create_closure(closure, db)
    
    
    @router.delete('/closure/{id}', response_model=None)
    async def delete_closure(id: int, db: Session = Depends(get_db)):
        return crud.delete_closure(id, db)
    
    
    # Render restaurants infos
    
    @router.get('/restaurants', response_model=List[schemas.Restaurant])
    async def get_restaurants(db: Session = Depends(get_db)):
        return crud.get_restaurants(db)