File size: 602 Bytes
08215dd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from models.db import get_session
from models.user import User
from passlib.context import CryptContext

pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")

class UserRepo:
    def __init__(self, db_url): pass  # uses global engine

    def get_all_users(self):
        with get_session() as s:
            return s.query(User).all()

    def add_user(self, username, full_name, password):
        hashed = pwd_context.hash(password)
        user = User(username=username, full_name=full_name, hashed_password=hashed)
        with get_session() as s:
            s.add(user); s.commit()