1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00

починка маршрутов22

This commit is contained in:
MoonTestUse1
2025-01-04 04:47:03 +06:00
parent de67872ca8
commit 71c1114a84
2 changed files with 11 additions and 0 deletions

View File

@@ -2,11 +2,15 @@
from fastapi import APIRouter, Depends, HTTPException, status from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from typing import List from typing import List
import logging
from ..database import get_db from ..database import get_db
from ..crud import employees from ..crud import employees
from ..schemas.employee import Employee, EmployeeCreate, EmployeeUpdate from ..schemas.employee import Employee, EmployeeCreate, EmployeeUpdate
from ..utils.auth import get_current_admin, get_password_hash from ..utils.auth import get_current_admin, get_password_hash
# Настройка логирования
logger = logging.getLogger(__name__)
router = APIRouter() router = APIRouter()
@router.post("/", response_model=Employee) @router.post("/", response_model=Employee)
@@ -16,6 +20,7 @@ def create_employee(
_: dict = Depends(get_current_admin) _: dict = Depends(get_current_admin)
): ):
"""Create new employee""" """Create new employee"""
logger.info(f"Creating employee: {employee}")
hashed_password = get_password_hash(employee.password) hashed_password = get_password_hash(employee.password)
return employees.create_employee(db, employee, hashed_password) return employees.create_employee(db, employee, hashed_password)
@@ -27,6 +32,7 @@ def get_employees(
_: dict = Depends(get_current_admin) _: dict = Depends(get_current_admin)
): ):
"""Get all employees""" """Get all employees"""
logger.info("Getting all employees")
return employees.get_employees(db, skip=skip, limit=limit) return employees.get_employees(db, skip=skip, limit=limit)
@router.get("/{employee_id}/", response_model=Employee) @router.get("/{employee_id}/", response_model=Employee)
@@ -36,6 +42,7 @@ def get_employee(
_: dict = Depends(get_current_admin) _: dict = Depends(get_current_admin)
): ):
"""Get employee by ID""" """Get employee by ID"""
logger.info(f"Getting employee by ID: {employee_id}")
db_employee = employees.get_employee(db, employee_id) db_employee = employees.get_employee(db, employee_id)
if db_employee is None: if db_employee is None:
raise HTTPException(status_code=404, detail="Employee not found") raise HTTPException(status_code=404, detail="Employee not found")
@@ -49,6 +56,7 @@ def update_employee(
_: dict = Depends(get_current_admin) _: dict = Depends(get_current_admin)
): ):
"""Update employee data""" """Update employee data"""
logger.info(f"Updating employee {employee_id}: {employee}")
db_employee = employees.update_employee(db, employee_id, employee) db_employee = employees.update_employee(db, employee_id, employee)
if db_employee is None: if db_employee is None:
raise HTTPException(status_code=404, detail="Employee not found") raise HTTPException(status_code=404, detail="Employee not found")
@@ -61,6 +69,7 @@ def delete_employee(
_: dict = Depends(get_current_admin) _: dict = Depends(get_current_admin)
): ):
"""Delete employee""" """Delete employee"""
logger.info(f"Deleting employee: {employee_id}")
db_employee = employees.delete_employee(db, employee_id) db_employee = employees.delete_employee(db, employee_id)
if db_employee is None: if db_employee is None:
raise HTTPException(status_code=404, detail="Employee not found") raise HTTPException(status_code=404, detail="Employee not found")

View File

@@ -1,5 +1,6 @@
"""Employee schemas""" """Employee schemas"""
from pydantic import BaseModel, ConfigDict from pydantic import BaseModel, ConfigDict
from datetime import datetime
class EmployeeBase(BaseModel): class EmployeeBase(BaseModel):
first_name: str first_name: str
@@ -17,5 +18,6 @@ class EmployeeUpdate(EmployeeBase):
class Employee(EmployeeBase): class Employee(EmployeeBase):
id: int id: int
created_at: datetime
model_config = ConfigDict(from_attributes=True) model_config = ConfigDict(from_attributes=True)