def get_all_active_by_passenger(passenger_id): options = [joinedload_all('driver.user'), joinedload_all('passenger.user')] return [expunged(dr, DriveRequest.session) for dr in DriveRequest.query.options(*options). filter(User.deleted == false()). filter(DriveRequest.passenger_id == passenger_id). filter(DriveRequest.active == true())]
def get_by_id_and_driver_id(id, driver_id): options = [joinedload_all('passenger')] return expunged(DriveRequest.query. options(*options). filter_by(id=id). filter_by(driver_id=driver_id). filter_by(active=True). first(), DriveRequest.session)
def accept(driver_id, passenger_id): request = expunged(DriveRequest.query. filter_by(driver_id=driver_id). filter_by(passenger_id=passenger_id). filter_by(accepted=False). filter_by(active=True).first(), DriveRequest.session) if request: request.accepted = True return request
def cancel_by_passenger_id(id, passenger_id): request = expunged(DriveRequest.query. filter_by(id=id). filter_by(passenger_id=passenger_id). filter_by(active=True).first(), DriveRequest.session) if request: request.active = False request.cancelled = True return request
def get_unrated_by_driver_id(driver_id, user_id): options = [joinedload_all('driver.user'), joinedload_all('passenger.user')] return [expunged(dr, DriveRequest.session) for dr in DriveRequest.query.options(*options). filter(DriveRequest.driver_id == driver_id). filter(DriveRequest.accepted == true()). filter(DriveRequest.cancelled == false()). filter(DriveRequest.active == false()). filter(Passenger.matched == true()). filter(~exists().where(and_(Rate.drive_request_id == DriveRequest.id, Rate.rater_user_id == user_id)))]
def get_all_unmatched(): return [expunged(p, Base.session) for p in _get_all_unmatched()]
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)
def get_matched_by_id(id): return expunged( _get_matched_by_id(id, contains_eager('user')).first(), Base.session)
def get_all_by_user_id(user_id): return [expunged(t, Base.session) for t in _get_all_by_user_id(user_id)]
def get_user_promo_code_by_user_and_promo_code(user_id, promo_code_id): return expunged( UserPromoCode.query.filter(UserPromoCode.user_id == user_id).filter( UserPromoCode.promo_code_id == promo_code_id).first(), UserPromoCode.session)
def with_facebook_id(facebook_id): return expunged(_with_facebook_id(facebook_id).first(), User.session)
def get_all_expired(expire_after): return [expunged(p, Base.session) for p in _get_all_expired(expire_after)]
def get_all_active(): return [expunged(dr, DriveRequest.session) for dr in DriveRequest.query. filter(User.deleted == false()). filter(DriveRequest.active == true())]
def authorized_by(token_id): return expunged(_authorized_by(token_id).first(), Base.session)
def with_acs_id(acs_id): return expunged(_with_acs_id(acs_id).first(), User.session)
def get_all_unmatched_by_region(region): return [ expunged(p, Base.session) for p in _get_all_unmatched_by_region(region) ]
def get_all_active(): return [expunged(p, Base.session) for p in _get_all_active()]
def get_promo_code_by_name(name): return expunged( PromoCode.query.filter(PromoCode.name == name).filter( PromoCode.eligible_till >= dt.utcnow()).first(), PromoCode.session)
def get(id): return expunged(Passenger.query.options(joinedload('user')).\ filter(User.deleted == False).\ filter(Passenger.id == id).\ first(), Passenger.session)
def get(user_id): return expunged(_get(user_id).first(), User.session)