예제 #1
0
class Workout(db.Model):
    __table__ = db.Table('Workout', db.metadata, autoload=True,
                         autoload_with=db.engine)
    
    def __init__(self):
        self.WorkoutSessionID = None
        self.WorkoutDescription = None

    def add_workout(self, workout):
        self.WorkoutSessionID = workout['workoutSessionID']
        self.WorkoutDescription = workout['workoutDescription']
        db.session.add(self)
        db.session.commit()
        return json.dumps(True)

    @staticmethod
    def get_user_workouts(user_id):
        user_workouts = db.session.query(Workout.WorkoutID,
                                         Workout.WorkoutSessionID,
                                         Workout.WorkoutDescription,
                                         Workout.RequestCoachEndorsementDT,
                                         Workout.CoachEndorsementDT,
                                         Workout.EndorsedByUserID).join(
            WorkoutSession).filter(
            WorkoutSession.UserID == user_id).all()
        return jsonify([r._asdict() for r in user_workouts])
예제 #2
0
class HeartRates(db.Model):
    __table__ = db.Table('HeartRates', db.metadata, autoload=True,
                         autoload_with=db.engine)

    def __init__(self):
        self.BPM = None
        self.HeartRateTypeID = None
        self.UserID = None
        self.CreateDT = None

    def add_heart_rate(self, hr, user_id):
        self.BPM = hr['heartRateValue']
        self.HeartRateTypeID = hr['heartRateType']
        self.UserID = user_id
        self.CreateDT = datetime.utcnow()
        db.session.add(self)
        db.session.commit()
        return json.dumps(True)

    @staticmethod
    def get_user_heart_rates(user_id):
        user_heart_rates = db.session.query(HeartRates.HeartRateID,
                                            LKHeartRateType.HeartRateTypeDescription,
                                            HeartRates.BPM,
                                            HeartRates.CreateDT).join(
            LKHeartRateType).filter(
            HeartRates.UserID == user_id).order_by(
            HeartRates.CreateDT.desc()).all()
        return jsonify([r._asdict() for r in user_heart_rates])
예제 #3
0
    def make_association_table(fk1, fk2, index=False):
        """Create an association table basing on names of two given foreign keys.

        From keys: `site.id` and `kinase.id` a table named: site_kinase_association
        will be created and it will contain two columns: `site_id` and `kinase_id`.

        The foreign keys can be provided as models properties, e.g. Model.id,
        or as SQL strings, e.g. 'model.id'.
        """
        if not isinstance(fk1, str):
            fk1 = f'{fk1.table}.{fk1.name}'
        if not isinstance(fk2, str):
            fk2 = f'{fk2.table}.{fk2.name}'

        fk1_table = fk1.split('.')[0]
        fk2_table = fk2.split('.')[0]

        table_name = f'{fk1_table}_{fk2_table}_association'

        col1 = fk1.replace('.', '_')
        col2 = fk2.replace('.', '_')

        table_args = [
            table_name,
            db.metadata,
            db.Column(col1, db.Integer, db.ForeignKey(fk1,
                                                      ondelete='cascade')),
            db.Column(col2, db.Integer, db.ForeignKey(fk2,
                                                      ondelete='cascade')),
        ]

        if index:
            table_args.append(db.Index(f'idx_{col1}_{col2}', col1, col2))

        return db.Table(*table_args, info={'bind_key': bind})
예제 #4
0
class LKUserType(db.Model):
    __table__ = db.Table('LKUserType', db.metadata, autoload=True,
                         autoload_with=db.engine)

    @staticmethod
    def get_user_types():
        user_types = db.session.query.order_by(LKUserType.UserTypeID)
        return user_types
