Coverage for app \ models.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-02-24 13:18 +0530

1from flask_sqlalchemy import SQLAlchemy 

2from werkzeug.security import generate_password_hash, check_password_hash 

3 

4# Initialize db here so both app.py and routes can use it 

5db = SQLAlchemy() 

6 

7class User(db.Model): 

8 __tablename__ = "users" 

9 id = db.Column(db.Integer, primary_key=True) 

10 username = db.Column(db.String(100), unique=True, nullable=False) 

11 password_hash = db.Column(db.Text, nullable=False) 

12 role = db.Column(db.String(50), default="patient") 

13 

14 def set_password(self, password): 

15 self.password_hash = generate_password_hash(password) 

16 

17 def check_password(self, password): 

18 return check_password_hash(self.password_hash, password)