finish for init core
This commit is contained in:
28
fuware/repos/repository_users.py
Normal file
28
fuware/repos/repository_users.py
Normal file
@ -0,0 +1,28 @@
|
||||
from fuware.core.security.hasher import get_hasher
|
||||
from fuware.db.models.users.users import User
|
||||
from fuware.schemas import UserCreate
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
|
||||
class RepositoryUsers:
|
||||
def __init__(self):
|
||||
self.user = User()
|
||||
|
||||
def get_all(self, skip: int = 0, limit: int = 100):
|
||||
return self.user.query.offset(skip).limit(limit).all()
|
||||
|
||||
def get_by_username(self, username: str):
|
||||
return self.user.query.filter_by(username=username).first()
|
||||
|
||||
def create(self, db: Session, user: UserCreate):
|
||||
try:
|
||||
hasher = get_hasher()
|
||||
db_user = User(username=user.username, password=hasher.hash(user.password), name=user.name)
|
||||
db.add(db_user)
|
||||
db.commit()
|
||||
except Exception:
|
||||
db.rollback()
|
||||
raise
|
||||
|
||||
db.refresh(db_user)
|
||||
return db_user
|
Reference in New Issue
Block a user