예제 #5
0
class Users(db.Model):
    __table__ = db.Table('Users', db.metadata, autoload=True,
                         autoload_with=db.engine)

    def __init__(self):
        """init method to declare variables used in Users class.
        """
        self.UserTypeID = None
        self.FirstName = None
        self.LastName = None
        self.Email = None
        self.Salt = None
        self.Password = None

    def add_user(self, new_user):
        """Create a new user in the database.  
        new_user is a JSON object pulled in from the front end.
        """
        self.UserTypeID = new_user['userTypeID']
        self.FirstName = new_user['firstName']
        self.LastName = new_user['lastName']
        self.Email = new_user['email']
        password = new_user['password']
        self.Salt = create_salt()
        self.Password = hashlib.sha512(password + self.Salt).hexdigest()
        try:
            db.session.add(self)
            db.session.commit()
        except Exception as e:
            return_value = "Failed to add new user, please try again later"
            # logger.exception(e)
        else:
            return_value = "Success"
        return return_value

    # user being passed in here is user data from the form
    @staticmethod
    def get_user_id(user):
        # accessing the email of that user from form
        user_email = user['email']
        check_user = db.session.query(Users.UserID, Users.Salt,
                                      Users.Password).filter(
            Users.Email == user_email).first()
        if check_user is None:
            # when returning bools, change to json.dumps(bool)
            return json.dumps(False)

        hashed_pw = hashlib.sha512(user['password'] +
                                   check_user.Salt).hexdigest()
        if hashed_pw == check_user.Password:
            return check_user.UserID
        else:
            return json.dumps(False)
예제 #6
0
class LKWorkoutSessionType(db.Model):
    __table__ = db.Table('LKWorkoutSessionType', db.metadata, autoload=True,
                         autoload_with=db.engine)

    @staticmethod
    def get_workout_session_types_json(user_id=0):
        user_type = db.session.query(Users.UserTypeID).filter(Users.UserID ==
                                                              user_id).one()
        workout_session_types = db.session.query(
            LKWorkoutSessionType.WorkoutSessionTypeID,
            LKWorkoutSessionType.WorkoutSessionTypeDescription).filter(
             or_(LKWorkoutSessionType.UserType == user_type[0],
                 user_type[0] == 0, LKWorkoutSessionType.UserType == None)
             ).order_by(LKWorkoutSessionType.WorkoutSessionTypeID).all()
        return jsonify([r._asdict() for r in workout_session_types])
예제 #7
0
class WorkoutSession(db.Model):
    __table__ = db.Table('WorkoutSession', db.metadata, autoload=True,
                         autoload_with=db.engine)

    def __init__(self):
        self.WorkoutSessionTypeID = None
        self.UserID = None
        self.WorkoutSessionDescription = None
        self.CreateDT = None

    def add_workout_session(self, workout_session, user_id):
        self.WorkoutSessionTypeID = workout_session['workoutSessionTypeID']
        self.UserID = user_id
        self.WorkoutSessionDescription = workout_session[
            'workoutSessionDescription']
        self.CreateDT = datetime.utcnow()
        db.session.add(self)
        db.session.commit()
        return json.dumps(True)

    @staticmethod
    def get_user_workout_sessions(user_id):
        user_workout_sessions = db.session.query(
            WorkoutSession.WorkoutSessionID,
            WorkoutSession.WorkoutSessionTypeID,
            WorkoutSession.WorkoutSessionDescription,
            WorkoutSession.CreateDT,
            LKWorkoutSessionType.WorkoutSessionTypeDescription
        ).join(LKWorkoutSessionType).filter(WorkoutSession.UserID ==
                                          user_id).all()
        return jsonify([r._asdict() for r in user_workout_sessions])

    @staticmethod
    def check_user_workout_session(user_id, workout_session_id):
        user_workout_session = db.session.query(
            WorkoutSession.WorkoutSessionID).filter(WorkoutSession.UserID ==
                                                    user_id).filter(
            WorkoutSession.WorkoutSessionID == workout_session_id).all()
        if user_workout_session > 0:
            return_value = True
        else:
            return_value = False
        return return_value
