コード例 #1
0
class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(255))
    pwhash = db.Column(db.String(300))
    rol = db.Column(Enum(RolUser))

    @property
    def is_authenticated(self):
        return True
    
    @property
    def is_active(self):
        return True
    
    @property
    def is_anonymous(self):
        return False
    
    def get_id(self):
        return str(self.id)

    def __init__(self, username, pwhash, rol = RolUser.regular):
        self.username = username
        self.rol = rol
        self.pwhash = generate_password_hash(pwhash)
    
    def __repr__(self):
        return '<User %r' % (self.name)

    def check_password(self, password):
        return check_password_hash(self.pwhash, password)
コード例 #2
0
class Role(db.Model, RoleMixin):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(80), unique=True)
    description = db.Column(db.String(255))

    def __str__(self):
        return self.name
コード例 #3
0
class Location(db.Model):
    id=db.Column(db.Integer,primary_key=True)
    name=db.Column(db.String(20)) 
    address=db.Column(db.String(50))

    def __repr__(self):
        return "{} {}".format(self.name, self.address)
コード例 #4
0
ファイル: models.py プロジェクト: shayan-saif/flaskblog
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(64), unique=True, nullable=False)
    image_file = db.Column(db.String(20), nullable=False, default='default.jpg')
    password = db.Column(db.String(60), nullable=False)
    posts = db.relationship('Post', backref='author', lazy=True)
    
    
    def get_reset_token(self, expires_sec=1800):
        s = Serializer(current_app.config['SECRET_KEY'], expires_sec)
        return s.dumps({'user_id': self.id}).decode('utf-8')
    
    
    def __repr__(self):
        return f"User('{self.username}', '{self.email}', '{self.image_file}')"
    
    
    @staticmethod
    def verify_reset_token(token):
        s = Serializer(current_app.config['SECRET_KEY'])
        try:
            user_id = s.loads(token)['user_id']
        except:
            return None
        
        return User.query.get(user_id)
コード例 #5
0
ファイル: login.py プロジェクト: garethmoores/mddb
class Role(db.Model, RoleMixin):

    __tablename__ = "roles"

    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(80), unique=True)
    description = db.Column(db.String(255))
コード例 #6
0
ファイル: models.py プロジェクト: kkiillee55/GameForum
class Platform(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20), nullable=False, unique=True)
    games = db.relationship('Game', secondary='game_platform')

    def __repr__(self):
        return self.name
コード例 #7
0
ファイル: modals.py プロジェクト: theopaid/Twitter-Clone
class Retweet(db.Model):
    id = db.Column(db.Integer,primary_key=True)
    tweet_id = db.Column(db.Integer,db.ForeignKey('post.id'))
    user_id = db.Column(db.Integer,db.ForeignKey('user_mgmt.id'),nullable=False)
    retweet_stamp = db.Column(db.String(20),nullable=False)
    retweet_text = db.Column(db.String(500),nullable=False)

    timeline = db.relationship('Timeline',backref='from_retweet',lazy=True)
コード例 #8
0
ファイル: models.py プロジェクト: Nimal-G-V/Microblog
class Posts(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(200))
    time_stamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey("users.id"))

    def __repr__(self):
        return f"<id : { self.id }>\n<content: { self.content }>\n<time stamp : { self.time_stamp }>"
