add personal

This commit is contained in:
aurinex
2025-07-12 01:47:29 +05:00
parent 81d71e60f5
commit 821741a9f8
4 changed files with 213 additions and 1 deletions

49
crud.py
View File

@ -1,5 +1,5 @@
from sqlalchemy.orm import Session
from models import Car, EngineType, HybridType, PowerRatio
from models import Car, EngineType, HybridType, PowerRatio, Personal
import schemas
from typing import List, Optional
@ -72,3 +72,50 @@ def delete_car(db: Session, car_id: int) -> bool:
db.delete(db_car)
db.commit()
return True
# Персонал ---------
def get_personal(db: Session, personal_id: int) -> Optional[Personal]:
return db.query(Personal).filter(Personal.id == personal_id).first()
def get_all_personal(db: Session, skip: int = 0, limit: int = 100) -> List[Personal]:
return db.query(Personal).offset(skip).limit(limit).all()
def get_personal_count(db: Session) -> int:
return db.query(Personal).count()
def create_personal(db: Session, personal: schemas.PersonalCreate) -> Personal:
db_personal = Personal(
name=personal.name,
surname=personal.surname,
role=personal.role,
photo=personal.photo
)
db.add(db_personal)
db.commit()
db.refresh(db_personal)
return db_personal
def update_personal(db: Session, personal_id: int, personal_update: schemas.PersonalUpdate) -> Optional[Personal]:
db_personal = get_personal(db, personal_id)
if not db_personal:
return None
update_data = personal_update.model_dump(exclude_unset=True)
# Обновление полей
for key, value in update_data.items():
setattr(db_personal, key, value)
db.commit()
db.refresh(db_personal)
return db_personal
def delete_personal(db: Session, personal_id: int) -> bool:
db_personal = get_personal(db, personal_id)
if not db_personal:
return False
db.delete(db_personal)
db.commit()
return True