Spaces:
Sleeping
Sleeping
File size: 2,182 Bytes
dc65e63 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# fastapi_crud/app/crud.py
from sqlalchemy.orm import Session
from . import models, schemas
from passlib.context import CryptContext
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
# User CRUD operations
def get_user(db: Session, user_id: int):
return db.query(models.User).filter(models.User.id == user_id).first()
def get_user_by_username(db: Session, username: str):
return db.query(models.User).filter(models.User.username == username).first()
def create_user(db: Session, user: schemas.UserCreate):
hashed_password = pwd_context.hash(user.password)
db_user = models.User(username=user.username, hashed_password=hashed_password)
db.add(db_user)
db.commit()
db.refresh(db_user)
return db_user
# Device CRUD operations
def get_device(db: Session, device_id: int):
return db.query(models.Device).filter(models.Device.id == device_id).first()
def get_devices(db: Session, skip: int = 0, limit: int = 10):
return db.query(models.Device).offset(skip).limit(limit).all()
def create_device(db: Session, device: schemas.DeviceCreate):
db_device = models.Device(**device.dict())
db.add(db_device)
db.commit()
db.refresh(db_device)
return db_device
def update_device(db: Session, device_id: int, device: schemas.DeviceUpdate):
db_device = db.query(models.Device).filter(models.Device.id == device_id).first()
if db_device is None:
return None
for key, value in device.dict().items():
setattr(db_device, key, value)
db.commit()
db.refresh(db_device)
return db_device
def delete_device(db: Session, device_id: int):
db_device = db.query(models.Device).filter(models.Device.id == device_id).first()
if db_device is None:
return None
db.delete(db_device)
db.commit()
return db_device
def set_device_active(db: Session, device_id: int, active: bool):
db_device = db.query(models.Device).filter(models.Device.id == device_id).first()
if db_device is None:
return None
db_device.active = active
db.commit()
db.refresh(db_device)
return db_device
|