コード例 #1
0
ファイル: models.py プロジェクト: iamFIREcracker/strappon
class UserPromoCode(Base, ReprMixin):
    __tablename__ = 'user_promo_code'

    id = Column(String, default=uuid, primary_key=True)
    created = Column(DateTime, default=datetime.utcnow)
    updated = Column(DateTime,
                     default=datetime.utcnow,
                     onupdate=datetime.utcnow)
    user_id = Column(String, ForeignKey('user.id'), nullable=False)
    promo_code_id = Column(String, ForeignKey('promo_code.id'), nullable=False)
コード例 #2
0
ファイル: models.py プロジェクト: iamFIREcracker/strappon
class ActivePassengerPerk(Base, ReprMixin):
    __tablename__ = 'active_passenger_perk'

    id = Column(String, default=uuid, primary_key=True)
    created = Column(DateTime, default=datetime.utcnow)
    updated = Column(DateTime,
                     default=datetime.utcnow,
                     onupdate=datetime.utcnow)
    deleted = Column(Boolean, default=False, nullable=False)
    user_id = Column(String, ForeignKey('user.id'), nullable=True)
    perk_id = Column(String, ForeignKey('passenger_perk.id'), nullable=True)
    valid_until = Column(DateTime, nullable=False)

    perk = relationship('PassengerPerk', uselist=False, cascade='expunge')
コード例 #3
0
ファイル: models.py プロジェクト: iamFIREcracker/strappon
class Rate(Base, ReprMixin):
    __tablename__ = 'rate'

    id = Column(String, default=uuid, primary_key=True)
    drive_request_id = Column(String,
                              ForeignKey('drive_request.id'),
                              nullable=False)
    rater_user_id = Column(String, ForeignKey('user.id'), nullable=False)
    rated_user_id = Column(String, ForeignKey('user.id'), nullable=False)
    rater_is_driver = Column(Boolean, nullable=False)
    stars = Column(Integer, nullable=False)
    created = Column(DateTime, default=datetime.utcnow)
    updated = Column(DateTime,
                     default=datetime.utcnow,
                     onupdate=datetime.utcnow)
コード例 #4
0
ファイル: models.py プロジェクト: iamFIREcracker/strappon
class Driver(Base, ReprMixin):
    __tablename__ = 'driver'

    id = Column(String, default=uuid, primary_key=True)
    user_id = Column(String, ForeignKey('user.id'))
    car_make = Column(String)
    car_model = Column(String)
    car_color = Column(String)
    license_plate = Column(String)
    telephone = Column(String)
    hidden = Column(Boolean, default=False)
    active = Column(Boolean, default=True)
    created = Column(DateTime, default=datetime.utcnow)
    updated = Column(DateTime,
                     default=datetime.utcnow,
                     onupdate=datetime.utcnow)

    user = relationship('User', uselist=False, cascade='expunge')
    drive_requests = \
        relationship('DriveRequest', uselist=True, cascade='expunge',
                     primaryjoin=""
                     "and_(Driver.id == DriveRequest.driver_id,"
                     "DriveRequest.active == True)")

    @property
    def created_day(self):
        return self.created.date()
コード例 #5
0
ファイル: models.py プロジェクト: iamFIREcracker/strappon
class Payment(Base, ReprMixin):
    __tablename__ = 'payment'

    id = Column(String, default=uuid, primary_key=True)
    created = Column(DateTime, default=datetime.utcnow)
    updated = Column(DateTime,
                     default=datetime.utcnow,
                     onupdate=datetime.utcnow)
    drive_request_id = Column(String,
                              ForeignKey('drive_request.id'),
                              nullable=True)
    payer_user_id = Column(String, ForeignKey('user.id'), nullable=True)
    payee_user_id = Column(String, ForeignKey('user.id'), nullable=True)
    credits = Column(Integer, nullable=False)
    bonus_credits = Column(Integer, nullable=True)
    promo_code_id = Column(String, ForeignKey('promo_code.id'), nullable=True)
