Beispiel #1
0
class Picture(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  # type 0: avatar 1 => linkinde url
  type = db.Column(db.Integer())
  picturable_id = db.Column(db.Integer())
  filename = db.Column(db.String(255))
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
  
  __table_args__ = (
    db.Index("idx_type_picturable_id", "type", "picturable_id"),
  )
  
  def __init__(self, type, picturable_id, filename):
    self.type = type
    self.picturable_id = picturable_id
    self.filename = filename
  
  @staticmethod
  def get_filename_with_user_id(user_id):
    picture = Picture.query.filter_by(type=0, picturable_id=user_id).order_by(Picture.id.desc()).first()
    if picture:
      return picture.filename
    return None
Beispiel #2
0
class Patient(db.Model):
    hcnumber = db.Column(db.String(14), primary_key=True)
    fname = db.Column(db.String(30), nullable=False)
    lname = db.Column(db.String(30), nullable=False)
    birthday = db.Column(db.DateTime(), nullable=False)
    gender = db.Column(db.String(1), nullable=False)
    phone = db.Column(db.String(10), nullable=False)
    email = db.Column(db.String(120), nullable=False)
    address = db.Column(db.String(120), nullable=False)
    password_hash = db.Column(db.String(100), nullable=False)
    lastAnnual = db.Column(db.DateTime(), nullable=True)

    def __repr__(self):
        return '<Patient %r %r>' % self.fname % self.lname

    # to iterate over a patient to retrieve specific attributes
    def __iter__(self):
        yield 'hcnumber', self.hcnumber
        yield 'fname', self.fname
        yield 'lname', self.lname
        yield 'birthday', self.birthday
        yield 'gender', self.gender
        yield 'phone', self.phone
        yield 'email', self.email
        yield 'address', self.address
        yield 'password_hash', self.password_hash
        yield 'lastAnnual', self.lastAnnual
Beispiel #3
0
class File(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  # 0 => s3 file
  type = db.Column(db.Integer())
  is_active = db.Column(db.Boolean(), default=True, index=True)
  foreign_id = db.Column(db.Integer(), nullable=False, index=True)
  # like report's item id and itme id
  item_id = db.Column(db.Integer(), nullable=False, index=True)
  filename = db.Column(db.String(255))
  # the raw name of upload
  raw_name = db.Column(db.String(255))
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
  
  __table_args__ = (
    db.Index("idx_foreign_id_item_id_type_is_active", "foreign_id", 'item_id', 'type', 'is_active'),
  )
  
  def __init__(self, type, foreign_id, item_id, filename, raw_name, is_active=True):
    self.type = type
    self.foreign_id = foreign_id
    self.item_id = item_id
    self.filename = filename
    self.is_active = is_active
    self.raw_name = raw_name
Beispiel #4
0
class Event(db.Model):
    """
    Model for Events platform

    Attributes:
    ---------------
    room_id : int
        room_id in db
    name : str
        name of the event in db
    location : str
        location of the event in db
    description: str
        event description in db
    start_time : str
        event start time
    end_time : str
        event end time
    """
    room_id = db.Column(db.Integer(),
                        ForeignKey('chatroom.room_id'),
                        primary_key=True)
    name = db.Column(db.String(45))
    location = db.Column(db.String(45))
    description = db.Column(db.String(255))
    start_time = db.Column(db.DateTime())
    end_time = db.Column(db.DateTime())

    def __init__(self, room_id, name, location, start_time, end_time,
                 description):
        """
        Initialize the model Event
        """
        self.room_id = room_id
        self.name = name
        self.location = location
        self.start_time = start_time
        self.end_time = end_time
        self.description = description

    def get_event_with_room_id(room_id):
        """
        Get function for event with room_id

        :return: return event with the room_id
        """
        return Event.query.filter_by(room_id=room_id).first()

    def delete_event_with_room_id(room_id):
        """
        Delete function for event with room_id
        """
        event = Event.get_event_with_room_id(room_id)
        if event:
            db.session.delete(event)
            db.session.commit()
Beispiel #5
0
class Zipcode(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  geoid = db.Column(db.String(255), index=True, unique=True)
  city_geoid = db.Column(db.String(255), db.ForeignKey('city.geoid',onupdate="SET NULL", ondelete="SET NULL"), index=True)
  lat = db.Column(db.Float())
  lng = db.Column(db.Float())
  properties = db.Column(JSON)
  
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
Beispiel #6
0
class County(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  name = db.Column(db.String(255), index=True)
  geoid = db.Column(db.String(255), index=True, unique=True)
  cbsa_geoid = db.Column(db.String(255), index=True)
  lat = db.Column(db.Float())
  lng = db.Column(db.Float())
  properties = db.Column(JSON)
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
Beispiel #7
0
class Administrator(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  user_id = db.Column(db.Integer(), db.ForeignKey("user.id", ondelete="CASCADE"),
                      nullable=False, index=True, unique=True)
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
  
  @staticmethod
  def is_user_admin(user_id):
    admin = Administrator.query.filter_by(user_id=user_id).first()
    return admin is not None
Beispiel #8
0
class State(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  geoid = db.Column(db.String(255), index=True, unique=True)
  name = db.Column(db.String(255))
  name_abbr = db.Column(db.String(255))
  lat = db.Column(db.Float())
  lng = db.Column(db.Float())
  properties = db.Column(JSON)
  cities = db.relationship('City', backref='state')
  
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
Beispiel #9
0
class City(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  geoid = db.Column(db.String(255), index=True, unique=True)
  area_geoid = db.Column(db.String(255), db.ForeignKey('area.geoid'), index=True)
  state_geoid = db.Column(db.String(255), db.ForeignKey('state.geoid'),index=True)
  zipcodes = db.relationship('Zipcode', backref='city')
  neighbors = db.relationship('Neighbor', backref='city_')
  name = db.Column(db.String(255), index=True)
  lat = db.Column(db.Float())
  lng = db.Column(db.Float())
  properties = db.Column(JSON)
  
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
Beispiel #10
0
class IpQuery(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  ip = db.Column(db.String(255), index=True)
  home_id = db.Column(db.String(255))
  source_name = db.Column(db.String(255))
  date = db.Column(db.Date())
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
  
  def __init__(self, ip, home_id, source_name, date):
    self.ip = ip
    self.home_id = home_id
    self.source_name = source_name
    self.date = date
Beispiel #11
0
class AppUser(db.Model):
    email = db.Column(db.String(255), primary_key=True)
    name = db.Column(db.String(255))
    first_name = db.Column(db.String(255))
    last_name = db.Column(db.String(255))
    picture_url = db.Column(db.String(500))
    count_logins = db.Column(db.Integer(), default=0)
    last_login = db.Column(db.DateTime())
    date_joined = db.Column(db.DateTime())

    def __init__(self, **kwargs):
        super(AppUser, self).__init__(**kwargs)

    def as_dict(self):
        return {c.name: getattr(self, c.name) for c in self.__table__.columns}
Beispiel #12
0
class Offer(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    asal = db.Column(db.String(255))
    tujuan = db.Column(db.String(255))
    fee = db.Column(db.Integer())
    time = db.Column(db.DateTime())
    passenger = db.Column(db.Integer)
    color = db.Column(db.Integer)

    @staticmethod
    def get_all_offers():
        offers = Offer.query.all()
        offers = {
            x.id: {
                'user_id': x.user_id,
                'asal': x.asal,
                'tujuan': x.tujuan,
                'fee': x.fee,
                'time': x.time,
                'passenger': x.passenger,
                'passengers': [y.id for y in x.passenger_list],
                'color': x.color
            }
            for x in offers
        }
        return offers
Beispiel #13
0
class User_info(db.Model):
    """
    Model for more specific user information


    Attributes
    ------------------
    user_id : int
        user id from db
    created_at :str
        created date and time from db
    phone : int
        user phone number from db

    """
    user_id = db.Column(db.Integer(), ForeignKey('user.id'), primary_key=True)
    created_at = db.Column(db.DateTime())
    phone = db.Column(db.Integer())

    def __init__(self, user_id, created_at, phone):
        """
        Initialize User_Info model
        """
        self.user_id = user_id
        self.created_at = created_at
        self.phone = phone
Beispiel #14
0
class User(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  name = db.Column(db.String(255), index=True, unique=True)
  rules = relationship("Rule", secondary=user_rule_association, back_populates="users")
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
  
  @staticmethod
  def get_user_with_name_or_id(id=None, name=None):
    if id:
      user = User.query.filter_by(id=id).first()
    elif name:
      user = User.query.filter_by(name=name).first()
    if user:
      return user
    else:
      return None
Beispiel #15
0
class CensusReport(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  type = db.Column(db.Integer())   # Refer utils.type.CENSUS_REPORT
  geoid = db.Column(db.String(255))
  census = db.Column(JSON)
  
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
  
  __table_args__ = (
    db.Index("idx_census_report", "type", 'geoid'),
  )
  
  def __init__(self, type, geoid, census):
    self.type = type
    self.geoid = geoid
    self.census = census
Beispiel #16
0
class Request(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    person_id = db.Column(db.Integer(),
                          db.ForeignKey('person.id'),
                          nullable=False)
    product_id = db.Column(db.Integer(),
                           db.ForeignKey('product.id'),
                           nullable=False)
    request_justfication = db.Column(db.Text())
    request_date = db.Column(db.DateTime())
Beispiel #17
0
class Album(db.Model):
    """A Photo Album"""

    __tablename__ = 'albums'

    album_id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(255), unique=True)
    description = db.Column(db.String(255))
    key_photo_id = db.Column(db.Integer(), db.ForeignKey('photos.photo_id'))
    created_at = db.Column(db.DateTime(timezone=True))
    edited_at = db.Column(db.DateTime(timezone=True))

    photos = db.relationship("Photo", backref="album")

    @classmethod
    def set_time(self):
        """Return current date time object."""

        return datetime.now()
Beispiel #18
0
class Area(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  geoid = db.Column(db.String(255), index=True, unique=True)
  cities = db.relationship('City', backref='area')
  name = db.Column(db.String(255), index=True)
  eng_name = db.Column(db.String(255), index=True)
  lat = db.Column(db.Float())
  lng = db.Column(db.Float())
  layer_type = db.Column(db.String(255), index=True)
  properties = db.Column(JSON())
  
  # for IRR
  property_tax = db.Column(db.Float())
  vaccancy_rate = db.Column(db.Float())
  property_management_fee = db.Column(db.Float())
  leasing_commission = db.Column(db.Float())
  insurance_cost = db.Column(db.Float())
  repair = db.Column(db.Float())
  cap_ex = db.Column(db.Float())
  acquisition_cost = db.Column(db.Float())
  disposition_cost = db.Column(db.Float())
  rent_growth = db.Column(db.Float())
  
  #
  down_payment = db.Column(db.Float())
  loan_interest_rate = db.Column(db.Float())
  expenses = db.Column(db.Float())
  closing_costs_misc = db.Column(db.Float())
  
  #
  history = db.Column(db.Text())
  block_villa_median = db.Column(db.Float())
  block_apartment_median = db.Column(db.Float())
  deal_average_price = db.Column(db.Float())
  list_average_price = db.Column(db.Float())
  occ_rate_long = db.Column(db.Float())
  occ_rate_airbnb = db.Column(db.Float())
  return_long = db.Column(db.Float())
  return_airbnb = db.Column(db.Float())
  
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
Beispiel #19
0
class Task(db.Model):
    class STATUS:
        COMPLETED = 'COMPLETED'
        IN_PROGRESS = 'IN_PROGRESS'

    id = db.Column(db.Integer(), primary_key=True)
    date = db.Column(db.DateTime())
    task = db.Column(db.String(255))
    user_id = db.Column(db.String(255))
    status = db.Column(db.String(255))
    
    def __init__(self, task, user_id, status):
        self.date = datetime.utcnow().date()
        self.task = task
        self.user_id = user_id
        self.status = status
    
    @staticmethod
    def get_latest_tasks():
        # import pdb;pdb.set_trace()
        user_to_task = {}

        result = db.engine.execute(
            """SELECT date, task, t.user_id, status from task t 
                INNER JOIN (SELECT user_id, max(date) as MaxDate from task group by user_id) tm 
                on t.user_id = tm.user_id and t.date = tm.MaxDate""")
        for t in result:

        
        # Task.query.join(subq, and_(Task.user_id == subq.user_id, Task.date == subq.date))
        

        # all_tasks = Task.query.filter(Task.date >= datetime.utcnow().date())
        # user_to_task = {}
        # for t in all_tasks:
            if t.user_id in user_to_task:
                user_to_task.get(t.user_id).append(dict(t))
            else:
                user_to_task[t.user_id] = [dict(t)]
       
        return user_to_task

    @staticmethod
    def get_tasks_for_user(user_id):
        return Task.query.filter_by(user_id=user_id)

    @property
    def serialize(self):
       """Return object data in easily serializeable format"""
       return {
           'date'       : self.date.strftime("%Y-%m-%d"),
           'task'       : self.task,
           'user_id'    : self.user_id,
           'status'     : self.status,
       }
Beispiel #20
0
class ExtraFile(db.Model):
  __bind_key__ = 'wehomeproperty'
  '''for user or property extra file'''
  id = db.Column(db.Integer(), index=True, primary_key=True)
  # user_id or property_id
  foreign_id = db.Column(db.Integer(), nullable=False, index=True)
  file_id = db.Column(db.Integer())
  # 0 => user inspection report 1 => user contract file
  type = db.Column(db.Integer())
  url = db.Column(db.String(255))
  # 0 => discard 1 => used
  is_active = db.Column(db.Boolean(), default=True, index=True)
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
  
  def __init__(self, foreign_id, file_id, type, url, is_active=1):
    self.foreign_id = foreign_id
    self.file_id = file_id
    self.type = type
    self.url = url
    self.is_active = is_active
Beispiel #21
0
class Neighborhood(db.Model):
  __bind_key__ = 'wehomeproperty'
  id = db.Column(db.Integer(), index=True, primary_key=True)
  name = db.Column(db.String(255))
  region_id = db.Column(db.Integer(), index=True, unique=True)
  city = db.Column(db.String(255))
  state = db.Column(db.String(255))
  
  past_rent_ratio = db.Column(db.Float())
  past_increase_ratio = db.Column(db.Float())
  forecast_rent_ratio = db.Column(db.Float())
  forecast_increase_ratio = db.Column(db.Float())
  
  home_value_rent_price_history = db.Column(db.Text())
  home_value_sale_price_history = db.Column(db.Text())
  
  market_health_index = db.Column(db.Float())
  
  rent_final_point = db.Column(db.Float())
  zestimate = db.Column(db.Float())
  
  neighborhood_score = db.Column(db.Float())
  area_geoid = db.Column(db.Integer(), index=True)
  
  # for IRR
  hoa = db.Column(db.Float())
  property_tax = db.Column(db.Float())
  vaccancy_rate = db.Column(db.Float())
  property_management_fee = db.Column(db.Float())
  leasing_commission = db.Column(db.Float())
  insurance_cost = db.Column(db.Float())
  repair = db.Column(db.Float())
  cap_ex = db.Column(db.Float())
  acquisition_cost = db.Column(db.Float())
  disposition_cost = db.Column(db.Float())
  rent_growth = db.Column(db.Float())
  
  properties = db.Column(LONGTEXT())
  created_at = db.Column(db.DateTime(), default=datetime.datetime.now)
  updated_at = db.Column(db.DateTime(), default=datetime.datetime.now, onupdate=datetime.datetime.now)
Beispiel #22
0
class ChallengeFollower(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    challenge_instance_id = db.Column(db.Integer(),
                                      db.ForeignKey("challenge_instance.id"),
                                      nullable=False)
    challenge_instance = db.relationship('ChallengeInstance')
    follower_id = db.Column(db.Integer(),
                            db.ForeignKey("user.id"),
                            nullable=False)
    follower = db.relationship('User')
    date_joined = db.Column(db.DateTime(), nullable=False)

    def __init__(self, challenge, follower):
        self.challenge_instance = challenge
        self.follower = follower
        self.date_joined = datetime.datetime.now()
Beispiel #23
0
class ChallengeInstance(db.Model):
    id = db.Column(db.Integer(), primary_key=True)

    challenge_id = db.Column(db.Integer,
                             db.ForeignKey("challenge.id"),
                             nullable=False)
    challenge = db.relationship('Challenge')

    date_created = db.Column(db.DateTime(), nullable=False)

    creator_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=True)
    creator = db.relationship('User')

    def __init__(self, challenge, creator):
        self.challenge = challenge
        self.date_created = datetime.datetime.utcnow()
        self.creator = creator
Beispiel #24
0
class Message(db.Model):
    """
    Model for messages in chatroom

    Attributes:
    -----------------
    id : int
        message id in db
    user_id : int
        user_id of sender in db
    room_id : int
        room_id of the message existing in db
    sendTime : str
        message sent time from db
    content : str
        raw message
    """
    id = db.Column(db.Integer(), primary_key=True)
    user_id = db.Column(db.Integer())
    room_id = db.Column(db.Integer())
    sendTime = db.Column(db.DateTime())
    content = db.Column(db.String(255))

    def __init__(self, user_id, room_id, sendTime, content):
        """
        Initialize model Message
        """
        self.user_id = user_id
        self.room_id = room_id
        self.content = content
        self.sendTime = sendTime

    def get_messages_from_room_id(room_id):
        """
        Get function for message using room_id

        :return: return messages in the room
        """
        return Message.query.filter_by(room_id=room_id).all()

    def delete_messages_from_room_id(room_id):
        """
        Delete messages using room_id
        """
        Message.query.filter_by(room_id=room_id).delete()
        db.session.commit()
Beispiel #25
0
class Event(db.Model, DictSerializable):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(255))
    start_date = db.Column(db.DateTime())
    guid = db.Column(db.String(255), unique=True, index=True)
    is_open = db.Column(db.Boolean())

    outcomes = db.relationship('Outcome', backref='event', lazy='joined')

    def __init__(self, name, start_date, guid):
        self.name = name
        self.start_date = start_date
        self.is_open = True
        self.guid = guid

    def close_outcomes(self):
        for outcome in self.outcomes:
            outcome.close_date = datetime.datetime.now()
            outcome.is_open = False

    @staticmethod
    def get_events():
        events = Event.query.filter(Event.start_date >= datetime.datetime.now()) \
            .outerjoin(Event.outcomes) \
            .order_by(Event.start_date).all()
        serialized_events = []
        for event in events:
            outcomes = []
            for outcome in event.outcomes:
                outcome_serialized = outcome.full_serialize()
                # del outcome_serialized['event']
                outcomes.append(outcome_serialized)
            serialized = Event.serialize(event)
            serialized['outcomes'] = outcomes
            serialized_events.append(serialized)
        return serialized_events

    @staticmethod
    def get_outcomes(event_id):
        event = Event.query.get(event_id)
        if event:
            return event.outcomes
        else:
            return None
Beispiel #26
0
class ChallengeParticipant(db.Model):
    id = db.Column(db.Integer(), primary_key=True)

    challenge_instance_id = db.Column(db.Integer(),
                                      db.ForeignKey("challenge_instance.id"),
                                      nullable=False)
    challenge_instance = db.relationship('ChallengeInstance')

    participant_id = db.Column(db.Integer(),
                               db.ForeignKey("user.id"),
                               nullable=False)
    participant = db.relationship('User')

    date_joined = db.Column(db.DateTime(), nullable=False)

    def __init__(self, challenge, participant):
        self.challenge_instance = challenge
        self.participant = participant
        self.date_joined = datetime.datetime.now()
Beispiel #27
0
class Challenge(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(200), nullable=False)  # no empty names please
    desc = db.Column(
        db.Text(),
        nullable=False)  # we want to know what it is beyond a name too
    date_created = db.Column(db.DateTime(), nullable=False)
    preview_uri = db.Column(db.Text())  #preview URI
    listing_uri = db.Column(db.Text())  #listing URI

    creator_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=True)
    creator = db.relationship('User')  # who?

    def __init__(self, name, desc, preview_uri, listing_uri, creator):
        self.name = name
        self.desc = desc
        self.date_created = datetime.datetime.utcnow()
        self.preview_uri = preview_uri
        self.listing_uri = listing_uri
        self.creator = creator
Beispiel #28
0
class Request(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    asal = db.Column(db.String(255))
    tujuan = db.Column(db.String(255))
    time = db.Column(db.DateTime())
    color = db.Column(db.Integer)

    @staticmethod
    def get_all_requests():
        requests = Request.query.all()
        requests = {
            x.id: {
                'user_id': x.user_id,
                'asal': x.asal,
                'tujuan': x.tujuan,
                'time': x.time,
                'color': x.color
            }
            for x in requests
        }
        return requests
Beispiel #29
0
class Escrow(db.Model, DictSerializable):
    id = db.Column(db.Integer(), primary_key=True)
    offer_id = db.Column(db.Integer(), db.ForeignKey('offer.id'))
    bid_id = db.Column(db.Integer(), db.ForeignKey("bid.id"))
    wallet_id = db.Column(db.Integer(), db.ForeignKey('wallet.id'))
    comission = db.Column(
        db.Numeric(precision=BTC_PRECISION,
                   scale=(BTC_PRECISION - BTC_NUMERAL)))
    value = db.Column(
        db.Numeric(precision=BTC_PRECISION,
                   scale=(BTC_PRECISION - BTC_NUMERAL)))
    active = db.Column(db.Boolean())
    payout_date = db.Column(db.DateTime())
    incoming_hash = db.Column(db.String(255))

    def __init__(self, offer_id, wallet_id, bid_id, comission, value):
        self.offer_id = offer_id
        self.wallet_id = wallet_id
        self.bid_id = bid_id
        self.comission = comission
        self.value = value
        self.active = True
Beispiel #30
0
class ChallengeComment(db.Model):
    id = db.Column(db.Integer(), primary_key=True)

    challenge_instance_id = db.Column(db.Integer(),
                                      db.ForeignKey("challenge_instance.id"),
                                      nullable=False)
    challenge_instance = db.relationship('ChallengeInstance')

    comment = db.Column(db.String(500),
                        nullable=False)  #let's keep it short...

    commenter_id = db.Column(db.Integer(),
                             db.ForeignKey("user.id"),
                             nullable=False)
    commenter = db.relationship('User')

    date_created = db.Column(db.DateTime(), nullable=False)

    def __init__(self, challenge, comment, commenter):
        self.challenge_instance = challenge
        self.comment = comment
        self.commenter = commenter
        self.date_created = db.Column(db.DateTime(), nullable=False)