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

чиним билд01

This commit is contained in:
MoonTestUse1
2025-01-02 01:36:43 +06:00
parent 9895a34590
commit 6ff4ca1ab1
2 changed files with 21 additions and 7 deletions

View File

@@ -2,9 +2,8 @@
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from ..database import get_db
from ..crud import auth as auth_crud
from ..schemas.auth import AdminLogin, EmployeeLogin
from ..models.employee import Employee
from ..schemas.auth import AdminLogin, EmployeeLogin
from passlib.context import CryptContext
router = APIRouter()
@@ -17,18 +16,24 @@ def admin_login(login_data: AdminLogin, db: Session = Depends(get_db)):
return {"access_token": "admin_token"}
raise HTTPException(status_code=401, detail="Invalid credentials")
@router.post("/employee")
@router.post("/login")
def employee_login(login_data: EmployeeLogin, db: Session = Depends(get_db)):
"""Employee login endpoint"""
# Ищем сотрудника по фамилии
employee = db.query(Employee).filter(Employee.last_name == login_data.last_name).first()
if not employee:
raise HTTPException(status_code=401, detail="Сотрудник не найден")
raise HTTPException(
status_code=401,
detail="Сотрудник с такой фамилией не найден"
)
# Проверяем пароль
if not pwd_context.verify(login_data.password, employee.password):
raise HTTPException(status_code=401, detail="Неверный пароль")
raise HTTPException(
status_code=401,
detail="Неверный пароль"
)
# Возвращаем данные сотрудника
return {
@@ -36,5 +41,6 @@ def employee_login(login_data: EmployeeLogin, db: Session = Depends(get_db)):
"first_name": employee.first_name,
"last_name": employee.last_name,
"department": employee.department,
"office": employee.office
"office": employee.office,
"access_token": f"employee_token_{employee.id}" # Добавляем токен для авторизации
}