-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuser_model.py
More file actions
22 lines (15 loc) · 796 Bytes
/
user_model.py
File metadata and controls
22 lines (15 loc) · 796 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from db.base import Base
from sqlalchemy.orm import relationship
from sqlalchemy import Column, Integer, String, Boolean, ForeignKey
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
username = Column(String(50), unique=True, nullable=True)
email = Column(String(100), unique=True, nullable=False)
department_id = Column(Integer, ForeignKey('groups.id'), nullable=True)
department = relationship('Group', back_populates='users')
is_active = Column(Boolean, default=False)
is_admin = Column(Boolean, default=False)
password_hash = Column(String, nullable=False)
refresh_tokens = relationship('RefreshToken', back_populates='user')
reset_tokens = relationship('ResetToken', back_populates='user')