from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from typing import List from app.config.database import get_db from app.controllers.prodi import ProdiController from app.schemas.prodi import ( ProdiCreate, ProdiUpdate, ProdiResponse, ) router = APIRouter( tags=["Prodi"] ) @router.get("/", response_model=List[ProdiResponse]) def get_all_prodi(db: Session = Depends(get_db)): return ProdiController.get_all(db) @router.get("/{prodi_id}", response_model=ProdiResponse) def get_prodi(prodi_id: int, db: Session = Depends(get_db)): return ProdiController.get_by_id(db, prodi_id) @router.post("/", response_model=ProdiResponse, status_code=201) def create_prodi( prodi: ProdiCreate, db: Session = Depends(get_db) ): return ProdiController.create(db, prodi) @router.put("/{prodi_id}", response_model=ProdiResponse) def update_prodi( prodi_id: int, prodi: ProdiUpdate, db: Session = Depends(get_db) ): return ProdiController.update(db, prodi_id, prodi) @router.delete("/{prodi_id}") def delete_prodi( prodi_id: int, db: Session = Depends(get_db) ): ProdiController.delete(db, prodi_id) return {"message": "Data prodi berhasil dihapus"}