コード例 #9
0
class Reservation(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    seat_id = db.Column(db.Integer, db.ForeignKey('seat.id'), nullable = False)
    showing_id = db.Column(db.Integer, db.ForeignKey('showing.id'), nullable = False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable = False)

    def __repr__(self):
        return str(self.id)
コード例 #10
0
class User(CommonModelMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    password = db.Column(db.String(255), unique=True, nullable=False)
    nickname = db.Column(db.String(80), unique=True, nullable=False)

    # 提供给增删改使用
    db = db
コード例 #11
0
ファイル: models.py プロジェクト: shayan-saif/flaskblog
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    content = db.Column(db.Text, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    
    def __repr__(self):
        return f"Post('{self.title}', '{self.date_posted}')"
コード例 #12
0
ファイル: models.py プロジェクト: kkiillee55/GameForum
class Comment(db.Model):
    __tablename__ = 'comment'
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'), nullable=False)
    comment_uuid = db.Column(db.String(100), nullable=False)
    comment_parent_uuid = db.Column(db.String(100), nullable=False)

    def __repr__(self):
        return f'{self.author.first_name+" "+self.author.last_name}, {self.post.title}, {self.comment_uuid}, {self.comment_parent_uuid}'
コード例 #13
0
class Seat(db.Model):
    id=db.Column(db.Integer,primary_key=True)
    number= db.Column(db.String(5), nullable=False)
    theater_id = db.Column(db.Integer, db.ForeignKey('theater.id'), nullable=False)
    theater = db.relationship('Theater', back_populates='seats')
    #user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    #user = db.relationship('User', back_populates='reservations')

    def __repr__(self):
        return self.number
コード例 #14
0
class Post(db.Model):
    id = db.Column(db.Integer,primary_key=True)
    tweet = db.Column(db.String(500),nullable=False)
    stamp = db.Column(db.String(20),nullable=False)
    post_img = db.Column(db.String(20))
    user_id = db.Column(db.Integer,db.ForeignKey('user_mgmt.id'),nullable=False)

    retweets = db.relationship('Retweet',backref='ori_post',lazy=True)
    timeline = db.relationship('Timeline',backref='from_post',lazy=True)
    bookmark = db.relationship('Bookmark',backref='saved_post',lazy=True)
コード例 #15
0
class Showing(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    time = db.Column(db.String(10), nullable=False)
    movie_id = db.Column(db.Integer, db.ForeignKey('movie.id'), nullable=False)
    movie = db.relationship('Movie', backref=db.backref('showing', lazy=True))
    theater_id = db.Column(db.Integer, db.ForeignKey('theater.id'), nullable=False)
    theater = db.relationship('Theater', backref=db.backref('showing', lazy=True))

    def __repr__(self):
        return "{} {} in Theater {}".format(self.time, self.movie, self.theater_id)
コード例 #16
0
ファイル: simulations.py プロジェクト: garethmoores/mddb
class SimFile(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    filename = db.Column(db.String(255))
    simulation = db.Column(db.Integer, db.ForeignKey('simulation.id'))
    simulation_relationship = db.relationship('Simulation', 
            backref=db.backref('files', lazy='dynamic'))

    def __init__(self, filename, simulation):
        self.filename = filename
        self.simulation = simulation.id
コード例 #17
0
class Theater(db.Model):
    id=db.Column(db.Integer,primary_key=True)
    rowNumber=db.Column(db.Integer) #for configurable theater sizes
    rowSize=db.Column(db.Integer)   #for configurable theater sizes
    location_id = db.Column(db.Integer, db.ForeignKey('location.id'), nullable=False)
    location = db.relationship('Location', backref=db.backref('theater', lazy=True))
    seats = db.relationship('Seat', back_populates='theater', lazy=True)


    def __repr__(self):
        return "{}x{} Theater. id: {}".format(self.rowNumber, self.rowSize, self.id)
コード例 #18
0
class Category(db.Model):
    __tablename__ = 'categories'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255))
    products = db.relationship('Product', backref='category', lazy='select')

    def __init__(self, name):
        self.name = name

    def __repr__(self):
        return '<Category %r' % (self.name)
コード例 #19
0
class Product(db.Model):
    __tablename__ = 'products'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255))
    price = db.Column(db.Float)

    def __init__(self, name, price):
        self.name = name
        self.price = price

    def __repr__(self):
        return '<Product %r' % (self.name)
コード例 #20
0
class Movie(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), unique=True, nullable=False)
    genre_id = db.Column(db.Integer, db.ForeignKey('genre.id'), nullable=False)
    genre = db.relationship('Genre', backref=db.backref('movie', lazy=True))
    cast = db.relationship('Actor',
                           secondary=movies_actors_association,
                           lazy=True,
                           backref=db.backref('movies', lazy=True))

    def __repr__(self):
        return self.title
