| | |
| | | from datetime import datetime |
| | | |
| | | from cryptography.fernet import Fernet |
| | | from sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime |
| | | from sqlalchemy.orm import relationship, backref |
| | | |
| | | from app.config.config import settings |
| | | from app.models.base_model import Base |
| | | |
| | | user_organization_table = Table('user_organization',Base.metadata |
| | |
| | | user_group_table = Table('user_group', Base.metadata |
| | | , Column('user_id', Integer, ForeignKey('user.id', ondelete='CASCADE')) |
| | | , Column('group_id', Integer, ForeignKey('group.id', ondelete='CASCADE'))) |
| | | |
| | | cipher_suite = Fernet(settings.PASSWORD_KEY.encode("utf-8")) |
| | | |
| | | |
| | | class UserModel(Base): |
| | |
| | | id = Column(Integer, primary_key=True, index=True) |
| | | username = Column(String(255), unique=True, index=True) |
| | | hashed_password = Column(String(255)) |
| | | password = Column(String(255)) |
| | | compellation = Column(String(255), nullable=False, default="") |
| | | phone = Column(String(255), nullable=False, default="") |
| | | email = Column(String(255), nullable=False, default="") |
| | |
| | | status = Column(String(10), nullable=False, default="1") |
| | | creator = Column(String(36)) |
| | | sex = Column(String(1)) |
| | | permission = Column(String(16), nullable=False, default="1") |
| | | permission = Column(String(16), nullable=False, default="general") |
| | | age = Column(Integer) |
| | | created_at = Column(DateTime, default=datetime.now()) |
| | | updated_at = Column(DateTime, default=datetime.now(), onupdate=datetime.now()) |
| | |
| | | user_id_list = [user.ID for user in users] |
| | | for user in users: |
| | | user_id_list.extend(user.get_children()) |
| | | return user_id_list |
| | | return user_id_list |
| | | |
| | | |
| | | def encrypted_password(self, password): |
| | | return cipher_suite.encrypt(password.encode("utf-8")).decode("utf-8") |
| | | |
| | | def decrypted_password(self): |
| | | return cipher_suite.decrypt(self.password).decode("utf-8") |