Beispiel #1
0
class RoleData(db.Model, Serializer):
    __tablename__ = 'role'
    id = db.Column('role_id', db.Integer, primary_key=True)
    name = db.Column('name', db.Unicode(255))
    description = db.Column('description', db.Unicode(255))
    timestamp = db.Column('timestamp',
                          db.TIMESTAMP,
                          server_default=db.func.current_timestamp(),
                          nullable=False)
    permissions = db.relationship('PermissionData',
                                  secondary=role_permission,
                                  lazy='dynamic',
                                  backref=db.backref('roles', lazy='dynamic'))
    journey_versions = db.relationship('JourneyVersionData',
                                       secondary=journey_version_role,
                                       lazy='dynamic',
                                       backref=db.backref('roles',
                                                          lazy='dynamic'))

    def __init__(self, args):
        for arg in args:
            setattr(self, arg, args[arg])

    def serialize(self):
        return {
            'id': self.id,
            'name': self.name,
            'description': self.description
        }
Beispiel #2
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_name = db.Column(db.Unicode(__VARCHAR_LEN__))
    password = db.Column(db.Unicode(__VARCHAR_LEN__))
    first_name = db.Column(db.Unicode(__VARCHAR_LEN__))
    last_name = db.Column(db.Unicode(__VARCHAR_LEN__))
    email = db.Column(db.Unicode(__VARCHAR_LEN__))
    company_id = db.Column(db.ForeignKey('company.id'))
    company = db.relationship(Company,
                              backref=db.backref('users', lazy='dynamic'))
Beispiel #3
0
class UserData(db.Model, Serializer):
    __tablename__ = "user"
    id = db.Column('user_id', db.Integer, primary_key=True)
    firstname = db.Column('firstname', db.String(50), nullable=False, server_default=u'')
    lastname = db.Column('lastname', db.String(50), server_default=u'')
    email = db.Column('email', db.Unicode(255), server_default=u'', nullable=False, unique=True)
    username = db.Column('username', db.Unicode(255), nullable=False, server_default=u'', unique=True)
    password = db.Column('password', db.Unicode(255), nullable=False, server_default='')
    created_at = db.Column('user_creationDate', db.TIMESTAMP, server_default=db.func.current_timestamp(), nullable=False)
    status = db.Column('status', db.String(10), nullable=False, server_default='active')
    role_id = db.Column(db.Integer, db.ForeignKey('role.role_id'))

    def __init__(self, args):
        for arg in args:
            setattr(self, arg, args[arg])
