class User(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.VARCHAR(256), index=True, unique=True) email = db.Column(db.VARCHAR(256), index=True, unique=True) password = db.Column(db.VARCHAR(256)) session_token = db.Column(db.VARCHAR(256)) active = db.Column(db.BOOLEAN(), default=1) first_login = db.Column(db.BOOLEAN(), default=1) admin = db.Column(db.BOOLEAN(), default=0) cards = db.relationship('Card', secondary='user_card_lookup', lazy='dynamic') preferences = db.relationship('UserPreference', backref='user', lazy='dynamic') def __repr__(self): return '<User {}>'.format(self.username) def get_id(self): return str(self.session_token) def set_session_token(self): self.session_token = login_serializer.dumps( [self.username, self.password, self.active]) def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password)
class SignupBonus(db.Model): id = db.Column(db.Integer, primary_key=True) card_id = db.Column(db.Integer, db.ForeignKey('card.id')) days_for_spend = db.Column(db.Integer) minimum_spend = db.Column(db.Integer) annual_fee = db.Column(db.Integer) annual_fee_waived = db.Column(db.BOOLEAN(), default=0) bonus_points = db.Column(db.Integer) from_date = db.Column(db.DATETIME, default=datetime.datetime(1, 1, 1, 0, 0, 0)) to_date = db.Column(db.DATETIME, default=datetime.datetime(9999, 12, 31, 23, 59, 59)) active = db.Column(db.BOOLEAN(), default=1) ulu = db.Column(db.VARCHAR(50))
class User(db.Model, ModelMixin, flask_login.UserMixin): # SQL Table # Create attributes (SQL columns) id = db.Column(db.Integer(), primary_key=True) # By default autoincremented name = db.Column(db.String(64), nullable=False) email=db.Column(db.String(64)) # ADDED TO DB _password_hash = db.Column(db.String(256)) is_admin=db.Column(db.BOOLEAN(),default=False) #new_book=db.relationship('books',backref="new_users") new_books = db.relationship('books', secondary=Orders, backref="User") @classmethod def login_user(cls, name, pwd): user = cls.query.filter_by(name=name).first() print(user) if user and user.check_password(pwd): flask_login.login_user(user) return user return False @hybrid_property def password(self): return self._password_hash @password.setter def password(self, pwd): self._password_hash = werkzeug.security.generate_password_hash(pwd) def check_password(self, pwd): return werkzeug.security.check_password_hash(self._password_hash, pwd) def __repr__(self): return f"<User {self.id}-{self.name}>"
class User(db.Model, UserMixin): ADMIN = 'admin' STUDENT = 'student' TEACHER = 'teacher' __tablename__ = 'users' mysql_character_set = 'utf8' id = db.Column(db.Integer, primary_key=True) first_name = db.Column(db.VARCHAR(150)) last_name = db.Column(db.VARCHAR(150)) email = db.Column(db.VARCHAR(255), unique=True) username = db.Column(db.VARCHAR(255), unique=True) password = db.Column(db.VARCHAR(255)) role = db.Column(db.Enum(TEACHER, STUDENT, ADMIN)) is_active = db.Column(db.BOOLEAN(), default=True) token = db.Column(db.VARCHAR(255), nullable=True) last_selected_room = db.Column(db.Integer(), db.ForeignKey('rooms.id'), nullable=True) messages = db.relationship('Message', backref='author', lazy='dynamic') group_id = db.Column(db.Integer, db.ForeignKey('groups.id')) group = db.relationship('Group') @property def plain_password(self): return None @plain_password.setter def plain_password(self, password): if password: self.password = generate_password_hash(password),
class SpendingCategory(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.VARCHAR(255), unique=True) active = db.Column(db.BOOLEAN(), default=1) ulu = db.Column(db.VARCHAR(50)) cards = db.relationship('Card', backref='spending_category', secondary='spending_category_lookup')
class PointsProgram(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.VARCHAR(256), unique=True) active = db.Column(db.BOOLEAN(), default=1) ulu = db.Column(db.VARCHAR(50)) cards = db.relationship('Card', backref='points_program', lazy='dynamic') reward_programs = db.relationship('RewardProgram', backref='points_program', secondary='reward_program_lookup', lazy="dynamic")
class RewardProgram(db.Model): id = db.Column(db.Integer, primary_key=True) category_name = db.Column(db.VARCHAR(255)) program_name = db.Column(db.VARCHAR(256), unique=True) company_name = db.Column(db.VARCHAR(255)) redeem_value = db.Column(db.Float) active = db.Column(db.BOOLEAN(), default=1) ulu = db.Column(db.VARCHAR(50)) points_programs = db.relationship('PointsProgram', backref='reward_program', secondary='reward_program_lookup')
class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), index=True, unique=True) email = db.Column(db.String(120), index=True, unique=True) hash = db.Column(db.String(1024)) salt = db.Column(db.String(16)) createddate = db.Column(db.DATETIME()) lastlogindate = db.Column(db.DATETIME()) active = db.Column(db.BOOLEAN()) def __repr__(self): return '<User %r>' % (self.id)
class Computers(Device): __tablename__ = 'computers' __maper_args__ = {'polymorphic_identity': 'computers'} id = db.Column(db.Integer, ForeignKey('device.id'), primary_key=True) computer_name = db.Column(db.String(64)) brand = db.Column(db.String(64)) model = db.Column(db.String(64)) serial = db.Column(db.String(128)) computer_type = db.Column(db.String(64)) operating_system = db.Column(db.String(64)) notes = db.Column(db.String(512)) retired = db.Column(db.BOOLEAN()) disposed = db.Column(db.BOOLEAN()) disposed_date = db.Column(db.Date) aquired_date = db.Column(db.Date) purchase_price = db.Column(db.Integer) vendor_id = db.Column(db.String(64)) warranty_length = db.Column(db.Integer) employee_id = db.Column(db.Integer) history = db.Column(db.String(255)) assigned_to = db.Column(db.Integer, ForeignKey('employee.id')) def __init__(self, computer_name, brand, model, serial, computer_type, operating_system, notes, aquired_date, purchase_price, vendor_id, warranty_length, assigned_to): self.computer_name = computer_name self.brand = brand self.model = model self.serial = serial self.computer_type = computer_type self.operating_system = operating_system self.notes = notes self.aquired_date = aquired_date self.purchase_price = purchase_price self.vendor_id = vendor_id self.warranty_length = warranty_length self.assigned_to = assigned_to
class UserPreference(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) active = db.Column(db.BOOLEAN, default=1) from_date = db.Column(db.DATETIME, default=datetime.datetime(1, 1, 1, 0, 0, 0)) to_date = db.Column(db.DATETIME, default=datetime.datetime(9999, 12, 31, 23, 59, 59)) own_company = db.Column(db.BOOLEAN(), default=0) reward_category_1 = db.Column(db.VARCHAR(50)) reward_company_1 = db.Column(db.VARCHAR(50)) reward_category_2 = db.Column(db.VARCHAR(50)) reward_company_2 = db.Column(db.VARCHAR(50)) reward_category_3 = db.Column(db.VARCHAR(50)) reward_company_3 = db.Column(db.VARCHAR(50))
class UserCardLookup(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) card_id = db.Column(db.Integer, db.ForeignKey('card.id')) active_date = db.Column(db.DATETIME, default=datetime.datetime.now()) expiration_date = db.Column(db.DATETIME) cancel_date = db.Column(db.DATETIME) active = db.Column(db.BOOLEAN(), default=1) status = db.Column(db.VARCHAR(10), default='active') users = db.relationship('User', backref=db.backref('user_cards', cascade='all, delete-orphan')) cards = db.relationship('Card', backref=db.backref('card_users', cascade='all, delete-orphan'))
class SpendingCategoryLookup(db.Model): id = db.Column(db.Integer, primary_key=True) card_id = db.Column(db.Integer, db.ForeignKey('card.id')) spending_category_id = db.Column(db.Integer, db.ForeignKey('spending_category.id')) company_name = db.Column(db.VARCHAR(255), default="All") earning_percent = db.Column(db.Float) active = db.Column(db.BOOLEAN(), default=1) ulu = db.Column(db.VARCHAR(50)) cards = db.relationship('Card', backref=db.backref('card_spending_categories', cascade='all, delete-orphan')) spending_categories = db.relationship('SpendingCategory', backref=db.backref( 'spending_category_cards', cascade='all, delete-orphan'))
class RewardProgramLookup(db.Model): id = db.Column(db.Integer, primary_key=True) points_program_id = db.Column(db.Integer, db.ForeignKey('points_program.id')) reward_program_id = db.Column(db.Integer, db.ForeignKey('reward_program.id')) active = db.Column(db.BOOLEAN(), default=1) ulu = db.Column(db.VARCHAR(50)) programs = db.relationship('PointsProgram', backref=db.backref( 'points_program_reward_programs', cascade='all, delete-orphan')) reward_programs = db.relationship('RewardProgram', backref=db.backref( 'reward_program_points_programs', cascade='all, delete-orphan'))
class Employee(db.Model): __tablename__ = 'employee' id = db.Column(db.Integer, unique=True, primary_key=True) name = db.Column(db.String(255)) create_ts = db.Column(db.DateTime) skill_level = db.Column(db.Integer) email_address = db.Column(db.String(128)) trade = db.Column(db.String(128)) inactive = db.Column(db.BOOLEAN(), default=False, nullable=False) def __init__(self, name, skill_level, email_address, trade): self.name = name self.create_ts = datetime.datetime.now() self.skill_level = skill_level self.email_address = email_address self.trade = trade
class Card(db.Model): id = db.Column(db.Integer, primary_key=True) points_program_id = db.Column(db.Integer, db.ForeignKey('points_program.id')) company_id = db.Column(db.Integer, db.ForeignKey('company.id')) name = db.Column(db.VARCHAR(256)) card_type = db.Column(db.VARCHAR(15)) apply_link_url = db.Column(db.TEXT) terms_link_url = db.Column(db.TEXT) image_file = db.Column(db.TEXT) active = db.Column(db.BOOLEAN(), default=1) ulu = db.Column(db.VARCHAR(50)) users = db.relationship('User', backref='card', secondary='user_card_lookup') signup_bonuses = db.relationship('SignupBonus', backref='card', lazy='dynamic') spending_categories = db.relationship('SpendingCategory', backref='card', secondary='spending_category_lookup', lazy='dynamic')
class Company(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.VARCHAR(256), unique=True) active = db.Column(db.BOOLEAN(), default=1) ulu = db.Column(db.VARCHAR(50)) cards = db.relationship('Card', backref='company', lazy='dynamic')