def list_user_activities_for_prediction(gym, date): return session.query(UserActivity).join( Weather, UserActivity.weather_id == Weather.id).filter( extract('dow', UserActivity.start_date) == date.isocalendar()[2]).filter( UserActivity.gym_id == gym.id).order_by( desc(UserActivity.start_date))
def list_user_activities(gym=None, date=None): q = session.query(UserActivity) if gym: q = q.filter(UserActivity.gym_id == gym.id) if date: q = q.filter(cast(UserActivity.start_date, Date) == date) return q
def list_users(country=None, exclude=None, term='', offset=0, limit=10): q = session.query(User).filter(term in User.full_name) if country: q = q.filter(User.country == country) if exclude: q = q.filter(~User.id.in_(exclude)) return q.offset(offset).limit(limit)
def get_favorite_weekdays_for_user(user): """ Get the user's favorite weekdays to go to the gym. Ordered from most favorite to least favorite. """ return session.query(UserActivity.weekday)\ .filter(UserActivity.user == user)\ .order_by( func.count(UserActivity.weekday).desc())\ .group_by(UserActivity.weekday)
def list_users(country=None, exclude=None, term='', offset=0, limit=10): q = session.query(User).filter( term in User.full_name) if country: q = q.filter(User.country == country) if exclude: q = q.filter(~User.id.in_(exclude)) return q.offset(offset).limit(limit)
def get_user_by_email(email): return session.query(User).filter(User.email == email).one()
def get_device(user, id_): return session.query(Device).filter(Device.id == id_, Device.user == user).one()
def get_user_activity(id_): return session.query(UserActivity).get(id_)
def get_user(id_): return session.query(User).get(id_)
def list_gyms(): return session.query(Gym)
def list_users_in_gym(gym_id): return session.query(User).join(UserActivity, User.id == UserActivity.user_id).filter( UserActivity.end_date == None, UserActivity.gym_id == gym_id)
def list_music_preferences_for_users_in_gym(user_ids=[]): return session.query(MusicPreference).filter( MusicPreference.user_id.in_(user_ids))
def list_music_preferences(user): return session.query(MusicPreference).filter( MusicPreference.user_id == user.id)
def get_music_preference(id_): return session.query(MusicPreference).get(id_)
def get_sport_schedule_by_name(sport_schedule_name): return DBSession.query(SportSchedule).filter( SportSchedule.name == sport_schedule_name).one_or_none()
def get_sport_schedule(id_): return DBSession.query(SportSchedule).get(id_)
def list_sport_schedules(user): return DBSession.query(SportSchedule).filter(SportSchedule.user == user)
def get_client(client_id, client_secret): return session.query(OAuthClient).filter( OAuthClient.client_id == client_id, OAuthClient.client_secret == client_secret).one()
def get_gym(id_): return session.query(Gym).get(id_)
def get_token_by_token(access_token): return session.query(OAuthAccessToken).filter( OAuthAccessToken.access_token == access_token).one()
def get_gym_by_MAC_address(MAC_address): return session.query(Gym).filter( Gym.MAC_address == MAC_address).one_or_none()
def get_weather(id_): return session.query(Weather).get(id_)
def get_devices(user): return session.query(Device).filter(Device.user == user)
def list_users_in_gym(gym_id): return session.query(User).join( UserActivity, User.id == UserActivity.user_id).filter( UserActivity.end_date == None, UserActivity.gym_id == gym_id)
def get_device_by_device_address(device_address): return session.query(Device).filter( Device.device_address == device_address).one()