예제 #8
0
class LKHeartRateType(db.Model):
    __table__ = db.Table('LKHeartRateType', db.metadata, autoload=True,
                         autoload_with=db.engine)

    @staticmethod
    def get_heart_rate_types_json():
        hr_types = db.session.query(LKHeartRateType.HeartRateTypeID,
                                    LKHeartRateType.HeartRateTypeDescription).order_by(
            LKHeartRateType.HeartRateTypeID).all()
        return jsonify([r._asdict() for r in hr_types])

    @staticmethod
    def add_heart_rate(hr, user_id):
        bpm = hr['heartRateValue']
        heart_rate_type_id = hr['heartRateType']
        heart_rate = HeartRates(HeartRateTypeID=heart_rate_type_id, BPM=bpm,
                               UserID=user_id, CreateDT=datetime.utcnow())
        db.session.add(heart_rate)
        db.session.commit()
        return json.dumps(True)
예제 #9
0
class Notes(db.Model):
    __table__ = db.Table('Notes', db.metadata, autoload=True,
                         autoload_with=db.engine)

    def __init__(self):
        self.NoteID = None
        self.SystemAreaTypeID = None
        self.SystemAreaID = None
        self.NoteContent = None
        self.CreatedByUserID = None
        self.ForUserID = None
        self.CreateDT = None

    def add_note(self, user_id, system_area_type_id, note_details):
        self.SystemAreaTypeID = system_area_type_id
        self.SystemAreaID = note_details['systemAreaID']
        self.CreatedByUserID = user_id
        if note_details['forUserID'] == 0:
            note_details['forUserID'] = user_id
        self.ForUserID = note_details['forUserID']
        self.CreateDT = datetime.utcnow()
        self.NoteContent = note_details['noteContent']
        db.session.add(self)
        db.session.commit()
        return json.dumps(True)

    @staticmethod
    def get_notes(user_id, system_area_type_id, system_area_id):
        notes = db.session.query(
            Notes.NoteID,
            Notes.SystemAreaTypeID,
            Notes.SystemAreaID,
            Notes.NoteContent,
            Notes.CreateDT,
            Users.FirstName,
            Users.LastName
        ).join(Users, Users.UserID == Notes.CreatedByUserID).filter(
            Notes.ForUserID == user_id).filter(Notes.SystemAreaTypeID ==
                                               system_area_type_id).filter(
            Notes.SystemAreaID == system_area_id).all()
        return jsonify([r._asdict() for r in notes])
예제 #10
0
    """
    Association class used to hold the positions of cells in a task
    """
    __tablename__ = 'nbgen_taskcells'
    task_id = db.Column(db.Integer,
                        db.ForeignKey('nbgen_tasks.id'),
                        primary_key=True)
    cell_id = db.Column(db.Integer,
                        db.ForeignKey('nbgen_cells.id'),
                        primary_key=True)
    position = db.Column(db.Integer)
    cell = db.relationship('Cell')


option_tasks = db.Table(
    'nbgen_task_association',
    db.Column('option_id', db.Integer, db.ForeignKey('nbgen_orderoptions.id')),
    db.Column('task_id', db.Integer, db.ForeignKey('nbgen_tasks.id')))

template_tasks = db.Table(
    'nbgen_template_tasks',
    db.Column('notebook_id', db.Integer,
              db.ForeignKey('nbgen_nbtemplates.id')),
    db.Column('task_id', db.Integer, db.ForeignKey('nbgen_tasks.id')))


class NotebookFile(db.Model):
    __tablename__ = 'nbgen_files'
    id = db.Column(db.Integer, primary_key=True)
    category = db.Column(db.Integer, nullable=False)
    filename = db.Column(db.Text, nullable=False)
    hash = db.Column(db.Text, nullable=False)
예제 #11
0
from uuid import uuid4
from sqlalchemy import func
from app.domains.providers import NullOrNoneValueException
from database import db
from app.domains.providers.emails.emails import Email
from app.domains.providers.cnpj_model.cnpj_model import CNPJModel
from app.domains.providers.telephone.telephone import Telephone

provider_category = db.Table(
    'provider_category',
    db.Column('provider_id',
              db.String(36),
              db.ForeignKey("provider.id"),
              primary_key=True),
    db.Column('category_id',
              db.String(36),
              db.ForeignKey("category.id"),
              primary_key=True),
)


class Provider(db.Model):
    __tablename__ = 'provider'

    id = db.Column(db.String(36),
                   primary_key=True,
                   default=lambda: str(uuid4()))
    name = db.Column(db.String(80))
    fantasy_name = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120))
    cnpj = db.Column(db.String(18), unique=True)
