Add vue-router, login/setup flow and backend logging
Refactor frontend to route-based navigation with vue-router, add system setup and login pages with API integration. Add structured logging, access-log middleware and startup lifecycle to FastAPI backend.
This commit is contained in:
@@ -1,20 +1,34 @@
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.core.logging import get_logger
|
||||
from app.models.employee import Employee
|
||||
from app.repositories.employee import EmployeeRepository
|
||||
from app.schemas.employee import EmployeeCreate
|
||||
|
||||
logger = get_logger("app.services.employee")
|
||||
|
||||
|
||||
class EmployeeService:
|
||||
def __init__(self, db: Session) -> None:
|
||||
self.repository = EmployeeRepository(db)
|
||||
|
||||
def list_employees(self) -> list[Employee]:
|
||||
return self.repository.list()
|
||||
employees = self.repository.list()
|
||||
logger.info("Listed employees (count=%d)", len(employees))
|
||||
return employees
|
||||
|
||||
def get_employee(self, employee_id: str) -> Employee | None:
|
||||
return self.repository.get(employee_id)
|
||||
employee = self.repository.get(employee_id)
|
||||
if employee:
|
||||
logger.info("Fetched employee id=%s name=%s", employee_id, employee.name)
|
||||
else:
|
||||
logger.warning("Employee not found id=%s", employee_id)
|
||||
return employee
|
||||
|
||||
def create_employee(self, payload: EmployeeCreate) -> Employee:
|
||||
employee = Employee(**payload.model_dump())
|
||||
return self.repository.create(employee)
|
||||
created = self.repository.create(employee)
|
||||
logger.info(
|
||||
"Created employee id=%s no=%s name=%s", created.id, created.employee_no, created.name
|
||||
)
|
||||
return created
|
||||
|
||||
Reference in New Issue
Block a user