dummy_api / va_hr_lmd /api /router.py
jonathanjordan21's picture
Update va_hr_lmd/api/router.py
a51aa59 verified
Raw
History Blame Contribute Delete
2.18 kB
from fastapi import APIRouter
from uuid import uuid4
from datetime import datetime
from ..models.request_models import (
LeaveRequest,
PermitRequest,
PresenceRequest
)
from ..data.dummy_data import (
employee_db,
leave_db,
permit_db,
presence_db
)
router = APIRouter()
def find_employee(employee_id: str):
for emp in employee_db:
if emp["employee_id"] == employee_id:
return emp
return None
@router.get("/employee")
def get_employee_by_id(employee_id: str):
employee = find_employee(employee_id)
if not employee:
return {}
# raise HTTPException(
# status_code=404,
# detail="Employee not found"
# )
remaining_leave = (
employee["annual_leave_quota"]
- employee["annual_leave_used"]
)
return {
**employee,
"remaining_leave": remaining_leave
}
# =========================
# LEAVE
# =========================
@router.get("/leave")
def get_leave():
return leave_db
@router.post("/leave")
def create_leave(data: LeaveRequest):
item = {
"id": str(uuid4()),
**data.dict(),
"created_at": datetime.now()
}
leave_db.append(item)
return {
"message": "Leave created successfully",
"data": item
}
# =========================
# PERMIT
# =========================
@router.get("/permit")
def get_permit():
return permit_db
@router.post("/permit")
def create_permit(data: PermitRequest):
item = {
"id": str(uuid4()),
**data.dict(),
"created_at": datetime.now()
}
permit_db.append(item)
return {
"message": "Permit created successfully",
"data": item
}
# =========================
# PRESENCE
# =========================
@router.get("/presence")
def get_presence():
return presence_db
@router.post("/presence")
def create_presence(data: PresenceRequest):
item = {
"id": str(uuid4()),
**data.dict(),
"created_at": datetime.now()
}
presence_db.append(item)
return {
"message": "Presence created successfully",
"data": item
}