예제 #12
0
from database import db

tags_relations = db.Table(
    'tags_relations',
    db.Column('tag_id', db.Integer, db.ForeignKey('tag.id'), primary_key=True),
    db.Column('application_id',
              db.Integer,
              db.ForeignKey('application.id'),
              primary_key=True))
예제 #13
0
from database import db
from datetime import datetime

tags = db.Table(
    'tags',
    db.Column('tag_id', db.Integer, db.ForeignKey('tag.id'), primary_key=True),
    db.Column('post_id',
              db.Integer,
              db.ForeignKey('post.id'),
              primary_key=True))


class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(80), nullable=False)
    body = db.Column(db.Text, nullable=False)
    pub_date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    author = db.Column(db.String(80), nullable=False)
    tags = db.relationship('Tag',
                           secondary=tags,
                           lazy='subquery',
                           backref=db.backref('posts', lazy=True))

    category_id = db.Column(db.Integer,
                            db.ForeignKey('category.id'),
                            nullable=False)
    category = db.relationship('Category',
                               backref=db.backref('posts', lazy=True))

    def __init__(self, title, body, category, pub_date=None):
        self.title = title
예제 #14
0
class User(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  username = db.Column(db.String)
  analyses = db.relationship('Analysis',backref='owner',lazy='dynamic')

class Analysis(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  title = db.Column(db.String)
  runcondition_id = db.Column(db.Integer,db.ForeignKey('run_condition.id'))
  owner_id = db.Column(db.Integer,db.ForeignKey('user.id'))
  requests = db.relationship('Request',backref='analysis',lazy='dynamic')


subscriptions = db.Table('subscriptions',
                         db.Column('subscriber_id',db.Integer,db.ForeignKey('user.id')),
                         db.Column('reqeust_id',db.Integer,db.ForeignKey('request.id'))
                         )


class Request(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  title = db.Column(db.String)
  analysis_id = db.Column(db.Integer,db.ForeignKey('analysis.id'))
  responses = db.relationship('Response', backref='request', lazy = 'dynamic')
  parameter_points = db.relationship('ParameterPoint',backref = 'request',lazy='dynamic')
  subscribers = db.relationship('User',secondary=subscriptions)
  
  
class ParameterPoint(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  title = db.Column(db.String)
예제 #15
0
from database import db
from flask_login import UserMixin
from login.login_manager import login_manager

users_roles = db.Table('users_roles',
    db.Column('user_id', db.Integer(), db.ForeignKey('users.id')),
    db.Column('role_id', db.Integer(), db.ForeignKey('roles.id')))

class Role(db.Model):
    __tablename__ = 'roles'
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(80), unique=True)
    description = db.Column(db.String(255))

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

    def __repr__(self):
        return '<Role %r>' % self.id

    def save(self):
        db.session.add(self)
        db.session.commit()

class User(db.Model, UserMixin):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(255), unique=True)
    name = db.Column(db.String(255))
    jobTitle = db.Column(db.String(80))
예제 #16
0
                               nullable=False)
    data_source = db.relationship('DataSource', backref='data', lazy=True)
    data_range_id = db.Column(db.Integer, db.ForeignKey('data_range.id'))
    data_range = db.relationship('DataRange', backref='data', lazy=True)
    timestamp = db.Column(db.DateTime)
    value = db.Column(db.Text, nullable=False)

    def __repr__(self):
        return '<Data %r>' % self.id


data_source_dependencies = db.Table(
    'data_source_dependencies',
    db.Column('data_source_id',
              db.Integer,
              db.ForeignKey('data_source.id'),
              primary_key=True),
    db.Column('data_source_dependency_id',
              db.Integer,
              db.ForeignKey('data_source.id'),
              primary_key=True))


class DataSource(db.Model):
    __tablename__ = 'data_source'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    description = db.Column(db.Text, nullable=False)
    dependencies = db.relationship(
        'DataSource',
        secondary=data_source_dependencies,
        primaryjoin=id == data_source_dependencies.c.data_source_id,
예제 #17
0
        self.processor_id = None

    @property
    def approved(self):
        if self.result is None:
            return None
        else:
            return bool(self.result)

    @approved.setter
    def approved(self, result):
        self.result = int(result)

    def __repr__(self):
        return u'<Applicant id={0:d}, user={1!r}, reason={2}>'.format(
            self.id, self.user, self.reason)


LastRead = db.Table(
    'last_read',
    db.Column('user_id',
              db.Integer,
              db.ForeignKey('user.id'),
              primary_key=True),
    db.Column('thread_id',
              db.Integer,
              db.ForeignKey('thread.id'),
              primary_key=True),
    db.Column('post_number', db.Integer, db.ForeignKey('post.number')),
    db.Index('user_thread_index', 'user_id', 'thread_id'))
예제 #18
0
""" Models for session and user data. See users. module for user
progression.
"""

from database import db
from sqlalchemy import UniqueConstraint
from sqlalchemy.orm import validates

__all__ = ['Session', 'User']

user_sessions = db.Table(
    'user_sessions',
    db.Column('session_id', db.Integer, db.ForeignKey('session.id')),
    db.Column('user_id', db.Integer, db.ForeignKey('user.id')))


class Session(db.Model):
    __tablename__ = 'session'
    id = db.Column(db.Integer, primary_key=True)
    access_token = db.Column(db.String(64), unique=True)
    inet_addr = db.Column(db.Text)

    def __repr__(self):
        return "<Session %d / %s>" % (self.id, self.access_token)


class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True)
    # Username will probably just be an email
    username = db.Column(db.Text)
예제 #19
0
from werkzeug.security import check_password_hash, generate_password_hash

from database import db
from database.MainModel import MainModel

user_permission = db.Table(
    'user_permission',
    db.Column('user_id', db.Integer, db.ForeignKey(
        'user.id', ondelete='CASCADE'), comment='用户编号'),
    db.Column('permission_id', db.Integer, db.ForeignKey(
        'permission.id', ondelete='CASCADE'), comment='操作权限编号'),
    comment='用户操作权限',
)

user_role = db.Table(
    'user_role',
    db.Column('user_id', db.Integer, db.ForeignKey(
        'user.id', ondelete='CASCADE'), comment='用户编号'),
    db.Column('role_id', db.Integer, db.ForeignKey(
        'role.id', ondelete='CASCADE'), comment='角色编号'),
    comment='用户角色',
)


# 用户管理
class User(db.Model, MainModel):
    __tablename__ = 'user'
    __table_args__ = {'comment': '用户'}
    # __permission__ = {}
    username = db.Column(db.String(20), unique=True,
                         nullable=False, comment='用户名', )
예제 #20
0
from database import db
from sqlalchemy import ForeignKey
from sqlalchemy_utils.types.password import PasswordType
import datetime

tags = db.Table(
    'tags',
    db.Column('tag_id', db.Integer, db.ForeignKey('tag.id'), primary_key=True),
    db.Column('event_id',
              db.Integer,
              db.ForeignKey('event.id'),
              primary_key=True))

backers = db.Table(
    'backers', db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('event_id', db.Integer, db.ForeignKey('event.id')),
    db.Column('backed_amount', db.Float()))

watchers = db.Table(
    'watchers', db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('event_id', db.Integer, db.ForeignKey('event.id')))


class VotedTest(db.Model):
    __tablename__ = "votedtest"
    event_id = db.Column(db.Integer, ForeignKey('event.id'), primary_key=True)
    user_id = db.Column(db.Integer, ForeignKey('user.id'), primary_key=True)
    stars = db.Column(db.Integer())
    votes = db.relationship("Event", back_populates="votes")
    voted = db.relationship("User", back_populates="voted")
예제 #21
0
from database import db
from flask_security import UserMixin, RoleMixin, SQLAlchemyUserDatastore

roles_users = db.Table('roles_users',
                       db.Column('user_id', db.Integer(), db.ForeignKey('user.id')),
                       db.Column('role_id', db.Integer(), db.ForeignKey('role.id')))


class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    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'))
    last_login_at = db.Column(db.DateTime())
    current_login_at = db.Column(db.DateTime())
    last_login_ip = db.Column(db.String(255))
    current_login_ip = db.Column(db.String(255))
    login_count = db.Column(db.Integer)

    def __repr__(self):
        return '<models.User[email=%s]>' % self.email


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))
예제 #22
0
    id = db.Column('category',
                   db.Integer,
                   db.Sequence('categories_category_seq'),
                   primary_key=True,
                   server_default=db.FetchedValue())
    categoryname = db.Column(db.String(50), nullable=False)

    def __repr__(self):
        return self.categoryname