コード例 #6
0
ファイル: models.py プロジェクト: iamFIREcracker/strappon
class Passenger(Base, ReprMixin):
    __tablename__ = 'passenger'

    id = Column(String, default=uuid, primary_key=True)
    user_id = Column(String, ForeignKey('user.id'))
    origin = Column(Text)
    origin_latitude = Column(Float)
    origin_longitude = Column(Float)
    destination = Column(Text)
    destination_latitude = Column(Float)
    destination_longitude = Column(Float)
    distance = Column(Float, nullable=False, server_default=text('0'))
    seats = Column(Integer)
    pickup_time = Column(Time, nullable=True)
    pickup_time_new = Column('pickup_time_new', DateTime, nullable=True)
    matched = Column(Boolean, default=False)
    active = Column(Boolean, default=True)
    created = Column(DateTime, default=datetime.utcnow)
    updated = Column(DateTime,
                     default=datetime.utcnow,
                     onupdate=datetime.utcnow)

    user = relationship('User', uselist=False, cascade='expunge')
    drive_requests = \
        relationship('DriveRequest', uselist=True, cascade='expunge',
                     primaryjoin=""
                     "and_(Passenger.id == DriveRequest.passenger_id,"
                     "DriveRequest.active == True)")

    @property
    def created_day(self):
        return self.created.date()
コード例 #7
0
ファイル: models.py プロジェクト: iamFIREcracker/strappon
class Token(Base, ReprMixin):
    __tablename__ = 'token'

    id = Column(String, default=uuid, primary_key=True)
    user_id = Column(String, ForeignKey('user.id'))
    created = Column(DateTime, default=datetime.utcnow)
    updated = Column(DateTime,
                     default=datetime.utcnow,
                     onupdate=datetime.utcnow)
    user = \
        relationship('User', uselist=False, cascade='expunge')
コード例 #8
0
ファイル: models.py プロジェクト: iamFIREcracker/strappon
class DriveRequest(Base, ReprMixin):
    __tablename__ = 'drive_request'

    id = Column(String, default=uuid, primary_key=True)
    driver_id = Column(String, ForeignKey('driver.id'))
    passenger_id = Column(String, ForeignKey('passenger.id'))
    accepted = Column(Boolean, default=False)
    cancelled = Column(Boolean, default=False)
    active = Column(Boolean, default=True)
    response_time = Column(Integer, nullable=False, server_default=text('0'))
    offered_pickup_time = Column(DateTime, nullable=True)
    created = Column(DateTime, default=datetime.utcnow)
    updated = Column(DateTime,
                     default=datetime.utcnow,
                     onupdate=datetime.utcnow)

    driver = relationship('Driver', uselist=False, cascade='expunge')
    passenger = relationship('Passenger', uselist=False, cascade='expunge')

    @property
    def created_day(self):
        return self.created.date()
コード例 #9
0
ファイル: models.py プロジェクト: iamFIREcracker/strappon
class UserPosition(Base, ReprMixin):
    __tablename__ = 'user_position'

    id = Column(String, default=uuid, primary_key=True)
    archived = Column(Boolean, default=False, nullable=False)
    created = Column(DateTime, default=datetime.utcnow)
    updated = Column(DateTime,
                     default=datetime.utcnow,
                     onupdate=datetime.utcnow)
    user_id = Column(String, ForeignKey('user.id'), nullable=False)
    latitude = Column(Float, nullable=False)
    longitude = Column(Float, nullable=False)
    region = Column(String, nullable=False)

    user = relationship('User', uselist=False, cascade='expunge')
コード例 #10
0
ファイル: models.py プロジェクト: iamFIREcracker/strappon
class Feedback(Base, ReprMixin):
    __tablename__ = 'feedback'

    id = Column(String, default=uuid, primary_key=True)
    user_id = Column(String, ForeignKey('user.id'))
    message = Column(Text)
    created = Column(DateTime, default=datetime.utcnow)
    updated = Column(DateTime,
                     default=datetime.utcnow,
                     onupdate=datetime.utcnow)

    user = relationship('User', uselist=False)

    @property
    def created_day(self):
        return self.created.date()