from fastapi import APIRouter, Depends
from app.api.display_racking_create.schemas import DisplayRackingUnitCreate
from app.api.display_racking_create.service import DisplayRackingUnitService
from app.database.main.mysql import get_db
from app.dependency.authantication import JWTPayloadSchema, get_current_student
from sqlalchemy.orm import Session

display_racking_unit_router = APIRouter()

@display_racking_unit_router.post("/display-racking-unit", response_model_exclude_none=True)
async def create_display_racking_unit(request: DisplayRackingUnitCreate,db: Session = Depends(get_db),token: JWTPayloadSchema = Depends(get_current_student),):
    return await DisplayRackingUnitService(db, token).create_display_racking_unit(request)

@display_racking_unit_router.get("/display-racking-unit/{group_id}", response_model_exclude_none=True)
async def get_civil_entry(group_id: int,db: Session = Depends(get_db),token: JWTPayloadSchema = Depends(get_current_student)):
    return await DisplayRackingUnitService(db, token).get_racking_by_group_id(group_id)

@display_racking_unit_router.get("/subdisplay-racking-unit/total/{group_id}")
def subtotal(group_id: int, db: Session = Depends(get_db),token: JWTPayloadSchema = Depends(get_current_student)):
    return DisplayRackingUnitService(db, token).get_subtotal_by_store_format(group_id)