コード例 #21
0
ファイル: simulations.py プロジェクト: garethmoores/mddb
class Simulation(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    owner = db.Column(db.Integer, db.ForeignKey('users.id'))
    owner_relationship = db.relationship('User', 
            backref=db.backref('simulations', lazy='dynamic'))
    
    parent = db.Column(db.Integer,
            db.ForeignKey('simulation.id'), nullable=True)

    # protein name *
    protein = db.Column(db.String(500))
    # force field *
    force_field = db.Column(db.String(500))
    # engine *
    engine = db.Column(db.String(255))
    # title *
    title = db.Column(db.String(255), unique=True)
    # date *
    date = db.Column(db.DateTime)

    def __init__(self, owner, title, engine, force_field, protein, parent=None):
        self.date = datetime.utcnow()
        self.owner = owner
        self.title = title
        self.engine = engine
        self.force_field = force_field
        self.protein = protein
        if parent is not None:
            self.parent = parent
コード例 #22
0
ファイル: models.py プロジェクト: Nimal-G-V/Microblog
class Users(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(50), unique=True, index=True)
    email = db.Column(db.String(100), unique=True, index=True)
    password_hash = db.Column(db.String(200))
    posts = db.relationship("Posts", backref="author", lazy="dynamic")

    def __repr__(self):
        return f"<id : { self.id }>\n<username : { self.username }>\n<email : { self.email }>"

    def set_password(self, password):
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password_hash, password)
コード例 #23
0
ファイル: models.py プロジェクト: kkiillee55/GameForum
class Game(db.Model):
    __tablename__ = 'game'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(50), nullable=False, unique=True)
    release_date = db.Column(db.DateTime, nullable=False)
    posts = db.relationship('Post',
                            backref='game',
                            lazy=True,
                            cascade="all,delete-orphan")
    followers = db.relationship('User', secondary='user_game')

    platforms = db.relationship('Platform', secondary='game_platform')

    def __repr__(self):
        return f'{self.title}-{self.release_date}'
コード例 #24
0
class Product(db.Model):
    __tablename__ = 'products'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255))
    price = db.Column(db.Float)
    category_id = db.Column(db.Integer,
                            db.ForeignKey('categories.id'),
                            nullable=False)

    def __init__(self, name, price, category_id):
        self.name = name
        self.price = price
        self.category_id = category_id

    def __repr__(self):
        return '<Product %r' % (self.name)
コード例 #25
0
ファイル: modals.py プロジェクト: theopaid/Twitter-Clone
class User_mgmt(UserMixin, db.Model):
    id = db.Column(db.Integer,primary_key=True)
    username = db.Column(db.String(15),nullable=False,unique=True)
    email = db.Column(db.String(50),nullable=False,unique=True)
    password = db.Column(db.String(80),nullable=False)
    image_file = db.Column(db.String(20),nullable=False,default='default.jpg')
    bg_file = db.Column(db.String(20),nullable=False,default='default_bg.jpg')
    bio = db.Column(db.String(200))
    date = db.Column(db.String(20))
    bday = db.Column(db.String(10))

    posts = db.relationship('Post',backref='author',lazy=True)
    retwitted = db.relationship('Retweet',backref='retwitter',lazy=True)
