| 95 | |
| 96 | |
| 97 | def create_user(usn, pwd, user_id=None, is_admin=True) -> bool: |
| 98 | with Session(engine) as session: |
| 99 | statement = select(User).where(User.username_lower == usn.lower()) |
| 100 | result = session.exec(statement).all() |
| 101 | if result: |
| 102 | print(f'User "{usn}" already exists') |
| 103 | return False |
| 104 | |
| 105 | else: |
| 106 | hashed_password = hashlib.sha256(pwd.encode()).hexdigest() |
| 107 | user = User( |
| 108 | id=user_id, |
| 109 | username=usn, |
| 110 | username_lower=usn.lower(), |
| 111 | password=hashed_password, |
| 112 | admin=is_admin, |
| 113 | ) |
| 114 | session.add(user) |
| 115 | session.commit() |
| 116 | |
| 117 | return True |
| 118 | |
| 119 | |
| 120 | class UserManagement(BasePage): |