t_cust_hist = db.Table(
    'cust_hist',
    db.Column('customerid',
              db.ForeignKey('customers.customerid', ondelete='CASCADE'),
              nullable=False,
              index=True), db.Column('orderid', db.Integer, nullable=False),
    db.Column('prod_id', db.Integer, nullable=False))


class Customer(db.Model):
    __tablename__ = 'customers'

    id = db.Column('customerid',
                   db.Integer,
                   db.Sequence('customers_customerid_seq'),
                   primary_key=True,
                   server_default=db.FetchedValue())
    firstname = db.Column(db.String(50), nullable=False)
    lastname = db.Column(db.String(50), nullable=False)
예제 #23
0
파일: models.py 프로젝트: webvul/webfuzzer
class Role(db.Model):
    __tablename__ = 'roles'
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.Unicode(32), unique = True)
    description = db.Column(db.Text)

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

    def __repr__(self):
        return '<Role %r>' % self.name

user_roles = db.Table('user_roles',
    db.Column('role_id', db.Integer, db.ForeignKey('roles.id')),
    db.Column('user_id', db.String(32), db.ForeignKey('users.id'))
)

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.String(40), primary_key = True) # UUID
    email = db.Column(db.String(32), index=True, unique=True)
    name = db.Column(db.Unicode(64))
    password_hash = db.Column(db.String(128))
    roles = db.relationship('Role', secondary=user_roles,
        backref=db.backref('users', lazy='dynamic'))
    organization = db.Column(db.Unicode(128), nullable=True)
    scans = db.relationship("Scan", back_populates="user")
    domains = db.relationship("Domain", back_populates="user")
    num_domains = db.Column(db.Integer)
    num_scans = db.Column(db.Integer)
