Skip to content
Snippets Groups Projects
Select Git revision
  • 1e95c4243ce2a585aaef051d3500c42060be7eae
  • master default
  • add-challenge
  • add-chall
4 results

user.py

Blame
  • Forked from Hodor Security Project / Hodor Web Backend
    Source project has a limited visibility.
    user.py 1.06 KiB
    # -*- coding: utf-8 -*-
    
    from hodor import db
    
    class User(db.Model):
        __tablename__ = 'users'
    
        # Values entered by the user
        username = db.Column(db.String(32), primary_key=True)
        first_name = db.Column(db.String(32), nullable=False)
        last_name = db.Column(db.String(32), nullable=False)
        email = db.Column(db.String(64), unique=True, nullable=False)
        password = db.Column(db.String(64), nullable=False)
    
        # Platform values
        disabled = db.Column(db.Boolean, default=False)
        verified_account = db.Column(db.Boolean, default=False)
        verification_code = db.Column(db.String(32), nullable=False)
    
        def __unicode__(self):
            return unicode(self.username)
    
        def __init__(self, name):
            """initialize with name."""
            self.name = name
    
        def save(self):
            db.session.add(self)
            db.session.commit()
    
        @staticmethod
        def get_all():
            return User.query.all()
    
        def delete(self):
            db.session.delete(self)
            db.session.commit()
    
        def __repr__(self):
            return "<User: {}>".format(self.name)