from ..models import users from ..dependencies import database from passlib.context import CryptContext from pydantic import EmailStr def add(username="", password="", roles="User", status=1, email="test@toto.com"): user_repository = users.UserRepository(database=database.database) pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto") result = user_repository.find_one_by({'username': username}) change = "added" user = users.User(username=username, password=pwd_context.hash(password), roles=roles, status=status, email=email) if result is not None: result.password=pwd_context.hash(password) result.roles=roles result.status=status result.email=email user = result change = "updated" user_repository.save(user) print("{0} {1}".format(username, change))