Beispiel #4
0
class Notification(db.Model):
    __tablename__ = 'Notification'
    notification_id = db.Column(UUID(as_uuid=True), default=uuid.uuid4, primary_key=True)
    sender_id = db.Column(UUID(as_uuid=True), db.ForeignKey('User.user_id'), nullable=False)
    receiver_id = db.Column(UUID(as_uuid=True), db.ForeignKey('User.user_id'), nullable=False)
    #event_id = db.Column(UUID(as_uuid=True), db.ForeignKey('Event.event_id'), nullable=False)
    created_at = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
    type = db.Column(db.Unicode(250))
    info = db.Column(db.Unicode(2500))
    read = db.Column(db.Boolean, default=False)
    
    sender = db.relationship('User', lazy=True, foreign_keys=[sender_id])
    receiver = db.relationship('User', lazy=True, foreign_keys=[receiver_id])

    '''def __init__(self, sender_id, receiver_id, event_id, type, info):
class Notification(db.Model):
    __tablename__ = 'Notification'
    notification_id = db.Column(db.Integer, primary_key=True)
    #sender_id = db.Column(db.Integer, db.ForeignKey('user.user_id'), nullable=False)
    #receiver_id = db.Column(db.Integer, db.ForeignKey('user.user_id'), nullable=False)
    #event_id = db.Column(db.Integer, db.ForeignKey('event.event_id'), nullable=False)
    sender_id = db.Column(db.Integer, nullable=False) # STUB
    receiver_id = db.Column(db.Integer, nullable=False) # STUB
    event_id = db.Column(db.Integer, nullable=False) # STUB
    created_at = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
    type = db.Column(db.Unicode(250))
    info = db.Column(db.Unicode(2500))

    def __init__(self, sender_id, receiver_id, event_id, type, info):
        self.sender_id = sender_id
        self.receiver_id = receiver_id
        self.event_id = event_id
        self.type = type
        self.info = info
Beispiel #6
0
class User(db.Model):
    __tablename__ = 'User'
    user_id = db.Column(UUID(as_uuid=True), default=uuid.uuid4, primary_key=True)
    email = db.Column(db.Unicode(254), unique=True, nullable=False)
    _password = db.Column('password', db.String(255), nullable=False)
    name = db.Column(db.Unicode(120), nullable=False)

    registered_events = db.relationship('Event', lazy=True)
    notifications_sent = db.relationship('Notification', lazy='dynamic', foreign_keys='Notification.sender_id')
    notifications_received = db.relationship('Notification', lazy='dynamic', foreign_keys='Notification.receiver_id')
    #registrations_sent = db.relationship('Registration', lazy='dynamic', foreign_keys='Registration.sender_id')
    registrations_received = db.relationship('Registration', lazy='dynamic', foreign_keys='Registration.register_id')
    roles = db.relationship('Role', lazy='dynamic')
    sessions = db.relationship('Session', lazy='dynamic')

    @classmethod
    def schema(cls):
        class Schema(SQLAlchemySchema):
            class Meta:
                model = User

            name = auto_field()
            roles = Nested(Role.schema(), many=True)

        if (not hasattr(cls, '_schema')): cls._schema = Schema()
        return cls._schema

    @property
    def password(self):
        return self._password

    @password.setter
    def password(self, password):
        self._password = ph.hash(password)

    def verify_password(self, password):
        try:
            return ph.verify(self._password, password)
        except (VerifyMismatchError):
            return False

    def dump(self):
        return User.schema().dump(self)
class PermissionData(db.Model, Serializer):
    __tablename__ = "permission"
    id = db.Column('permission_id', db.Integer, primary_key=True)
    name = db.Column('name', db.Unicode(255))
    description = db.Column('description', db.Unicode(255))
    short_name = db.Column('short_name', db.Unicode(255))
    timestamp = db.Column('timestamp',
                          db.TIMESTAMP,
                          server_default=db.func.current_timestamp(),
                          nullable=False)

    def __init__(self, args):
        for arg in args:
            setattr(self, arg, args[arg])

    def serialize(self):
        return {
            'id': self.id,
            'name': self.name,
            'short_name': self.short_name,
            'description': self.description
        }
Beispiel #8
0
class Sign(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    px = db.Column(db.Float)
    pz = db.Column(db.Float)
    ix = db.Column(db.Float)
    iy = db.Column(db.Float)
    iz = db.Column(db.Float)
    iry = db.Column(db.Float)
    iw = db.Column(db.Float)
    ih = db.Column(db.Float)
    cx = db.Column(db.Float)
    cz = db.Column(db.Float)
    crx = db.Column(db.Float)
    cry = db.Column(db.Float)
    img_url = db.Column(db.Unicode(__VARCHAR_LEN__))
    reports = db.Column(db.Unicode(__VARCHAR_LEN__))
    owner_id = db.Column(db.ForeignKey('user.id'))
    owner = db.relationship(User, backref=db.backref('signs', lazy='dynamic'))
    company_id = db.Column(db.ForeignKey('company.id'))
    company = db.relationship(Company,
                              backref=db.backref('signs', lazy='dynamic'))


#
# class Person(db.Model):
#     id = db.Column(db.Integer, primary_key=True)
#     name = db.Column(db.Unicode)
#     birth_date = db.Column(db.Date)
#
#
# class Article(db.Model):
#     id = db.Column(db.Integer, primary_key=True)
#     title = db.Column(db.Unicode)
#     published_at = db.Column(db.DateTime)
#     author_id = db.Column(db.Integer, db.ForeignKey('person.id'))
#     author = db.relationship(Person, backref=db.backref('articles',
#                                                         lazy='dynamic'))
Beispiel #9
0
class UserInstagram(db.Model):
    __tablename__ = 'users_instagram'
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.BigInteger(), nullable=False, unique=True)
    name = db.Column(db.Unicode(255),
                     nullable=False,
                     server_default=u'',
                     unique=False)
    follows = db.Column(db.Integer(), nullable=True, server_default=0)

    def to_dict(self):
        row = {}
        for c in self.__table__.columns:
            row[c.name] = getattr(self, c.name)
        return row

    @staticmethod
    def add_db(raw, image=None):
        obj = UserInstagram()
        for r in raw:
            if r not in ('id', ):
                if r in UserInstagram.__table__.columns:
                    setattr(obj, r, raw[r])

        db.session.add(obj)
        db.session.commit()
        return obj

    @staticmethod
    def get_by_user_id(user_id):
        obj = UserInstagram.query.filter_by(user_id=user_id).first()
        return obj

    @staticmethod
    def add_if_not_exists(raw):
        user = UserInstagram.get_by_user_id(raw['user_id'])
        if not user:
            user = UserInstagram.add_db(raw)
            return user, False
        return user, True
Beispiel #10
0
class Company(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    company_name = db.Column(db.Unicode(__VARCHAR_LEN__))