Coverage for app \ models.py: 100%
13 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-02-24 13:18 +0530
« 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
4# Initialize db here so both app.py and routes can use it
5db = SQLAlchemy()
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")
14 def set_password(self, password):
15 self.password_hash = generate_password_hash(password)
17 def check_password(self, password):
18 return check_password_hash(self.password_hash, password)