예제 #24
0
from database import db

# Stores skills for candidates
candidate_skills = db.Table(
    'candidate_skills',
    db.Column('candidate_id', db.Integer,
              db.ForeignKey('candidate.candidate_id')),
    db.Column('skill_id', db.Integer, db.ForeignKey('skill.skill_id')),
)

# Stores skills for jobs
job_skills = db.Table(
    'job_skills', db.Column('job_id', db.Integer, db.ForeignKey('job.job_id')),
    db.Column('skill_id', db.Integer, db.ForeignKey('skill.skill_id')))
예제 #25
0
                                       name='_morphophon_uc'), )

    def __repr__(self):
        attrs = [
            self.stem, self.wordclass, self.diphthong, self.gradation,
            self.rime, self.soggi
        ]

        S = unicode('/'.join([a for a in attrs if a.strip()])).encode('utf-8')
        return "<Morphophon: %s>" % S


# Many-To-Many intermediary table
""" This foreignkey relationship is for concepts and semantic types. """
concept_semtype = db.Table(
    'concept_semtype',
    db.Column('concept_id', db.Integer, db.ForeignKey('concept.id')),
    db.Column('semtype_id', db.Integer, db.ForeignKey('semtype.id')))

# Many-To-Many intermediary table
""" This foreignkey relationship is for concepts and sources. """
concept_source = db.Table(
    'concept_source',
    db.Column('concept_id', db.Integer, db.ForeignKey('concept.id')),
    db.Column('source_id', db.Integer, db.ForeignKey('source.id')))

# Many-To-Many intermediary table
concept_dialect = db.Table(
    'concept_dialect',
    db.Column('concept_id', db.Integer, db.ForeignKey('concept.id')),
    db.Column('dialect_id', db.Integer, db.ForeignKey('dialect.id')))