コード例 #26
0
ファイル: models.py プロジェクト: kkiillee55/GameForum
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(50), nullable=False)
    last_name = db.Column(db.String(50), nullable=False)
    email = db.Column(db.String(120), nullable=False, unique=True)
    password = db.Column(db.String(200), nullable=False)
    status = db.Column(db.String(10), nullable=False, default='PENDING')
    is_admin = db.Column(db.Boolean, nullable=False, default=True)
    date_created = db.Column(db.DateTime,
                             nullable=False,
                             default=datetime.utcnow())
    address = db.Column(db.String(100), nullable=False, default='Earth')
    posts = db.relationship('Post',
                            backref='author',
                            lazy=True,
                            cascade="all,delete-orphan")
    comments = db.relationship('Comment',
                               backref='author',
                               lazy=True,
                               cascade="all,delete-orphan")
    following_games = db.relationship('Game', secondary='user_game')

    def generate_token(self, expire_min=30):
        return jwt.encode(
            {
                'user_id': self.id,
                'first_name': self.first_name,
                'last_name': self.last_name,
                'email': self.email,
                'exp': datetime.utcnow() + timedelta(minutes=expire_min)
            }, application.config['SECRET_KEY']).decode('utf-8')

    @staticmethod
    def verify_token(token):
        try:
            data = jwt.decode(token, application.config['SECRET_KEY'])
            return data
        except jwt.ExpiredSignatureError:
            return None

    def __repr__(self):
        return f'{self.first_name} {self.last_name}, {self.email}'
コード例 #27
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(255))
    last_name = db.Column(db.String(255))
    email = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255))
    active = db.Column(db.Boolean())
    confirmed_at = db.Column(db.DateTime())
    roles = db.relationship('Role',
                            secondary=roles_users,
                            backref=db.backref('users', lazy='dynamic'))
    #reservations = db.relationship('Seat',back_populates='user', lazy=True)

    @classmethod
    def find_by_username(cls, username):
        return cls.query.filter_by(email=username).first()

    def __str__(self):
        return self.email
コード例 #28
0
ファイル: login.py プロジェクト: garethmoores/mddb
class User(db.Model, UserMixin):

    __tablename__ = "users"

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255))
    email = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255))
    active = db.Column(db.Boolean())
    confirmed_at = db.Column(db.DateTime())
    roles = db.relationship('Role',
                            secondary=roles_users,
                            backref=db.backref('users', lazy='dynamic'))

    def __str__(self):
        return '<User id=%s email=%s>' % (self.id, self.email)
コード例 #29
0
ファイル: models.py プロジェクト: kkiillee55/GameForum
class Post(db.Model):
    __tablename__ = 'post'
    id = db.Column(db.Integer, primary_key=True)
    date_posted = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow())
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    game_id = db.Column(db.Integer, db.ForeignKey('game.id'), nullable=False)
    comments = db.relationship('Comment',
                               backref='post',
                               lazy=True,
                               cascade="all,delete-orphan")

    def __repr__(self):
        return f'{self.title}, {self.author.first_name+" "+self.author.last_name}'
コード例 #30
0
ファイル: models.py プロジェクト: mannpro-05/Log-Analyser-2
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    image_file = db.Column(db.String(20),
                           nullable=False,
                           default='default.jpg')
    password = db.Column(db.String(60), nullable=False)
    admin = db.Column(db.Boolean, nullable=False, default=0)

    def get_reset_token(self, expires_secs=1800):
        s = Serializer(app.config['SECRET_KEY'], expires_secs)
        return s.dumps({'user_id': self.id}).decode('utf-8')

    @staticmethod
    def get_file_download_token(fileName, expires_secs=1800):
        s = Serializer(app.config['SECRET_KEY'], expires_secs)
        return s.dumps({'file_name': fileName}).decode('utf-8')

    @staticmethod
    def verify_reset_token(token):
        s = Serializer(app.config['SECRET_KEY'])
        try:
            user_id = s.loads(token)['user_id']
        except:
            return None
        return User.query.get(user_id)

    @staticmethod
    def get_download_file(token):
        s = Serializer(app.config['SECRET_KEY'])
        try:
            fileName = s.loads(token)['file_name']
        except:
            return None
        return fileName

    def __repr__(self):
        return f"User('{self.username}', '{self.email}', '{self.image_file}')"