MedQA / services /auth.py
mgbam's picture
Update services/auth.py
2e92bef verified
raw
history blame
906 Bytes
1 import streamlit as st
2 from streamlit_authenticator import Authenticate
3 from config.settings import settings
4 from repositories.user_repo import UserRepo
+5 from models.db import init_db
+
+# 1) Initialize the database (create tables) before anything else
+6 init_db()
7 user_repo = UserRepo(settings.database_url)
8 def init_auth():
9 users = user_repo.get_all_users()
10 creds = {u.username: {"name": u.full_name, "password": u.hashed_password} for u in users}
11 return Authenticate(
12 credentials=creds,
13 cookie_name="quantum_healthcare_auth",
14 key=settings.secret_key,
15 cookie_expiry_days=1,
16 )
17
18 authenticator = init_auth()
19
20 def require_login():
21 name, authentication_status, username = authenticator.login("Login", "sidebar")
22 if not authentication_status:
23 st.stop()
24 return username