""" This relationship is at the heart of the concept-to-media
예제 #26
0
""" Testbed experiment-related functionality. """

from datetime import datetime
from enum import Enum

from database import db, DatabaseEnum

experimentHistory = db.Table(
    'experiment_history',
    db.Column('experiment_id', db.Integer, db.ForeignKey('experiment.id')),
    db.Column('node_id', db.Integer, db.ForeignKey('node.id')))


class Experiment(db.Model):
    """
    Represents a testbed experiment.
    """
    __table_args__ = {'sqlite_autoincrement': True}

    Status = Enum("Status", "PREPARING RUNNING FINISHED")

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(50))
    status = db.Column(DatabaseEnum(Status, *[e.name for e in Status]))
    overlay = db.Column(db.String(50))
    creationTime = db.Column(db.DateTime)
    startTime = db.Column(db.DateTime)
    finishTime = db.Column(db.DateTime)

    nodes = db.relationship("Node", secondary=experimentHistory, \
            backref=db.backref("experiments", lazy="dynamic"), lazy="dynamic")
from database import db

product_tag_link = db.Table(
    'product_tag_link',
    db.Column('product_id', db.Integer, db.ForeignKey('product.id')),
    db.Column('tag', db.Integer, db.ForeignKey('tag.value')))

app_tag_link = db.Table(
    'app_tag_link',
    db.Column('app_id', db.Integer, db.ForeignKey('application.id')),
    db.Column('tag', db.Integer, db.ForeignKey('tag.value')))
예제 #28
0
    def __init__(self, name=None):
        '''
        name - Team name
        '''
        self.name = name

    def to_json(self):
        return dict(type='teams', id=self.id, name=self.name)

    def __repr__(self):
        return '<Team {0}>'.format(self.name)


teams = db.Table('users_to_teams',
                 db.Column('user_id', db.Integer, db.ForeignKey('users.id')),
                 db.Column('team_id', db.Integer, db.ForeignKey('teams.id')))


class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(256), unique=True)
    name = db.Column(db.String(256))
    primary_team = db.Column(db.Integer,
                             db.ForeignKey('teams.id'),
                             nullable=True)
    contact_card = db.Column(db.Text())
    api_key = db.Column(db.String(256))

    # Not sure why I had this??
예제 #29
0
파일: tag.py 프로젝트: mehranj73/Bootcamp
from database import db

todo_item_tags = db.Table('todo_item_tags',
                          db.Column('id', db.Boolean),
                          db.Column('todo_item_id', db.Integer, db.ForeignKey('todo_item.id')),
                          db.Column('tag_id', db.Integer, db.ForeignKey('tag.id')),
                          )


class Tag(db.Model):
    __tablename__ = 'tag'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Unicode(255), nullable=False)
    todo_items = db.relationship('TodoItem', back_populates="tags", secondary=todo_item_tags)

    def serialize(self):
        return {
            'id': self.id,
            'name': self.name,
        }
예제 #30
0
from flask import Flask
from sqlalchemy import Table, Column, Integer, ForeignKey
from sqlalchemy.orm import relationship, backref
from flask.ext.sqlalchemy import *
import os

from database import db

# many to many associations
company_investors_association = db.Table(
    'company_investor_association',
    db.Column('company_id', db.Integer, db.ForeignKey('company.id')),
    db.Column('person_id', db.Integer, db.ForeignKey('person.id')))

company_tags_association = db.Table(
    'company_tags_association',
    db.Column('company_id', db.Integer, db.ForeignKey('company.id')),
    db.Column('tag_id', db.Integer, db.ForeignKey('tag.id')))

company_employees_association = db.Table(
    'company_employees_association',
    db.Column('company_id', db.Integer, db.ForeignKey('company.id')),
    db.Column('person_id', db.Integer, db.ForeignKey('person.id')))

company_milestones_association = db.Table(
    'company_milestones_association',
    db.Column('company_id', db.Integer, db.ForeignKey('company.id')),
    db.Column('miletstone_id', db.Integer, db.ForeignKey('milestone.id')))

company_competitors_association = db.Table(
    'company_competitors_association',