示例#1
0
def _authorized_by(token_id):
    return (Base.session.query(User).
            options(contains_eager(User.active_driver),
                    contains_eager(User.active_passenger),
                    contains_eager(User.position)).
            select_from(User).
            outerjoin(User.active_driver).
            outerjoin(User.active_passenger).
            outerjoin(User.position).
            join(User.token).
            filter(Token.id == token_id))
示例#2
0
def _get_all_unmatched_by_region(region):
    return (Base.session.query(Passenger).options(
        contains_eager('user')).select_from(Passenger).join(User).outerjoin(
            UserPosition).filter(User.deleted == false()).filter(
                Passenger.active == true()).filter(
                    Passenger.matched == false()).filter(
                        or_(UserPosition.region.is_(None),
                            UserPosition.region == region)))
示例#3
0
def _get_all_expired(expire_after):
    expire_date = datetime.utcnow() - timedelta(minutes=expire_after)
    return (Base.session.query(Passenger).options(
        contains_eager('user')).select_from(Passenger).join(User).filter(
            User.deleted == false()).filter(Passenger.active == true()).filter(
                Passenger.matched == false()).filter(
                    or_(
                        and_(Passenger.pickup_time_new == null(),
                             Passenger.created < expire_date),
                        and_(Passenger.pickup_time_new != null(),
                             Passenger.pickup_time_new < expire_date))))
示例#4
0
def _get_all_active():
    return (Base.session.query(Passenger).options(
        contains_eager('user')).select_from(Passenger).join(User).filter(
            User.deleted == false()).filter(Passenger.active == true()))
示例#5
0
def get_matched_with_requests_by_id(id):
    return expunged(
        _get_matched_by_id(
            id, contains_eager('user'),
            contains_eager('drive_requests')).join(DriveRequest).first(),
        Base.session)
示例#6
0
def get_matched_by_id(id):
    return expunged(
        _get_matched_by_id(id, contains_eager('user')).first(), Base.session)